用Java访问声卡或OS合成器设备

时间:2009-01-13 16:47:06

标签: java synthesizer

当我尝试在Java(1.6.0)中列出Synthesizer设备时,我只得到一个设备 Java Sound Synthesizer 。我想在声卡中使用合成器或使用任何其他安装的合成器,例如。 Microsoft合成器。我怎么能这样做呢?如果没有内置此功能,是否有任何开源项目作为安装合成器驱动程序的前端?

2 个答案:

答案 0 :(得分:1)

我不相信java允许您指定要使用的安装合成器。 API通常每种类型只提供一个设备(合成器,发射器等),因此您将获得默认设置。我怀疑Windows下的java API实际上是使用控制面板中指定的默认MIDI设备。

答案 1 :(得分:1)

Frinika可以做到这一点,所以它可以得到答案。

编辑:在Java 1.5以上版本中,大多数OS Midi设备都会显示为可以使用MidiSystem.getMidiDeviceInfo()MidiSystem.getMididevice()访问的设备。

根据midi常见问题解答,没有很好的方法可以访问声卡Midi设备作为合成器,因为为每个声卡编写自定义驱动程序时出现问题,并从硬件获取信息没有Midi标准。

然而,硬件合成器通常会显示为可以发送事件的MidiDevice。 (http://www.jsresources.org/faq_midi.html#use_hw_synth)。

感谢Arcane指出我正确的方向。