语音识别时指定采样率 16k,本文记录使用 python 实现音频采样率改变的过程。
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) |
|---|