Live Midi Recording

I use a MIDI keyboard a lot - recording chords, solos, bass parts and drum tracks as well (especially since I’ve found sfz and some decent drumkit soundfonts). I would like to suggest a couple of features that would make MIDI recording easier and more useful in Renoise:

1. Latency compensation for MIDI notes (important!)

Whenever I record notes live in Renoise I find most of them placed earlier than they should. In my opinion, the cause of this is simple: output latency. Every pressed MIDI note gets recorded the moment it is sent from the keyboard. Due to the output latency, however, the actual sound response from a VSTi is delayed - so if the note is to sound when it should, the MIDI event has to be triggered a bit earlier.

When recording live I find myself playing notes in a way that sounds good with the rest of the song - which means that I press the keys a bit to early. Renoise records them in a pattern exactly when they are pressed, so some of them get placed a line too early. With ‘crowded’ tracks, like drum tracks, this leads to a mess, that gets even worse when using the ‘record delays’ function.

I think a solution to this would be to apply latency compensation to the recorded MIDI notes so that they are placed in the pattern when they sound instead of when they are pressed.

2. Groupping recorded MIDI notes in columns (for drum recording)

Since the introduction of column mutes, I think the most useful form of a drum track is when each type of drum sound gets it’s own column - base drum col1 / snare col2 / hihats col3 etc - so that parts of the drum track can be muted on the fly. Needless to say, I tend to organize the recorded drum tracks this way, but it involves lot’s of copy-pasting at present as notes are placed in columns randomly.

My suggestion is to have a ‘drum recording’ filter for recorded notes that would place notes of the same pitch in the same column. Preferably, the filter would operate on an off-line MIDI learn basis - before recording you open the filter config and assign MIDI notes to the columns by pressing them on a keyboard (or using the GUI). All the notes that don’t get assigned will be placed randomly in columns with no assigned notes. With loading/saving of presets, this filter would make drum recording ten times faster!

3. MIDI note sorting by pitch (for chords)

It would be great to have a ‘sort chords by note pitch’ MIDI recording filter, as it makes it easier to analyze and manipulate chords this way.

4. Quantisation (for all MIDI recording)

I have a feeling that this feature will become crucial when the increased resolution gets implemented. It would be great to have a ‘quantise on-the-fly’ recording filter and an ‘off-line quantise’ function as well.

Could any of those suggestions make it to the to-do list, please (for 1.3)? :rolleyes:

Keep up the :yeah: :drummer:


great suggestions … i need them (nearly) all … another note sorting function could be great too: i setup a key-range and put all these notes in one column e.g.: a big help for cleaning chaotic (drum) tracks … B)

Agree, these suggestions would be a big improvement in the areas mentioned. Would make chord + drum sequences much easier to work with and renoise a lot smarter!


Edit: Just had a thought, with the sorting by pitch for chords filter I could see that having a definable cutoff for each column would be good also. i.e. In column 1 only allow notes below c-4
or In column 1 only allow notes between c-3 and c-4

this would allow you to separate basslines or hands for keyboard rather than always shifting the lowest note to the furthest left. Think this would tidy things up a step further.

Edit 2

Sorry AMK I should learn to read more closely rather than skimming! :ph34r: :rolleyes:

To all reading my above thought is just a reitertation of AMKs very good :) suggestion (tho you probably noticed this before me!)

no problem … more precise i mean not a live-recording function really … i think more note-manipulation in general is really needed within the patternEd …

  1. Latency compensation for MIDI notes (important!)

Is already implemented for 1.3 as this is really a very basic feature and should have added before.

I cant make promises about the others. Sorry, but I personally like them all …

lag compensation will be in 1.3 ? hooray. I waited for this more than for anything else. :D

Those are reallly nice suggestsions, and the other things that would improve recording is different record modes…

Like destructive record mode, a mode that deletes what is previously recorded.

But should not quantization be “easy” to implement atleast ‘off-line quantise’ function? For marked block?

and what about the use of dna-grooves ? this would be dope :)


Keyranges might be useful, but not necessarily for drum tracks as in most drumkits sounds of same type are not placed semitone by semitone. Imagine you want all the hihat sounds recorded in one column. In most cases the corresponding notes are F# (closed) G# (pedal) and A# (open) so you can’t select a key range of F# - A# as this would also cover G and A notes, which corespond to mid tom drums. So for drum recording I think it would be easier to select the notes for a column one by one. Keyranges would be useful for separating chords from the solo part in a piano track for example, but that would require a bit more sophisticated implementation of the filter that would allow to select a keyrange for a range of columns.


Definitely, a destructive recording mode would be another mechanism that would speed up editing by removing the need of cleaning the tracks if the recording went wrong.


That’s great news! Did you implement latency compensation for VSTi/fx implemented as well?

I think many people will find column note groupping by pitch (with keyranges as AMK suggested) useful and might agree to wait a bit longer for 1.3 to have it implemented. Chord sorting and Quantize can wait, though as I said, with increased resolution quantization may become essential.


dna-grooves? What are those? :huh:

Just want to mention that more advanced sorting of notes to columns would be much easier by selecting notes in the pianoroll and then get options to sort them into prefered columns.
I guess Martinal has thought of this already ;)

dna grooves are some old things.
the main idea is to analyze a real groove played by a drummer so it can be used to quantisize rhytms done in musicsoftware. its kinda “out” now, but it was a big buzz in the middle of the 90s and those groove files are still around.

That’s great news! Did you implement latency compensation for VSTi/fx
implemented as well?

No, and thats a totally different story.

I was afraid you’d say that :)

i know … but there are not GM-like drum-kits only!!!.. a sorting depends on instrument-number is more useful - ok ok ;)

another suggestion … what’s the opinion about this?! useful i think!

(it’s a screenshot from MED’s search&replace function)

this search and replace should be extended to work with whole blocks … not only with one note!

Just a bump for this thread as I read elsewhere that the next renoise update will be mainly tracker improvements rather than big feature additions. Would be cool IMO if the sorting functions could be considered for this update…