Could I use my M-AUDIO Fast Track Ultra as the audio interface in a Java MIDI plugin I'm writing? That virtual driver ASIO4ALL could be a nice way to go as well.
I will code a Live Performance MIDI Modifier, to enhance a keyboardist's level of control and complexity of MIDI-controlled effects. I've already begun a small proof-of-concept app that will get me going, but even when testing Oracle's own demo of the JavaSound API I notice some delay between the mouse input commands and the sound going. Whether this is caused by the way this app is constructed, I'll still find out, but I want to be sure I can deliver almost zero latency (20ms, as I get in my live performance host software). Have you guys found out anything relevant?
The only portable way to get a synthesizer is MidiSystem.getSynthesizer(), which gives you nothing but the default synthesizer, which outputs to some default audio device. You would have to change the default audio output device of the JVM or of the OS.
The synthesizer has a fixed latency, which you can obtain with Synthesizer.getLatency(). The audio device will add its own latency.