音频格式转换 .pcm 转为 .wav
import wave
# 输入的.pcm文件路径
pcm_file = "src/xf_mic_asr_offline/audio/vvui_deno.pcm"
# 输出的.wav文件路径
wav_file = "src/xf_mic_asr_offline/audio/output2.wav"
# 设置.wav文件的参数
sample_width = 2 # 采样位深度,以字节为单位,比如2表示16位
sample_rate = 16000 # 采样率,比如44100 Hz
channels = 1 # 通道数,比如2表示立体声 1表示单声道
# 打开.pcm文件进行读取
pcm_data = open(pcm_file, 'rb').read()
# 创建.wav文件并设置参数
with wave.open(wav_file, 'wb') as wav:
wav.setnchannels(channels)
wav.setsampwidth(sample_width)
wav.setframerate(sample_rate)
# 写入音频数据
wav.writeframes(pcm_data)
读取pcm音频文件的采样率和通道
import wave
# 打开PCM文件
pcm_file = wave.open('your_pcm_file.pcm', 'rb')
# 获取采样率和通道数
sample_rate = pcm_file.getframerate()
channels = pcm_file.getnchannels()
# 关闭PCM文件
pcm_file.close()
# 打印采样率和通道数
print("采样率: ", sample_rate)
print("通道数: ", channels) 68/10*16+68%10=104可