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