wav 与 pcm 互转
2021-09-26 10:40 dreamboy2000 阅读(2157) 评论(0) 编辑 收藏 举报语音wav转pcm可以用ffmpeg工具,也可以自己写,主要是要了解pcm和wav的格式以及头信息的: pcm 是没有头信息的,wav有44字节的头文件,所以去掉44字节的头文件就okay了
1 import os 2 import numpy as np 3 f = open("sw02725-A_018202-018583#sw02141-B_013798-014064.wav") 4 f.seek(0) 5 f.read(44) 6 data = np.fromfile(f, dtype=np.int16) 7 data.tofile("test.pcm")
PCM转wav就比较简单了,有wave库, 可以直接加头信息
1 imprort wave 2 import os 3 4 f = open(pcm_file,'rb') 5 str_data = f.read() 6 wave_out=wave.open(wav_file,'wb') 7 wave_out.setnchannels(1) 8 wave_out.setsampwidth(2) 9 wave_out.setframerate(8000) 10 wave_out.writeframes(str_data)