MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   如何在Matlab中删除wavfile的标头 (https://www.labfans.com/bbs/showthread.php?t=26669)

poster 2019-12-14 20:46

如何在Matlab中删除wavfile的标头
 
我需要删除wave文件的前1024个字节。我尝试这样做,但我的wavfile损坏/失真:

wavFile = fopen(fullFileName, 'r'); % Open file for reading fseek (wavFile, 1024, -1);% Skip past header, which is 1024 bytes long. wF = fread (wavFile, inf, 'int16');% 16-bit signed integers wF = wF(:)'; newWavFile = fopen(strcat('new_',fileNames(fileNo).name), 'w+');% Open file for reading fwrite(newWavFile,wF); fclose(wavFile); 可能是什么问题?



[B]回答:[/B]

我可以设法删除标头并通过以下方式纠正失真:

wavFile = fopen(fullFileName, 'r');% Open file for reading fseek (wavFile, 1024, -1);% Skip past header, which is 1024 bytes long. wF = fread (wavFile, inf, 'int16');% 16-bit signed integers wF = wF(:)'; wF = 0.8*wF/max(abs(wF)); newWavFile =strcat('1_',fileNames(fileNo).name);% Open file for reading wavwrite(wF,16000,16,newWavFile);

[url=https://stackoverflow.com/questions/5369762]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 23:17

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.