本文最后更新于:2024年5月7日 下午

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

读取wav文件

1
2
3
4
import scipy.io.wavfile as wav

# 打开音频文件
sample_rate, data = wav.read('test.wav')
  • 其中 sample_rate 为当前音频采样率,data 为音频数据。

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

我的目标是将其转换为 16000

转换采样率

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

1
2
3
4
5
from scipy.signal import resample

# 将采样率转换为 16K
new_rate = 16000
resampled_data = resample(data, int(len(data) * new_rate / sample_rate))

写入音频文件

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

完整代码

1
2
3
4
5
6
7
8
9
10
11
12
13
from scipy.signal import resample
import scipy.io.wavfile as wav
# 将采样率转换为 16K
new_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://www.zywvvd.com/notes/study/audio/change-audio-frame-rate/change-audio-frame-rate/


“觉得不错的话,给点打赏吧 ୧(๑•̀⌄•́๑)૭”

微信二维码

微信支付

支付宝二维码

支付宝支付

修改 wav 音频采样率
https://www.zywvvd.com/notes/study/audio/change-audio-frame-rate/change-audio-frame-rate/
作者
Yiwei Zhang
发布于
2023年6月20日
许可协议