我意识到这可能是较适当位置,但也许这就是为什么这是个好问问无妨。我看到一个硬件多输入记录的控制台(如爱丽斯IO26)采取一Adat lightpipe8输入通道做信号处理。因为我还没有取得设备和必要工作,这是否是可行的(预算问题),我想问,如果任何人有任何经验攻所有这8输入数据Java?我已经看到了成吨的实例记录的声音使用内声音。抽样图书馆但我没找到任何信息上的多信道超过2.什么我感兴趣的是采样在8频道的个人作为单源来执行一些简单的DSP在他们身上。会的硬件设备被视为一个混合器?8频道被表示为8线?我希望我有我的术语的权利。

我将不胜感激,如果有人可以告诉我任何有关信息。谢谢!

有帮助吗?

解决方案

根据您运行的Java版本,运行的平台以及正在运行的声卡类型,可以在Java中实现多通道音频。有关详细信息,请参阅优秀的 Java Audio Faq 。我从来没有能够在所有平台上可靠地使用它。

如果你真的关心做强大的多声道音频,我建议使用C API,例如 PortAudio Juce PulseAudio

我和PortAudio以及Juce都有很好的运气。

要在Java中使用这些,您需要为C API创建 JNI 界面

这显然比使用javax.sound更有用,但它可以让您更好地控制所使用的音频硬件。根据我处理音频设备的经验,离硬件太远(即4层抽象而不是2层)通常会使你无法做出严肃的多通道,高位深度,高采样率音频。

其他提示

我已经实现了类似的Terratec卡级联到32个输入,当时唯一的库是Jsyn。

一旦你了解它,它就是一个非常好的图书馆。

http://www.softsynth.com/jsyn

我不确定是否还有其他任何有用的方法。

我只是增加了一个Java JNI包PortAudio.该计划是要保持这与PortAudio源。PortAudio支持的多频道的音频其中N大于2.

今天,9/3/12,JPortAudio是仍在阿尔法模式。到时候你读这个它可能是稳定的。

http://www.portaudio.com/docs/v19-doxydocs/java_binding.html

我无法直接回答javax.sound API是否适用于多渠道(但根据API文档应该如此)。

然而,我已经采用另一种方式进行使用Java的多声道音频处理,这也可能对您有用。我使用Jack(Jack Audio Connection Kit)将信号传入和传输到音频设备,然后使用JJack库来执行信号处理。 你没有提到你的目标操作系统。我在Linux下成功使用了这种方法。 AFAIR在途中有一个用于Jack的Windows端口。

侨, 榆树

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top