Midi Doubling And Hanging Note Issues

Hi, first of all, great software! A very creative and powerful tool B)

I use a bit of MIDI outboard gear and have found two issues:

The first one is on assigning a MIDI instrument via the ‘Instrument Settings’ tab. There in ‘MIDI Input’ I’ve assigned a device on channel 10 for example (drums). With this, I am able to record via MIDI fine. To play back what I have just recorded back to the MIDI instrument, in the ‘Ext. MIDI’ button the output instrument is assigned, so the same device and channel is set here.
However, when this is done, note-doubling is heard when I play a key on the MIDI instrument - almost like a midi-through, as if Renoise is receiving the played note, then immediately sending it out to the instrument, causing phasing/doubling.
My MIDI interface and outboard gear have MIDI Through disabled, so this seems to be a problem in Renoise.

Secondly, Renoise gets ‘stuck notes’ after stopping playback on MIDI tracks. It would be nice (like other sequencers do) for Renoise to send a MIDI ‘all notes off’ when playback is stopped.

Can’t help with the first one, sorry.

You might like to use Panic, rather than stop. It will stop sounds from all notes and events within Renoise and send a Note Off to all MIDI. I don’t believe it has a keyboard shortcut on the default install but I personally have it mapped to Alt+Space. Open preferences (Ctrl+,) go to Keys tab and do a search for Panic to find it.

You are actually looping back your signal that way (I doubt Renoise is sending note data twice), most likely because your midi device also rebroadcasts the received midi signal from Renoise that it receives to the midi output channel that you have set it to.
Does this keep happening if you e.g. temporary set your midi out on your external device to channel 16 before you start to play the song in Renoise?
I guess you have to tinker a bit with that configuration or setting an option on your midi device where you can disable midi output signalling.

Thanks for the suggestion - I double checked anyway and my outboard gear and MIDI interface have MIDI-through set to off - they don’t relay any incoming information to any other devices.
Also as a sanity check, I tried the same thing with Rosegarden (and other MIDI sequencers) and the note doubling doesn’t happen, so it seems it’s an issue with Renoise.

From your description it seems you’ve set up the MIDI input in the instrument’s MIDI Input section. Please also check your general MIDI keyboard settings in the Renoise preferences.

Usually it’s enough to only set up the master keyboard for playback and recording. The instrument’s MIDI input setting allow you to do more advanced routing, in order to play/record other than the currently selected instrument and track in Renoise.

Hi - thanks for the reply.

I’ve tried that - setting the input on Master and the same thing happens.

If you have a MIDI instrument, you can replicate this. Just set input to ‘master’ and have your MIDI instrument (in multitimbral mode) play from channel 10 a drum sound. This is fine for recording, but of course one cannot hear this on playing back what was recorded to the MIDI instrument as ‘Ext. MIDI’ hasn’t been assigned.
As soon as you select an instrument (even without recording) on ‘Ext. MIDI’ it will forward what is being played straight back to that Ext.MIDI channel; so if that channel is set to 10, the MIDI instrument will immediately receive back any played notes and thus note doubling.

I’ve tried more MIDI apps in Linux and this doesn’t happen. They don’t forward notes unless told so as ‘midi through’. Most other sequencers don’t forward MIDI unless told to do so.

A simple ‘forward MIDI’ toggle (or more in keeping with sequencing, ‘Midi Through’) with default to ‘off’ in the ‘Ext. MIDI’ setting can solve this. But give the above a try to verify what I mean.

What I think is happening here is that Renoise has a legacy way of recording, having begun its life as an internal (CPU-based) playback sequencer; so when MIDI recording support was added, MIDI instruments trigger Renoise’s own CPU-based-plugin sounds, therefore it will forward MIDI->Internal Renoise sound, which is correct. All other sequencers with internal instruments do it this way too. So the traditional flow is this:

External MIDI trigger (usually on mute) → Renoise → Internal CPU-based instrument sound.

However, if the playback instrument is an external MIDI device, Renoise still uses the legacy flow, thus:

External MIDI trigger (sound plays) → Renoise → Sends note back to MIDI instrument (sound plays). = note doubling.

Hence a solution for outboard MIDI gear would be to have a ‘midi through’ option in ‘Ext. Midi’ set to default ‘off’ - this won’t affect the traditional flow of CPU-generated sounds either :)

If this is your setup:

You (or your device) most likely tell Renoise to do so.
Everytime a note in the pattern editor is played that is linked to that instrument or renoise receives midi input from the midi In device, Renoise sends that note-date to your external device set in the Midi Ext settings.
Specially if the MIDI-Input channel remained to “any”, it will trigger on midi signals coming in on any channel.
You know best what your midi device does with incoming midi data on its midi in port, but the above shown situation has a high probability rate for a midi feedback situation.

