修改 wav 音频采样率

2023-06-27 10:52:04 浏览数 (1)

语音识别时指定采样率 16k,本文记录使用 python 实现音频采样率改变的过程。

读取wav文件

1234

import scipy.io.wavfile as wav # 打开音频文件sample_rate, data = wav.read('test.wav')

  • 其中 sample_rate 为当前音频采样率,data 为音频数据。

例如我当前测试音频,sample_rate 为 : 48000

我的目标是将其转换为 16000

转换采样率

scipy.signal 模块的 resample() 函数可以转换采样率。

12345

from scipy.signal import resample # 将采样率转换为 16Knew_rate = 16000resampled_data = resample(data, int(len(data) * new_rate / sample_rate))

写入音频文件

12

resampled_data = resampled_data.astype('int16')wav.write('audio_resampled.wav', new_rate, resampled_data)

完整代码

12345678910111213

from scipy.signal import resampleimport scipy.io.wavfile as wav# 将采样率转换为 16Knew_rate = 16000# 打开音频文件sample_rate, data = wav.read('test.wav')resampled_data = resample(data, int(len(data) * new_rate / sample_rate))resampled_data = resampled_data.astype('int16')wav.write('audio_resampled.wav', new_rate, resampled_data)

文章链接: https://cloud.tencent.com/developer/article/2298181

0 人点赞