2013-12-22 158 views
2

我目前正在製作一個類似於Audiosurf的遊戲。我試圖在每秒鐘找到音頻文件的頻率(如.mpg3或.wav)。根據價值我會建立這個級別。我一直在做這方面的大量研究。我有一種方法來獲取音頻文件中的樣本,我使用統一引擎來製作這個遊戲。我正在考慮每秒將樣本分成樣本(使用傳輸速率),然後對每個樣本進行FFT,然後在每個樣本中找到最高頻率。我在正確的道路上嗎?任何人都可以提出任何建議,或者如果我不在正確的道路上,任何人都可以糾正我?任何幫助,將不勝感激。從音頻文件中查找每秒鐘的頻率

+1

「音頻文件的頻率」沒有意義,真的。你的文件是否只包含一個正弦波? –

回答

3

您在FFT部分的正確路徑上並將您的樣品分成兩個部分。這裏是一個庫:http://www.fftw.org/

它在哪裏變得毛茸茸的是選擇你的頻率,讓我告訴你蝙蝠只是扔掉頻譜中的最高頻率,這是靜態的一部分。 也許您可以使用最低頻率來捕捉低音線,但低音鼓甚至大氣的聲音效果可能會在那裏干擾。

現在,您可以找到一些啓發式方法,讓您在歌曲的特定時刻選擇「頻率」,這很可能與音樂本身無關。你真的更適合在每個時刻重新使用頻率頻譜,而不僅僅是一個頻率。

編輯:傅里葉變換將爲您提供一個複數的數組,每個代表振幅作爲真實的分量和相位作爲它的bin的虛部。

+0

「靜態部分」 - 通常會出現交叉頻譜噪聲和頻譜泄漏。沒有bin會被零值... –

+1

我的意思是從音樂的角度來看,我在工作室發現通常最高頻率的諧波與非平凡的振幅仍然不是音樂,而只是來自錄音的背景噪音情況。 – MickLH

+0

謝謝你的回覆。我一直在做更多的研究,並且從fft中找到了箱子和真實和想象的結果。有人可以解釋這些嗎?另外我發現爲了得到一個頻率爲sqrt(real * real + imaginary * imaginary),這是什麼意思? – user3127208