Huge Midi Oversight? --> Nna For Midi Out And Plugins Missing

That is to be expected and a fundamental feature to how MIDI works. You only send as Note On for a value (0-127 being the notes) they do not have a unique ID associated with them. You are never going to be able to cut off the notes separately like that!

But I believe the way most sequencers get around the Note Off problem is by having MIDI/Music Tracks and Drum Track, where the Drum Tracks usually don’t sent Note Offs as they are assumed to be used with short samples/envelopes and thus not needed.

Okay, now I am officially confused :)
I thought that this would be possible in a piano role, but you seem to suggest that it is not.
Then what is the issue here? Why does the V-drum example work in Reaper (with the same hardware!), but not in Renoise?

The issue of notes cutting each other off when programmed in the same column isn’t a problem imo, it is a feature!

It probably is, at least one some sequencers. I know in the old days I’ve played around with layering the same vocal sample from the same key on a sampler but can’t remember if I could be done from a normal track or if I had to pretend it was a drum track to get it to work (changing MIDI Channel from 10 as that is always default for drums.)

But a MIDI Note Off relates to the Note number/value of the Note On, so all repeats of that same note (sample/whatever) will stop with a Note Off to it. All that is needed for what the original poster wants is an absence of Note Offs unless specifically requested.

As to V-Drums using Note Offs to do things like Open/Close a hi-hat I believe a Note On with Velocity of 0 (zero) is the same as a Note Off, or you could use the cut in one tick command and have very low velocity if this doesn’t work (if you need exact precision playing delayed on line before.)

yes it’s a feature called NNA which we have control over for internal samples.

…but whether you input your sounds into different columns of the same track with according note offs, or be able to define overlappable note-offs like you seem to want, it will result in almost the same amount of programming work, no? Only recording notes live automatically divides across columns based on the time notes are held, how would renoise know where to place note-off’s through programming without you specifying the lengths?

I probably just don’t get it :)

What Note Offs? The point is drum tracks don’t usually have them!

Well unless you purposely want to cut a hit short, such as the effect of grabbing the rim of a cymbol, or as has been posted out for special tasks where V-Drums uses them in that one particular case.

In your drum tracks from samples within Renoise how many times do you enter a Note Off compared to a Note On? Very few I would imagine!

I just tried microtonic demo, drumatic & drumular and all these drum vsti’s subsequent note events programmed in one track don’t cut each other off! A crash keeps on playing for example even though it is immediately followed by a snare or whatever. Maybe it is something that doesn’t work in your drum vsti or hardware unit?

It’s not me personally and the guy who started this is talking specifically about external hardware, so maybe it is to do with MIDI only, not VSTi.

I actually thought a little about this the other night, after posting that, but am having serious computer problems at home currently.

[s]In many ways the comment that NNA options for MIDI shouldn’t be available from Renoise is correct. It should be down to the MIDI Hardware how it behaves if it sees two consecutive Note Ons for the same Note.

But this does still mean that Renoise should not send Note Offs before a Note On in a …[/s]

Actually, as writing this I see that if Renoise did not send Note Offs to the preceding Note then it would break any normal playing and chords played on MIDI Instruments so is still actually required for the (probably majority) of situations.

I really do see the simplest way of solving this of basic NNA settings for a MIDI Instrument, Note Off or Continue, with Note Off obviously being the default (and as Renoise currently works) and likely to be all that is needed in the majority of situations,

There have been done a lot of improvements on the midi area in Renoise because of hanging notes and missing the first note in a pattern to play.
Midi gear just limits the host developer to go a certain way or you just get confronted with bad behavior complaints.
Midi has a lot of limitations which is why hardware controler manufacturers attempting to bring their own proprietary format to compensate for this, like Novation designed Automap, pure to get around a lot of limitations that Midi has.
I partially understand the decision but i also mainly disagree.
I would rather have the manufacturers upgrade the existing midi standard, but it hasn’t been cleverly designed in the past that it allowed room for future expansions.

