2012-05-31 23 views
13

什麼是檢測歌曲中人聲開始的最佳方式?我只需要主唱的開始時間。極端精確度是沒有必要的。速度更重要。檢測歌曲中歌聲的起始位置?

非常感謝任何論文或算法的線索(如果存在的話)。同時尋找關於哪種框架/語言適合於此的建議。

+0

它是人類的歌唱。 – Stpn

+2

你知道人類可以用他們的聲音做很大範圍的事情,包括Beatboxing,Growling,「正常」唱歌,喉嚨唱歌,甚至動物聲音模仿。所有這些可能發生在_song_期間,因此可能是_vocals_,或者不是。當然,這是一個有趣的問題,但請在你的問題中具體說明,並且[陳述你迄今爲止的研究成果](http://meta.stackexchange.com/a/128553/179891)。 – moooeeeep

+0

關於研究的有效評論。一旦我找到某個地方,我一定會更新。在從下面的答案得到反饋之前,我一直在考慮對人聲頻率進行音高檢測(從大約85Hz開始 - https://en.wikipedia.org/wiki/Voice_frequency )。但顯然,從下面的鏈接可以提供更多的洞察。就人聲而言,我對任何由人聲產生的聲音感興趣。 – Stpn

回答

7

*擾流板:答案是不低於*

因爲我打算做一些類似的,我做了關於這個問題我自己的一個小小的研究,並發現有一些確切的數字技術那可能會做到這一點。

我將列出參考文獻,並讓讀者自己決定這是否是正確的方法。這一切都與聲音音頻特徵提取有關,並在音頻數據中找到聲音特徵ARE。

你可以在這裏啓動,但它確實沒有任何地方引起,但可能是有用的,看看你是什麼到:)

http://en.wikipedia.org/wiki/Voice_activity_detection

然後,關於說話人識別的一些文章:

這裏有一個你需要知道的關於mel frequency cepstral coefficients(MFCC)特徵提取的引物。

http://www.speaker-recognition.org/navAlg.html

然後,例如,這樣的:

http://www.iccce.co.in/Papers/ICCCECE358.pdf

我知道,他們沒有直接導致解決您的問題,但至少你就可以掌握你將要處理的怪物的大小。

編輯:構架

我使用C#進行有關的東西,並在第一次我用卷我,自己的FFT算法,然後遷移到使用英特爾數學庫ILNumerics庫,後來就更換所有與fftw。

http://ilnumerics.net/(HM,它是在一個時間免費)

http://software.intel.com/en-us/articles/intel-mkl/英特爾數學核心函數

http://www.fftw.org/(一個簡單的網頁,但殘酷的性能)

編輯:新FFT引擎

因爲我將一些代碼移植到了android上,所以我有一個很好的工作經驗,可以做一些認爲不可能的事情 - 比FFTW更快的FFT庫:FFTS。我對他的魔法的理解是有限的,但他使用各種處理器架構的codelet,並且勝過每個庫。

0

檢查信號功率對於流行音樂無濟於事。這是因爲當代流行音樂被高度壓縮。這意味着音頻壓縮器應用於製作過程的多個階段,使歌曲看起來更響亮。有關更多信息,請參閱術語「響度戰爭」。例如,請參閱Caty Perry的歌曲「煙花」。整首歌曲的音量水平幾乎是不變的。

+0

這個評論不應該是一個答案。 –

+0

@ Pier-alexandreBouchard因爲這個原因,在那裏有一個向下的箭頭:) – AndyPerfect

+0

如何downvote當他沒有任何代表:) –