Advanced Midi Routing for Renoise
There are numerous reasons to send MIDI data between Renoise and another program, merge MIDI data or even send MIDI data to a different computer.
In this tutorial I will try to cover every possible scenario.
This article focuses on PCs running Windows. However, the guidelines may also apply to other platforms.
Software you need (all freeware)
A must-have for our advanced MIDI routing applications is MIDI Yoke. MIDI Yoke is a driver that installs eight virtual MIDI ports. Those ports are not unlike MIDI cables in your set-up, the main difference being not having to untangle them, because they only exist in the digital realm. Just like in the real world, you can use the ports to send MIDI data from one device to the other, only in this case the devices are software applications.
The nature of MIDI Yoke being a driver, there is no actual program installed. In fact, it is very similar to adding a new hardware MIDI interface to your computer. The ports will show up in your audio applications with names like "MIDI-Yoke NT:1". To make the connection, select in the sending application one MIDI Yoke port as output, in the receiving application you choose the same port as input.
If you really feel the urge to mess around with MIDI Yoke's settings, you have to explore Window's Device Manager. We leave it as an exercise to the reader to find those settings.
A word of advice. If you are using MIDI Yoke on an advanced level, good ol' pen and paper to make notes of used ports is not prudent, unless you have taken a liking to MIDI feedback and seemingly random MIDI routing. Do not trash the notes afterwards, but hold on to those notes for future reference in case you are going to change the settings.
Depending on the things you want to accomplish you may also need :
- MIDI-OX, a software by the same developer as MIDI Yoke, powerful options to analyze and change MIDI data.
- The VSTNETMID-Suite of Tobybear. The Suite is part of the MIDIbag. You can only download the whole bag, after which you can choose to install the VSTNETMID-Suite only.
Receiving MIDI data from another application
Required software: MIDI Yoke Select "MIDI-Yoke NT:1" as output in your other application and "MIDI-Yoke NT:1" as input in Renoise.![](https://www.renoise.com/sites/default/files/images/blog/2007/10/midirouting1_1.gif)
![](https://www.renoise.com/sites/default/files/images/blog/2007/10/midirouting1_2.gif)
Sending MIDI data to another application
Required software: MIDI Yoke If you want to send MIDI data to another application the basic principle is the same. Set up your instruments in Renoise to send MIDI data to a MIDI Yoke Port and choose that port as input in your application.![](https://www.renoise.com/sites/default/files/images/blog/2007/10/midirouting2_2.gif)
![](https://www.renoise.com/sites/default/files/images/blog/2007/10/midirouting2_1.gif)
Sending MIDI data to another PC
Required software: MIDI Yoke, VSTNETMID-Suite
Whether you want to jam with someone who has his PC connected to his studio or if you want to send MIDI data to a VJ program, the basic strategy is the same.
First, follow the steps as described in the section Sending MIDI data to another application and set-up your MIDI Instruments. If you wish, you can also choose to send MIDI Clock Data with Renoise as Master to sync two programs together, make sure you use the same MIDI Yoke port you are using as output for your MIDI Instruments (port 2 in this case).
![](https://www.renoise.com/sites/default/files/images/blog/2007/10/midirouting3_1.gif)
![](https://www.renoise.com/sites/default/files/images/blog/2007/10/midirouting3_2.gif)
Receiving MIDI data from another PC
Required software: MIDI Yoke, VSTNETMID-Suite By now you should have got the general Idea. Output MIDI data on one PC to a virtual MIDI-Yoke-Port, feed that port into MID2NET, receive it using NET2MID and feed it into Renoise. Again, if you wish you can set the first PC to send MIDI-Clock-Data (as Master) and set-up Renoise to act as MIDI Slave, a solution that works reportedly better than setting Renoise as Master. Two things I should mention at this point.Syncing Renoise to another application (no matter if as Master or Slave) always means needing to get both applications in sync, so the one does not play ahead of the other. The best way to do this is to load a loop and play it in both Renoise (use an fx-free channel to avoid plugin-delay issues) and whatever other application you use and play around with the offset-setting until both play simultaneously. Having experience as a DJ helps a lot this point.
To help you with that, I created two loops with equal tempo (120bpm) [zip, 440 kB], one playing a low click, one playing a high click. Load one in each application (sync/pitch them to your tempo) and use them to determine the correct offset..
MID2NET and NET2MID work over WLAN (indeed, no cables) as well as over the Internet, although I don't know what this would be good for at the moment.
The VSTNETMID-Suite sometimes refuses to work correctly, if at all. Try messing around with different ports, different IPs, different Yoke-Ports. Sometimes one PC doesn't like receiving data but sending and vice-versa. There are rock-solid commercial solutions (eg. ipMIDI) if you can afford them.
Merging MIDI data
Required software: MIDI Yoke, MIDI-OX, VSTNETMID-Suite
Renoise offers two MIDI Input ports, probably enough for most. However, there may be a time when you need more of them. It is not unthinkable to own a MIDI keyboard, a MIDI controller such as a fader box, a joypad that doubles as an XY-pad and maybe another stream of MIDI data from your buddy on another PC.
To allow Renoise to use more than two MIDI Input devices, we will use MIDI-OX, a tool used to analyze and remap MIDI data. We will only need a fraction of the functionality this tool offers, but feel free to explore its capabilities. It might come in handy when you work a lot with MIDI.
Install MIDI-OX and launch it. Go to "Options/MIDI Devices" and select all input ports you want to use. In my case, MIDI Yoke port 1 for the joypad, port 2 for the data passed on from another application/PC, as well as "In USB Keystation", my M-Audio Keyboard. Also add a free MIDI Yoke port to send the MIDI data to, which we will set as MIDI Input in Renoise (MIDI Yoke port 3 in this case). Make sure not to use any of the inputs you just assigned to MIDI-OX as Renoise MIDI Input for a second time.
![](https://www.renoise.com/sites/default/files/images/blog/2007/10/midirouting5_1.gif)
![](https://www.renoise.com/sites/default/files/images/blog/2007/10/midirouting6_1.gif)
![](https://www.renoise.com/sites/default/files/images/blog/2007/10/midirouting6_2.gif)
![](https://www.renoise.com/sites/default/files/images/blog/2007/10/midirouting6_3.gif)
An important note. If possible, give each Renoise In Device its own MIDI channel in order to avoid overlapping controller numbers. Most controllers offer an option to set the MIDI channel the data is sent to.
If you use an external sequencer that is supposed to send data on multiple channels (eg. Groovebox, MPC or similar), it might be the best to reserve the second MIDI input in Renoise for this controller instead of remapping it in MIDI-OX.
An even more advanced example
The main reason for writing this whole thing is a question by Niall about using Renoise to control VJ software, as well as utilizing controllers to control Renoise and the VJ-Software. Unfortunately he has a Mac, and I don't know anything about Mac software similar those mentioned in this article.However, given that you have read the text above it should be easy to understand and follow these steps:
- First merge all external Controller data (eg. keyboards, fader boxes, joypads) using MIDI-OX to a MIDI Yoke port A (using letters here because you might have to merge "real" in-ports as well as "virtual" ones (Joy2Mid again). Get that paper and pen, really).
- Use Port A as MIDI Input in Renoise.
- Setup your Instruments in Renoise to send MIDI data to another MIDI Yoke port B.
- Make sure to distribute all the data using MIDI channels (in Renoise and your external gear).
- Open a new free output port C in MIDI-OX.
- Now connect your inputs to C (just as you did for A, providing you want to use all controllers for the VJ software too) and also connect B to C.
- With MID2NET, send the MIDI data to the PC running the VJ software.
- First, receive the MIDI data with NET2MID on the VJ PC. Next, send the received MIDI data through a MIDI Yoke port on that same PC to the MIDI input port of the VJ software to get a steady, rich stream of data.
A final note. If you want to transmit Renoise's automation through MIDI, the only way I know is to setup a MIDI-CC Device linked to an instrument and copy the automation you want to send.
I hope this article is useful for some people, if you have questions, corrections or suggestions please comment. Looza- bantai's blog
- Log in to post comments
4 comments