我有興趣將Linux和OS X系統用作數字樂器,用於實驗目的。C++將音頻數據發送到Linux和Mac OS X上的揚聲器輸出
我想知道,向3.5mm音頻輸出發送一組數字數據(它描述了一段音頻)的可能方法是什麼。 (所以當然可以使用一些揚聲器播放。)
我的要求是,這可以用C++來完成,因爲我需要實時生成音頻樣本。 (Python可能不會削減它。)理想情況下,我想要做這個跨平臺,但對做這個窗口不太感興趣。
的想法是做類似:
1:設置輸出模式44100KHz,24位單聲道(L & R)。 2:生成44100個有符號24位整數的數組。 3:告訴電腦播放XYZ秒/數組中的數據樣本,從樣本編號XYZ開始。
在Arduino之類的東西上很容易做到這一點。 (也可用C++編程)對於那些熟悉的人,您可以直接使用數字輸出引腳,或者爲了更復雜的東西,可以構建一個簡單的子板,它可以正確修改您的信號,使其成正弦曲線,負電壓擺動。 (而不僅僅是積極的。)
我想我需要的東西就像OpenAL,據我所知它就像OpenGL一樣。我似乎無法找到關於它的很多信息。似乎它不再被開發,並且已經使用了好幾年。我猜是有另一種選擇?
我想最棘手的部分是,你在實時提供數據,不排隊不起來。 OpenAL是基於緩衝區的,而不是基於文件的,所以假設你可以足夠快地提供緩衝區,你應該可以。這是我看到的唯一風險。 –
好的,非常感謝我在考試後對它進行調查。 – user3728501