What can I do if no MIDI device can be found?

Depending on your platform, the names of the available MIDI devices can vary. This is true even between different Windows platforms. For example, the standard Windows MIDI device is called "Microsoft GS Wavetable SW Synth" on Windows XP, but is called "Microsoft GS Wavetable Synth" on Windows 7.

You can change the MIDI device to use in the XML file (look for the <device> tag in the MidiPlayer configuration). The tag defines a comma-separated list of MIDI devices to try to open. SoundHelix will use the first MIDI device in the list that is available on your system. If none of the MIDI devices are available, an exception will be shown where the available MIDI devices are listed. You can then adapt the list of MIDI devices in the XML file accordingly. If your MIDI device name contains a comma, you need to escape it by preceding it with a backslash (i.e., use "\,"). Run SoundHelix with the "--show-midi-devices" option to see all available MIDI devices.

The standard MIDI device that is available in Java on all platforms up to JDK 6 is the "Java Sound Synthesizer" device. Starting with JDK 7, Java uses the device "Gervill" (see http://download.java.net/jdk8/docs/technotes/guides/sound/enhancements_7.html. If none of the two devices are available on your system the Java Sound API for some reason did not recognize sound support to be available on the platform. The device "Java Sound Synthesizer" provides a software synthesizer that is compatible with the General MIDI standard. Note that this device requires a MIDI soundbank file, which you might need to install prior to running SoundHelix. See http://www.oracle.com/technetwork/java/soundbanks-135798.html

If you expect a MIDI device to be present, but SoundHelix can't see it, it might be that the MIDI device is a 32-bit device and you are running SoundHelix on a 64-bit JVM (this seems to happen on Windows). This is not a limitation of SoundHelix, but a limitation of the platform and/or JVM you are using.

Add new comment