by Ryan Webber
Send MIDI Between Applications
Sending MIDI messages between software applications running on the same system requires a virtual MIDI port is available.
virtual MIDI ports are supported without any 3rd party software.
Isadora supplies two virtual midi ports for use automatically.
'Isadora Virtual Out' is the port to use when sending MIDI from Isadora, while 'Isadora Virtual In' is the port to use for MIDI coming into Isadora.
Create a Custom Port:
If you need a custom port for some reason, the macOS makes it pretty easy to create one.
[Optional] These are the steps for creating a custom virtual port.
- Open 'Audio MIDI Setup' (can be found in the Applications > Utilities directory)
- Open MIDI Studio using the 'Show MIDI Studio' option in the 'Window' menu.
- Double click the 'IAC Driver' icon, to open the 'IAC Driver Properties' dialog.
Note: IAC stands for Inter-Application Communication
- Click the checkbox beside the 'Device is online' option to activate the driver.
- [optional] Rename the 'Device Name' to make the virtual MIDI port more clear.
- Use the '+' button to add ports as needed.
- Click 'Apply'
- You may need to restart Isadora and Ableton if they were open already, to ensure the new ports are listed.
Windows does not offer virtual midi ports, a 3rd party utility is required to provide this functionality. Fortunately, there are a number of options available. A popular option is LoopMIDI, which is free for private and non-commercial use. Others include LoopBe1 and sbvmidi.
I will be using LoopMIDI as I continue, but whatever solution you select the steps are very similar.
- Download and install LoopMIDI.
- Open LoopMIDI.
- Enter a name for the new virtual MIDI port.
- Click the '+' button to create the port.
I have entered 'Isadora Virtual Port' as the port-name and then clicked the '+' button to create it.
Note: these ports are bi-directional, and therefore I could have perhaps named it 'Isadora-Ableton MIDI Port' to indicate that I am using it to communicate between Isadora and Ableton for example.