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])
这段代码主要实现了将PCM音频文件转换为WAV格式的功能。通过`gen_wav`函数遍历指定目录下的PCM文件,创建对应的WAV文件。另外,`pcm2wav`函数用于将单个PCM文件转换为WAV,并且可以分离音频通道,保存为单独的WAV文件。
6248

被折叠的 条评论
为什么被折叠?



