我需要转换语音样本并将其记录到数据库中。我对数字信号处理完全陌生。
最终,目标是从语音样本中找出异常值。但要这样做,我需要获得频率和赫兹。但我不知道从哪里开始。
仅供参考我了解大多数编程语言,Java,Python,Node和Ruby。
答案 0 :(得分:1)
有几种方法可以将时间序列分解为其频率。作为起点,我建议阅读一些关于SciPy库的文档,特别是scipy.signal,它是SciPy中的信号处理工具箱。
对于信号频率的简单分析,我喜欢使用welch方法,如下所述:https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.signal.welch.html。 因此,给定采样率为Fs的信号x,您可以使用pwelch方法获得每个频率仓的功率,如下所示(python 3x):
int i;
for( int a:i );
您应尝试使用可选参数进行播放,具体取决于数据结构和所需的功率谱密度分辨率。例如:
from scipy import signal
decomposed = signal.welch(x, fs = Fs)
# Output is a tuple with frequency bins and the power at each bin