2012-03-14 35 views
0

剛開始一個新節目,你們有什麼想法如何在歌曲的特定時間得到一首歌曲的確切頻率。就像導入歌曲然後每0.01秒一樣,它會將歌曲的頻率存儲在數組中?有任何想法嗎?只是不知道如何獲得一首歌曲的頻率並導入一首歌來測試。java音樂獲取歌曲的波長(頻率)?

這個項目的重點是如果歌曲的頻率很高,屏幕會變成藍色,如果它的下方紅色等等,那就是爲什麼我想要頻率,所以我知道音符。

+0

我會說這取決於歌曲的格式。 – 2012-03-14 02:43:51

+0

我知道很多次它是由歌曲的有多少內存而不是秒,所以我會按字節或秒。打開任何想法。 – 2012-03-14 02:44:07

+0

如果它是一個MP3?或者,我可以將其轉換爲任何類型的可能,所以w.e是最容易做的 – 2012-03-14 02:44:47

回答

0

是的,得到聲音的「原始」形式,然後運行它通過一個快速傅立葉變換。然後你必須設計一個算法來挑選出峯值。

你或許可以使用自相關,但是有開源的FFT算法很容易獲得,但我懷疑你很容易找到自相關算法。

+0

thx你知道任何好的 我發現:一對夫婦是::: ::::: http://www.ee.columbia.edu/~ronw/code/MEAPsoft/doc/html/FFT_8java-source.html ::::::或http://introcs.cs.princeton。 EDU/JAVA/97data/FFT.java.html – 2012-03-14 03:58:52

相關問題