OSC, and also arguably M-LAN, have both attempted to do this but unfortunately never got that far with being taken up by manufacturers and standardised.

ut you do see that fore normal (synth/piano/pad/lead) playing Renoise needs to work with MIDI as it currently does, Note Off going to preceding note in column? Yet also that this may not be desirable at times, especially with drums? Would it really be so bad to give the user control of this per Instrument?

This is really something the hardware and plugin has to take care off. With the plugin you still have the advantages that you can also automate it’s parameters using the VST device, because the plugin also exposes parameters to influence.
There is not much extra around here for midi and what exists still has to go through the same cable. For this reason you e.g. also cannot use the volume and pitch envelopes in the native instrument section, on plugins and midi instruments when we speak of polyphonic instruments.
I would personally love it if that would be possible, but as soon as polyphone comes into the game, you affect all notes and not just those you want independently.

How can MIDI hardware know to strip out extra Note Offs that have been inserted by Renoise?!!

Really feel like I’m banging my head against a brick wall now!!!

I know what you want, but let me ask you a relative question, but then on the Renoise side of the midi cable; i more or less attempted to create this imagination somewhere in my first reply, but perhaps you have a good idea that you can put in a mock-up for us here which would resolve the problem i foresee:
How would you design a midi NNA feature that allows you to manually send note-offs to your midi hardware, for note-ons that have been triggered two or three notes back in the same column?

I’m honestly curious…
Just let’s pick an example mockup from my side:

  
00 C-5  
01 ---  
02 D-4  
03 ---  
04 G-4  
05 ---  
06 [-]  
  

On row 6 you want to send a note-off for the C-5 triggered in row 00. the NNA has been set not to send note-offs before each new note is triggered.
Tell me how we can realise this?

you could perhaps say, okay, the first triggered note-off shall be sent to the first triggered note.
For the above example, that still is fairly easy, but now we pull in the sequencer and make some changes:

  
Sequence [64]  
 00 00 C-5  
 01 01 [-]  
 02 02 D-4  
[01] 03 ---  
 02 04 G-4  
 03 05 ---  
 03 06 [-]  
 05  
  

Sequence 3 is currently visible (pattern 01).
Same question, but now which is the first note and how many sequence positions would you have to scroll back to figure out where the first note starts? Where is the last note-off? For which note is the note-off on row 01?

You might invent a whole new kind of note-off that really only relates to the note triggered by switching the note-char and octave value from position:

  
Sequence [64]  
 00 00 C-5  
 01 01 5-E  
 02 02 D-4  
 [01] 03 ---  
 02 04 G-4  
 03 05 ---  
 03 06 5-C  
 05  
  

Makes it a bit more on target because the 5-E will send a note off to an E-5 casted somewhere in pattern 2 (or perhaps ending in pattern 01 on sequence position 1) and the 5-C will be casted to well, at least the first C-5 that had been triggered, you don’t know for sure if that will be the one in the current pattern or one in pattern 2, so you still might end up searching for lost notes that aren’t being cut or faded and you have to figure out which note.

You can also say “I don’t not want to send note-offs to any notes, i just want them to continue” because that is what you aim for, but the above is also a realistic picture if NNA continue would be applied for midi.

But we still have this thing:
Does your midi device automatically shut down the playing note as soon as the sample has been fully played until the end? or does it remain waiting for the note-offs before it again accepts a new note for its internal sample channel?
If it keeps waiting for the note off values, also your midi device will run out of polyphonic voices and will stop responding to new note input or will replace the last played note for the newly triggered one.

Gear is different, some midi devices support 64 voices polyphony, some go up to 32 and some only go up to 12. You can’t use over ten fingers anyway.
Plugins differ as well. If a solution has to be written, it has to support all these devices and plugins properly.

So, now you have something to feed your point of view, perhaps i’ve overlooked something.

Besides talking about why MIDI is bad and why something else would be better and so on, let’s please not forget the main point here:

