2017-05-05 44 views
-3

我希望能夠獲取音樂文件,分析它,然後讓燈亮起音樂。唯一的問題是,在我製作的電路板上,使用Processing對運行的代碼有很大的延遲,並且它可能存在明顯的10 ms差距。我需要一種將程序帶回到Arduino的方式,或者以某種方式降低響應時間。有任何想法嗎?在C++中是否有類Arduino與處理中的Minim類相似?

+0

爲什麼這個標籤都是C++和java? – EJoshuaS

+0

@Matthew Bocharnikov分享你的方法。也許延遲會變得更加明顯,並且更容易直接跳到問題的核心。 (關於主題,我不認爲我能感知到10ms延遲:D(因爲屏幕上的聲音或圖像),因此可能是使用感知限制來減少計算的機會;))。 –

+1

@EJoshuaS默認情況下,Processing主要是一個具有最小IDE的java庫的集合。 Arduino主要是用於微控制器開發的C++庫集合。對於藝術家/設計師/設計師來說,這兩種方法都可以更容易地進行編碼。也許在這個問題的背景下獲得Arduino/Processing通信涉及幕後的java/C++。個人處理/ arduino會更好地作爲標籤,但我的直覺是馬修是使用stackoverflow的新手 –

回答

0

目前還不清楚你是如何處理串行通信和瓶頸將開始出現(音頻處理/串行通信/兩者/其他/等)。無論如何,如果你想單獨對Arduino進行完善的分析,這將是一個挑戰,因爲你將擁有更少的資源來處理8位微控制器上的FFT數字運算。

我會去通過兩種方式:

  1. 做聲音分析儘可能高效的計算機上,因此該軟件(處理)只發送少量的數據到固件(其映射到燈光的Arduino )(只需點亮數據,就需要知道基礎)。如果你有一個可笑的燈光數量,你可能想要使用串行轉換器,而不是處理更高的波特率,但在大多數情況下,你不應該需要。

  2. 在Arduino上做一個最小的聲音分析。如果你有正確的光照動畫,只需使用幅度和一些緩動功能就可以使聲音產生反應,而無需進入FFT/MFC或任何更漂亮的動畫。如果您真的想要對頻率響應頻率考慮使用7頻段頻率分析器芯片,如MSGEQ7。有Arduino突破,使更容易。

相關問題