我是新的信号处理和试图计算不同的.wav文件的共振峰频率特征。
对于计算共振峰频率,我需要三个参数值:
我试图在python中使用librosa.core.lpc计算线性预测系数。它需要两个参数:
librosa.core.lpc(y, order)我有Y,但我不知道如何计算顺序,我有很多.wav文件,我必须设置顺序从所有文件中提取特性。如何确定所有wav文件的顺序来计算LPC?
接下来的两件事--根和角度--可以像这样简单地计算出来:
rts = numpy.roots(A)
rts = [r for r in rts if numpy.imag(r) >= 0]
angz = numpy.arctan2(numpy.imag(rts), numpy.real(rts))
# Get frequencies.
Fs = spf.getframerate()
frqs = sorted(angz * (Fs / (2 * math.pi)))提前谢谢你!
发布于 2020-04-30 16:34:05
LPC的使用顺序没有确切的科学依据,尽管有两条经验法则:
Fs=16000即16kHz,则将顺序设置为16。第一种方法似乎比较流行,例如在Mathworks页面上进行了描述。
关于优化的说明
与这个问题无关,但我忍不住对代码进行了两个小的修改,使其变得更加粗俗:
import numpy as np
import librosa
A = librosa.core.lpc(y, 12)
rts = np.roots(A)
rts = rts[np.imag(rts) >= 0]
angz = np.arctan2(np.imag(rts), np.real(rts))
frqs = angz * fs / (2 * np.pi)
frqs.sort()https://stackoverflow.com/questions/61519826
复制相似问题