使用librosa.pyin提取语音基频(f0)不全,求参数调整及预处理方案
问题:librosa.pyin无法提取语音开头的全部基频(f0)
当前实现与环境
采样率sr为22050,使用librosa.pyin接口提取基频,核心代码如下:
fmin=librosa.note_to_hz('C0') fmax=librosa.note_to_hz('C7') f0, voiced_flag, voiced_probs = librosa.pyin(y, fmin=fmin, fmax=fmax, pad_mode='constant', n_thresholds = 10, max_transition_rate = 100, sr=sr)
音频相关可视化
原始音频波形:

包含基频、onset及onset强度的频谱图(可见开头部分未提取到任何基频):

功率频谱图:

关联的onset检测代码
times = librosa.times_like(o_env, sr=sr) onset_frames = librosa.onset.onset_detect(onset_envelope=o_env, sr=sr)
已尝试的方法
对音频进行压缩处理,但未解决开头基频提取缺失的问题。
需求
- 可调整的librosa.pyin参数建议
- 有效的音频预处理方法,以实现全部语音段的基频提取
- 了解影响基频提取成功率的关键因素
内容的提问来源于stack exchange,提问作者jmhead
相关产品推荐
相关产品推荐

