文章目录
在此,总结tensorflow和pytorch中读取wav文件(生成pcm数据),以及重采样、调整dBFS、以SNR混合音频等常见wav语音文件处理程序。
ref
【torchaudio读取wav音频的使用方法】https://blog.csdn.net/qq_34755941/article/details/114934865
【SNR介绍】https://blog.csdn.net/u010637291/article/details/107234296
1. 读取wav文件 (–>pcm)
读取wav文件,得到pcm数据。
torchaudio
import torchaudio
data_pcm, sr1 = torchaudio.load(wav_file)
tensorflow.audio
from tensorflow import audio
wav_loader_data = tf.io.read_file(files)
wav_decoder_data = audio.decode_wav(wav_loader_data,
desired_channels=__decode_wav_desired_channels,
desired_samples=__decode_wav_desired_samples)
data_pcm = wav_decoder_data.audio[:, 0]
2. 保存pcm数据为wav文件
torchaudio
torchaudio.save(filepath='filename.wav',
src=mix_wav.unsqueeze(0),
sample_rate=fs)
3. 重采样
torchaudio
import torchaudio
# fs1 --> fs2
pcm_fs2 = torchaudio.transforms.Resample(orig_freq=fs1, new_freq=fs2)(pcm_fs1)
4. 调整语音dBFS
def scale_dBFS<