想对动物的叫声做一下频谱分析,正好手边有爱国者的一款MP3可以拿来录音,虽然录音质量很差,分辨率只有4位,采样率只有8K。但是分析时出了问题,这个MP3的wav文件不能直接导入到 MATLAB中,而Windows自带的Sound Recorder录音机的WAV却毫无问题。
后来发现这两个wav的文件头不一样。我用下面的方法解决这个问题:
后来发现这两个wav的文件头不一样。我用下面的方法解决这个问题:
(1)用Windows附件中的Sound Recorder打开爱国者的录音WAV文件,选择另存为,在Format中选择参数PCM,8KHz,8bit,单声道Mono,假定文件名为aigo.wav;
(2) 用Sound Recorder录一个文件,以相同的格式保存,如pc.wav;
(3)用十六进制编辑软件(如
PSPad,A.X.E.等)打开这两个文件,在pc.wav中找到fact这四个字符,注意在aigo.wav中也有这几 个字符,只是位置不一样。用pc.wav中fact前面的内容覆盖aigo.wav中fact前面的内容。保存之后就可以了。
我用的爱国者mp3录音的精度是4bit,而第一步中转换到8bit,对数据的影响应该不大。