我意识到这可能是相对小众的,但这也许就是为什么无论如何都要问这个问题。我正在寻找一个硬件多输入录音控制台(例如 Alesis IO 26)来接收 Adat 光管 8 通道输入来进行信号处理。由于我还没有获得该设备,并且需要弄清楚这是否可行(预算问题),我想请问是否有人有在Java中利用所有这8个输入来获取数据的经验?我已经看过大量使用 Javax.sound.sampled 库录制声音的示例,但我找不到任何有关超过 2 个多通道的信息。我感兴趣的是对 8 个通道单独采样作为单声道源对它们执行一些简单的DSP。硬件设备是否会被视为一台混音器? 8 个通道可以表示为 8 条线吗?我希望我的术语是正确的。
如果有人能给我指出任何相关信息,我将不胜感激。谢谢!
多声道音频在 Java 中应该是可能的,具体取决于您运行的 Java 版本、运行的平台以及运行的声卡类型。看到优秀的Java 音频常见问题解答 http://www.jsresources.org/faq_audio.html更多细节。我从未能够在所有平台上可靠地使用它。
如果您真的关心制作强大的多通道音频,我建议使用 C API,例如音频端口 http://www.portaudio.com/, Juce http://www.rawmaterialsoftware.com/juce/, or 脉冲音频 http://www.pulseaudio.org/.
我在 PortAudio 和 Juce 上都非常幸运。
要在 Java 中使用它们,您需要创建一个JNI http://en.wikipedia.org/wiki/Java_Native_InterfaceC API 的接口。
这显然比仅使用 javax.sound 需要更多工作,但它使您可以更好地控制所使用的音频硬件。根据我处理音频设备的经验,距离硬件太远(即 4 层抽象而不是 2 层)通常会削弱您处理多通道、高位深度、高采样率音频的能力。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)