我意识到这可能是相对利基,但也许这就是为什么这是好的问题无论如何.我正在寻找一个硬件多输入录音控制台(例如Alesis IO 26)来接收Adat lightpipe 8声道输入来进行信号处理.由于我还没有获得该设备并且需要弄清楚这是否可行(预算问题),我想问一下是否有人有任何经验来获取
Java中的所有这8个数据输入?我已经看过很多使用Javax.sound.sampled库录制声音的例子,但是我找不到任何超过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层)通常会使你无法做出严肃的多通道,高位深度,高采样率音频.