librosa.load 容易遇到的采样率问题
注意一个很容易弄错的地方,记录一下:
librosa.load(audio_path, sr=sample_rate)
,此函数的sr不传时,默认是 22050.
这个sr
参数指定时,不是指定重采样,而是告诉函数以 sample_rate 读取,比如如果原音频是 24k,sr=16000 时,那么读出来的音频是按照16k读取的,实际时长会变长。
所以一般更好的方式是,先传 None
,然后再重采样一下成自己想要的采样率,比如
audio, orig_sr = librosa.load(audio_path, sr=None)
# print('audio shape: ', audio.shape, 'orig_sr: ', orig_sr)
audio = librosa.resample(audio, orig_sr=orig_sr, target_sr=16000)