欲知更多,请关注公众号:音频探险记
LPC
线性预测系数的基本思想:由于语音样点之间存在着相关性,那么当前点/未来点可以用过去的p个样本点进行预测,即
其中就是要求的LPC,P表示预测阶数。
好处:可以得到声道模型及其模型参数的方法,广泛用于语音识别以及语音合成中。
- import librosa
- import python_speech_features
- import soundfile as sf
- import numpy as np
- def lpc(y, order):
- dtype = y.dtype.type
- ar_coeffs = np.zeros(order + 1, dtype=dtype)
- ar_coeffs[0] = dtype(1) # 1.0
- ar_coeffs_prev = np.zeros(order + 1, dtype=dtype)
- ar_coeffs_prev[0] = dtype(1)
- # 前向和后向的预测误差
- fwd_pred_error = y[1:]
- bwd_pred_error = y[:-1]
- den = np.dot(fwd_pred_error, fwd_pred_error) + np.dot(bwd_pred_error, bwd_pred_error)
- for i in range(order):
- if den <= 0:
- raise FloatingPoint