import wave
import os
import wave
import numpy as np
def gen_wav(filepath):
wavelist=[]
filenames=os.listdir(filepath)
for filename in filenames:
print(filename)
name,category=os.path.splitext(filepath+filename) #分解文件扩展名
# name,category=os.path.splitext(filename) #分解文件扩展名
if category=='.pcm': #若文件为wav音频文件
print(name+'.wav')
with open(filepath+filename, 'rb') as pcmfile:
pcmdata = pcmfile.read()
output = wave.open(name+'.wav', 'wb')
output.setparams((1, 2, 32000, 0, 'NONE', 'NONE'))
output.writeframes(pcmdata)
output.close()
filepath="/Users/anker/Documents/2_Speech_data/anker设备实际录音/3382/Stage1/Katar/键盘 1hour/"
gen_wav(filepath)
2.
import scipy.io.wavfile as wav
import wave
def pcm2wav(pcm_file, wav_file, channels=6, bits=16, sample_rate=48000):
pcmf = open(pcm_file, 'rb')
pcmdata = pcmf.read()
pcmf.close()
if bits % 8 != 0:
raise ValueError("bits % 8 must == 0. now bits:" + str(bits))
wavfile = wave.open(wav_file, 'wb')
wavfile.setnchannels(channels)
wavfile.setsampwidth(bits // 8)
wavfile.setframerate(sample_rate)
wavfile.writeframes(pcmdata)
wavfile.close
for i in range (1,4):
pcm2wav(str(i) + ".pcm", str(i)+".wav")
sr, signal = wav.read(str(i) + ".wav")
wav.write(str(i)+"_mic.wav", sr, signal[:,0])
wav.write(str(i)+"_ref.wav", sr, signal[:,4])