2013-04-17 22 views
-3

這是我計劃上大學的項目,我有2個月的時間。我想在Java Swing中製作DJ音樂混合軟件(如Virtual DJ),這有可能嗎?

下面列出了我需要的四件主要事情。

  1. Virtual DJ軟件的交叉淡入淡出功能。

    基本上,將會有2個甲板(音樂播放器),並且會有兩個甲板通用的音量缺口。卷缺口的功能,下面給出。

    考慮,就離開了我們有甲板和右側,我們有平臺B

    如果量缺口被拖到從左至右

    {慢慢慢慢卷左側甲板上的淡出,平行右邊B音量的體積淡入}

  2. 識別歌曲的BPM(每分鐘節拍)。

  3. 根據BPM,歌曲的速度可以使用音量類型按鈕進行調整。

  4. 創建歌曲的視覺波形。

希望你明白我在說什麼。所以,如果有可能2個月內作出,那麼請幫我找到合適的音頻庫,它可以幫助我在做這些4件事情

回答

0

是的,你可以做到這一切在Java中,從理論上講,但你會發現它並不那麼容易。有沒有很多庫來幫助你,我想你會發現2個月期限棘手的,如果你是剛開始:

  1. 淡入淡出是一個簡單的操作。你可以學會自己做這個。

  2. 識別歌曲的速度可能是最棘手的事情。我不知道可以做到這一點的Java庫。您可以通過啓動一個單獨的進程,或使用JNI使用C庫Aubio無論是。

  3. 可以使用SoundTouch調整音高偏移和速度。我相信有幾個Java實現。

  4. 你將不得不這樣做自己。對此,還有其他一些問題。例如,見我回答這個問題:How can I draw sound data from my wav file?

這些任務中的任何一個都可能被視爲一個簡單的大學項目不夠好,尤其是如果這是一個前奏或中級課程。

+0

哇這樣一個快速的回覆.. thnx很多.. :) –

+0

儘管當然可以在Java中實現所有這些,但爲什麼Java從未用於音頻軟件的商業用途有很多真正的原因。 要求2很難從第一原理做。如果你真的想燒2個月,查看關於*發現檢測的學術論文* - 或者使用[Echo Nest](http://echonest.com)。 要求3很難做到很好,除非你對DSP很好。有商業圖書館可以做到這一點。不過,用Java實現。 – marko

+0

Marko,能不能幫我找到開源的lib ..? –