I’ve encountered some strange behavior I don’t understand. I’m unsure if it’s a bug, or if I’m missing some subtlety about midi routing.
I’d like to control multiple instruments using a single midi track. To do this, I first set up an empty instrument, and set the output to a virtual midi port, like this:
I then set up target instruments to listen to a connected input port, like this:
The midi sent to the first instrument controls the second instrument, as expected. The oddity begins when i start playing.
In the below screenshot, I’ve positioned my cursor at the top of a blank pattern, and pressed “z” to insert a single c3 note. The c3 shows up as expected. However, a mysterious second note, an octave lower, also shows up, routed to the target instrument!
Now, I understand why a note shows up for the target instrument - from renoise’s perspective, I’ve just input a midi note via an external controller, and it’s dutifully recording it. An expected oddity. But why is it an octave lower? I’ve checked the midi monitor and confirmed that C-3 is received by the target instrument, however, I can also see the source instrument triggering both C-3 AND C-2 on the graphical keyboad, despite it not showing up in either the input or output midi log. When triggered this way, the target instrument will always play the note an octave lower, and never play the original note at all.
Midi Loopback is a pretty weird edge case so I’m not 100% convinced there’s a bug at play here. If anyone wants to try to reproduce this or if you have any input at all on how to work around it, i’d appreciate it.
Thanks!
EDIT: sorry the image previews don’t appear to be working, but if you click through you will see screenshots. I"ve tested this in both mac and linux, same behavior.
EDIT 2: The spurious note is not always an octave lower, it’s fairly inconsistent. Sometimes it’s two octaves lower, sometimes one.
EDIT 3: Another interesting observation: If I open two instances of renoise, and route midi from one instance to another via virtual port, The note will be wrong. Inconsistently, it will be the wrong octave. I triple checked to make sure the virtual input wasn’t set as master clock or as master keyboard.
Routing midi from Reaper to renoise doesn’t do this, the note is correct. I haven’t tried this using hardware midi ports yet. Here’s a screenshot. You can see the correct midi data being sent and received, and the wrong note triggered on the vitual keyboard below.
https://i.imgur.com/37IS8tC
EDIT 4: I found another thread talking about how renoise treats octaves differently from many other DAWS, but I don’t believe that’s the issue here. Setting an octave offset does not work - the offset is not consistent and will change as a sequence plays.