2011-06-01 91 views
5

我希望能夠識別iOS應用程序中的特定聲音。我猜它基本上可以像語音識別一樣工作,因爲它相當模糊,但它只能用於1個特定的聲音。識別iOS上的特定聲音

我做了一些快速的FFT的東西超過一定的閾值來識別特定的頻率,只有當他們是獨奏(即,他們沒有其他的頻率包圍),所以我可以很容易地識別各個音調。我認爲這僅僅是這個的擴展,但是與聲音錄製的FFT數據集比較,並且比較音頻長度上的0.1秒塊。而且我還必須考慮幅度的變化,稍微調整一點,然後稍微考慮一下。

任何人都可以指向我,我可以用它來一起加速這一進程的任何預先存在的來源?我似乎無法找到任何可用的東西。或者說失敗了,關於如何開始這樣的事情的任何想法?

非常感謝

+0

您是否找到解決方案?我正在嘗試做類似的事情 - 在兩臺設備之間傳輸數據,使用音頻來表示數據,所以我只需要識別由已經存在於兩臺設備上的文件生成的特定聲音...... – 2017-01-24 11:37:24

回答

1

從您的描述,它不是完全清楚你想要做什麼。 什麼是「特定」的聲音?它有高背景噪音嗎? 什麼是特定的可識別特徵(例如音調,吸入性,音色...)? 你想對比哪些其他「聲音」? 你只是想匹配一個任意的聲譜與「模板聲音」? 你的聲音是打擊樂,旋律,演講,......?它是長,短...? 您希望最佳辨別度的頻率範圍是多少?這些功能是否隨時間變化?

沒有適用於一切的「通用」解決方案。語音識別本身相當複雜,並且不適用於抽象聲音,其可識別頻率不在例如MEL樂隊。

所以在最後,你離開了太多懸而未決的問題得到有用的答案。 唯一的建議基礎上,一些信息,我可以做如下:

 
For the template sound: 
1) Extract spectral peak positions from the power spectrum 
2) Measure the standard deviation around the peaks and construct a gaussian from it 
3) save the gaussians for later classification 

For unkown sounds: 
1) Extract spectral peak positions 
2) Project those points onto the saved gaussians which leaves you with z-scores of the peak positions 
3) With the computed z-scores you should be able to classify your template sound 

注:這是根據他們最強大的頻率,判別聲音非常粗略的方法。使用gaussians可以在最強大的頻率上稍稍改變空間。

+0

我有類似的要求,雖然我有更多的細節。我的背景噪音很低,我試圖在發生高噪音時拾取。我能想到的最好例子就是如果你想在暴風雨期間識別照明引人注意的(但不是在起泡的響亮水平)。噪音在一定程度上有所不同,但大體相同。我需要考慮左右聲道強度。你將如何去提取譜峯並構造高斯?識別它? – DogEatDog 2012-04-05 03:50:10

+0

對不起,延遲迴復。 由於您似乎只對振幅變化感興趣,因此只需一個簡單的閾值即可。通過測量所需的時間,您可以增加更多的魯棒性,直到幅度再次下降,然後將此信息用於閾值濾波器。 – pokey909 2012-06-18 18:22:06