Ext. midi or LineinReturn are modes to compensates delay issues when recording back the audio. This has nothing to do with “if” Midi signals are send but only the moment when.

Indeed - for internal instruments that is correct; however, it is not proper operation for an external instrument to get an input note relayed straight back at it! :)
It would be just a simple change to have an option not to do this MIDI forwarding - Ableton Live, for example, has the default option via its ‘MIDI monitor’ mode on a track - so I can record MIDI while hearing my outboard synth play, but not get the MIDI notes fed straight back while recording. Then I can stop recording and play back the MIDI to the same instrument, without note doubling at any stage.

P.S. I’m not looking for a flame war or argument here folks - just coming from a Logic/Cubase/Ableton sequencer background where this doesn’t happen. I already love Renoise (and the community) and it would be great if it could have this tweak.

It is not forwarding but just response to how it is setup. We are speaking on instrument level here, not track level (the example you mentioned).
Though i haven’t read a similar report like yours here on the forums but i can understand your confusion on the midi input as you (seem to) attach your device not in the default way as we advise in the manual.

The midi features in the Renoise Instrument offer a wide range of routing possibilities (they don’t only allow connecting external midi devices, but also allow control through a virtual midi cable from other host software e.d.), you do have to set them up clever to make them work.

Just to make one thing clear between setting a master device in the Midi Preferences and setting a midi device directly in the Renoise instrument (for as far as hierarchy goes):
Usually you set a master device, then you select an instrument slot and the master device controls the currently selected instrument. Plain simple (this is the default setup advise);
As soon as you set your specific midi device to control any of the instruments by selecting it in the Midi Input tab, this device will then be overruling the master device (meaning that even though set as a master device, you no longer can play the specific selected instrument slot) and the instrument that the device is attached to will always respond to its input.

So this is my advise:
-Just set all midi input devices in your renoise instruments to “Master” and set your external midi device as one of the master devices in the Renoise midi preferences (check all midi input tabs in your instruments really carefully, if you forget one, the master device is ignored for recording).
-Then select the output device and midi channel of the instrument that you want to make control your midi device (do this for each channel that you have programmed)

This should work for both recording and playing, in the worst case that your midi device still emits note data and triggers an instrument:select an empty instrument or an instrument that has no output defined to your midi device in Renoise to evade that problem.

I think it might be a good idea that if a midi device is set either as a master device or for an instrument, that the name in the list is shown in a different color to indicate the device is either set as master or is somewhere attached to an instrument so that you have to take action to make a valid change to make one or the other situation possible.

Thanks for the tip - I had already tried this though. As soon as an instrument in ‘Ext.Midi’ is defined, any played MIDI data gets looped back.

Here’s my scenario (I have several synths on outboard).
MIDI input devices have been set appropriately in the preferences; i.e. I see the MIDI-input light flash when I press a key on a synthesiser. My MIDI interface has status lights and it says that MIDI is going one-way, as it should.

One of these synths is a Roland.
Now to record the Roland synth Channel 1 to Track 1 in Renoise:

Instrument Settings → Midi Input → Master (it can also be the absolute MIDI instrument name Renoise picks up, both work). At this point no ‘Ext. MIDI’ instrument is set.

Start recording - play some notes on the Roland. Renoise records them as MIDI. I can hear the Roland play via its audio outputs. The MIDI data appears in the track. No loopback occurs.

Stop recording.

Play back the recording - nothing can be heard because an instrument out hasn’t been set either as a ‘Sample’, ‘Plug-In’ or as ‘Ext. MIDI’. This is normal - now to set one: since I want to hear it back on the Roland, I set the ‘Ext. MIDI’ to play back to the Roland device and channel. I hit Play. I can hear what I’ve recorded on the Roland audio out. Yippee! :)

Stop playback.

Now, if I press a key on the Roland, Renoise will pick that MIDI note up and because ‘Ext. MIDI’ is now set, it will send it straight back to the Roland, causing note doubling.

So if I want to overdub any material further on that track while I play back, I will get note doubling. If I disable ‘Ext. MIDI’ device to stop note doubling, I won’t be able to hear what I recorded to overdub onto. Catch 22.

There’s no option to stop this happening.

I get your drift. In this case the Midi-in tab should have an “ignore during play” option.
For now: If you set it to master and don’t assign your device to master in the preference, then you won’t get the note doubling, but still hear your earlier recording.
It is not much fun to have to do it this way either.
Perhaps this tool could make it a little easier so that you don’t need to switch to the instrument view all the time if you don’t want to (you will have an external dialog and overview of all your midi connections in your instruments):