I am writing software in Java which will need to be able to send MIDI data to GPO4 and Aria player. My software needs to be able to set up the instruments and channels, and then send MIDI data in real time including articulation keyswitches.
I'd like some advice on the best way to do this.
I have experimented with using the VST plug in from Java (with some JNI wrappers), however this requires me to also feed the audio data to the sound card. I would prefer to let Aria do this (I assume I would get lower latencies).
I have also experimented with a hardware MIDI approach using a MIDISPORT4x4 and looping back the output port of my application to the input port that Aria is monitoring. But I really need all software approach.
So far, these experiments are only using MIDI note data. I've not yet figured out how to control the instrument setup. Is there a reference manual of sysex messages that can do this?
The Aria engine seems to have been designed purely from point of view of using it manually as a standalone application or a VST plugin controlled through standard Midi CC's only.
No SysEx messages or other means of automation have been catered for, that I know of, though you really need to speak to someone from the Plogue development team for a definitive answer ... you could PM the user called 'chad' perhaps if he doesn't come up with an answer here.
If the SysEx approach isn't possible, it may be possible to programmatically control the software using API calls to the O/S ... I've done that a little for other purposes in VB running under Windows but not in Java, which is meant to be platform independent and may also present some other problems.
It would be interesting to know why you need this facility, though ... are you trying to get the computer to effectively compose music on the fly? ... if not, would an approach based on the use of pre-recorded audio not be sufficient?