2017-10-12 62 views
0

我需要轉換語音樣本並將它們記錄到數據庫。錄製語音和分析頻率的最佳方式是什麼?

我對數字信號處理是全新的,我可以使用一些幫助。如果任何人都可以爲我舉手,這將非常感激。

最終,目標是從聲音樣本中找出異常值。但要做到這一點,我需要獲得頻率和赫茲。但我不知道從哪裏開始。

僅供參考我瞭解大多數編程語言,Java,Python,Node和Ruby。事實上,代碼示例是最受讚賞的。謝謝。

回答

1

有幾種方法可以將時間序列分解爲其頻率。作爲一個起點,我建議閱讀一些關於SciPy庫的文檔,特別是scipy.signal,它是SciPy中的信號處理工具箱。

爲了簡單分析一個信號的頻率,我喜歡使用welch方法,如下所述:https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.signal.welch.html。 因此,考慮到與採樣率fs信號x,您可以獲取使用pwelch方法在每個頻率上的功率,這樣的(蟒蛇3次):

from scipy import signal 
decomposed = signal.welch(x, fs = Fs) 

# Output is a tuple with frequency bins and the power at each bin 

你應該儘量使用可選參數打,取決於您的數據結構和功率譜密度的理想分辨率。例如:

decomposed = signal.welch(x, fs = Fs, nperseg = Fs*4, noverlap = Fs*2) 
相關問題