Something that should work, and also does work in other sequencers that support MIDI, does not work in Renoise. So this means that the MIDI support in Renoise seems to be somehow incomplete.

I personally would love to see this being addressed.

I don’t know, but how do the other sequencers do it? Probably taktik knows?

First I have always said it was be an NNA setting that can be done per Instrument, you generally would want the behaviour for normal MIDI sytnh/piano etc material.

Secondly: If you insisted on working like that, be it to make it easier recording pieces live from a MIDI keyboard (although Chord Mode would still make a lot easier to edit afterwards!) then you would use the Note Off alternative of a Note On with a Velocity of Zero which is in the MIDI specification of having to be treated exactly the same as a Note Off message for that Note. Note Offs 0x80 Commands do follow the same structure, with Note Value and Velocity, as Note Ons. Does Renoise even send the Velocity of a Note Off (may be assigned to Release Time for example) of a normal Note Off message?

You just confuse things even further below by assuming Renoise has to be the intelligent one, not the User. A simple Note Off would always be associated with the Note preceding it. Either using Note on Velocity of Zero of being able to attach Note Values with Note Off commands would work for more complex note cutting.commands.

Back to your comment of “It’s up to the hardware manufacturer how to handle Note Offs” this is really my point and Renoise stops a lot of intelligent design for being usable.

Say you had a drum module, 24pad/sensors, with a glitch style kit loaded. As no sample is over a couple of hundred miliseconds the designer has decided to add a secondary layer to each sound with the option of switching between the sounds using a Note Off on that Note. Taking a five minute song with a 120bpm 4/4 kick drum Renoise would require a total of 50 Tracks (600 columns) to not switch between sounds throughout the Song, for each time you want to change sound (maybe four or five times in the Song) you would only save a single column. Repeat for every drum sound used! Now to get around this you could turn off Intelligent Note Off mode in Renoise and insert two (not one, have to switch and back again) Note Offs between each and every hit. Enough extra work for you?

Now this same hypothetical piece of equipment also does more classical style drum kits so you may choose how the Note Off affects the sound. For a long symbol crash you may want a Note Off to act like somebody grabbing the symbol, which is different from just cutting the Note. You may try by adding filter and volume envelope but there is a dull percussive sound as you grab the edge and it may be better to have it actually cut the original sound and play a different sample which gives you this effect. Every single time the symbol is triggered in Renoise you would be also triggering this as it sends a Note Off before the Note On! It is specified in MIDI that a piece of equipment must decide whether to cut a sound and retrigger, or to relayer the same sound on top of itself, from consecutive Note Ons, so having play a repeatedly hit symbol rush without the sounds overlayering themselves is not a problem as that is down to the hardware.

Now although that is a totally hypothetical example above it does sound like the V-Drums does something similar with Note Offs and the hi-hat and it is not unreasonable to think that manufacturers may implement such techniques, unfortunately making their hardware pretty much useless for use within Renoise!

In fact you could have the Pan column used to select Note you want to send a Note Off to with the current entry method, if targeting a Note which isn’t the last one triggered in that column. Velocity is needed (as does make up part of the Note Off message) as is Delay, as you may not want it quantised exactly to a line, but there is no point in Pan data with a Note Off.

So you are saying Renoise does not need to worry about note-offs in this case at all and not sending those when a new note is triggered.
Not every manufacturer keeps their cut of the deal here though, but then i understand better why one suggests MIDI NNA behavior as an optional trigger.

Do you have a link to this specification btw?(Or Bantai, as i noticed he also found the reference)

This one seems to cover it fairly well and in English, rather than technical jargon. Haven’t got a link to the specification whitepaper or whatever though.

http://www.gweep.net/~prefect/eng/reference/protocol/midispec.html

But again Renoise does need to continue sending Note Offs on a new Note in normal mode, otherwise you would break chord progressions and melodies, as the previous Notes would not be cut off by the entry of the new one below them. Both types of behaviours are needed, neither one can fit all applications.