wav 与 pcm 互转

语音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)

你可能感兴趣的:(ASR,sre)