PDA

View Full Version : How to set MIDI note length and velocity before entering notes in MIDI editor


Erriez
06-06-2010, 08:41 AM
Q1) The MIDI editor has a "Grid Division Box" with values like 1/128, 1/64, 1/32, 1/16, 1/8, 1/4, 1/2, 1, 2 or 4. When I set the grid to 1/4 in View > Diamonds (drum mode), it automatically results in a 1/4 note length. This will be displayed by changing to: View > Rectangles. This is incorrect for drums (channel 10), because there is no note length or note-off with drums. Or is this a user-error?

Q2) A 1/128 note length is fine for drums, but I cannot specify this in the built-in MIDI editor. What do you think about this?

Q3) I also miss a feature to specify the note velocity before entering notes. Now I have to change a velocity of another note and then enter new notes with this velocity. Is this behavior normal?

Q4) Is it possible to enter the note-length in both Diamonds and Rectrangle views before entering notes?

See the screenshots below:

http://s2.postimage.org/I_IW0.jpg (http://www.postimage.org/image.php?v=TsI_IW0)

http://s3.postimage.org/mNBI0.jpg (http://www.postimage.org/image.php?v=PqmNBI0)

-- Erwin

Erriez
06-10-2010, 12:09 PM
I found a hidden feature to change the MIDI drum note lengths:

1. Open the drum MIDI item in the built-in MIDI editor
2. Select View > Rectangles (ALT + 5)
3. Select all notes (CTRL + A)
4. Set grid to 1/32 or 1/128
5. Open the Actions dialog box (? key)
6. Section: MIDI Editor
7. Edit: Lengthen notes one grid unit.
8. Switch back to View > Diamonds (ALT + 6)

-- Erwin

gofer
06-10-2010, 02:19 PM
MIDI Note-Ons always must have a Note-Off companion and therefore a duration, no matter which instrument they trigger. The confusion is that most drum instruments don't listen to the Note-Off and just play their sample full length (or stopped by another Note On, like Hi Hats and occasionally cymbals are an exception). But the difference is not in the MIDI events but in how they are interpreted by the instrument. Drum instrument s just don't care where the Note-Offs are.

This is why generally in case of of drums, especially when you use one of the drum note views you don't need to worry at all about the length of MIDI notes, why do you?

As you have already seen, the length of inserted notes is determined by the grid spacing. I don't think there is another way as of now in Reaper to set a note length beforehand.

For velocity you can click in the black and white keys. The further to the left you click, the lower the velocity of the next note you insert. A white key is obviously better for this purpose than a black :). Not totally the bees knees, but better than not possible.
Personally I'd like a modifier, so that I can paint in note position, lengths and velocity in one swoosh and a single "mouseclick+drag, hit modifier and drag on" movement.

Mr. Data
06-10-2010, 02:49 PM
A few days ago I wrote more or less the same to Erwin, but as I had finished my epic post, I did something wrong and pufff!!!
But I hadn't the nerve to begin again.

It can also be of disadvantage, but really has no advantage, to have 1/128 drum beats, because if you have many note-ons at the same time you must transmit the note-offs in this time period as well. remember: a single note-on needs approx 0.7 ms to be transmitted via an ordinary MIDI connection and a note-off event takes the same amount of time, 'cos mostly for note-off a note-on with velocity 0 is used instead of the special note-off event, which takes a bit less time. Assuming you have a tempo of 120 bpm, you have about 15.6 (-0.7) ms until the note-off is transmitted. and if you have many note-ons on one beat, the remaining 14.9 ms are filled up quickly. It gets even worse, if you increase the tempo and/or use syncing in the same direction, the MIDI notes are sent.

It might be not that likely, having problems in doing so, but there is no practical reason to use drum notes that short.





-Data

gofer
06-10-2010, 04:29 PM
mostly for note-off a note-on with velocity 0 is used instead of the special note-off event, which takes a bit less time.

This part is not quite correct, actually because of "running status" Note-On velocity 0 is the faster method as long as multiple note events are sent in a row.

"Real" Note-Off events are the exact same structure as Note_On, same size, just the first byte, the status byte, is a different number.
But in MIDI the status byte doesn't need to be sent when it is the same as the last event. So as long as you keep sending Note-On events and use velocity 0 as "off" message you save sending lots of status bytes. When status changes with every event, both methods are equally fast.

The advantage of Note-Offs is that they can have a velocity of their own, so the release phase of the sound they trigger can be different depending on how fast you release the key.

Mr. Data
06-10-2010, 05:14 PM
Kick me to it, Gofer!

to my knowledge, and you know I'm old and forgetting even my name sometimes ... errm .. what was my name once again? hm - doesn't matter) - where were we?

Ah yes. To my knowledge a note on with velocity 0 consists of 3 bytes, whilst a special note off say for d#3 only consists only of 2 bytes. What am I missing?

Well, it's late and I don't understand. Do you speak of All notes off?


EDIT: After reading 14 times I seem to get it (and to remember). It's lllooooong loooong ago, I was really into that stuff. I have to look that up again.

Sorry for giving false info.





-Data

gofer
06-11-2010, 02:45 AM
Sorry, didn't mean to kick you anywhere :). Just set the info right. It's very easy to forget about the details of the MIDI specifications, because luckily we don't need to care that much anymore. The times where we needed to understand that stuff to be able to steer around the shortcomings have faded with soft synths.

I also wasn't exact myself, (kick me back :)) because the first byte of ordinary MIDI events is not only status (telling which event type is following, a note on/ note off/ controller/ bank change or whatever), but also the channel of the event is in that byte. So you only reap benefit of "running status" when event type and channel stay the same.


MIDI Note-Off is indeed also 3 bytes, just like Note-On. They even have the exact same meaning. Status/channel , Note number (=pitch) , velocity. The only difference is the value of the status part of the first byte.

Hope that muds things up enough to unclear the matter entirely :D



EDIT: I hope we didn't scare the OP away with that talk... Erwin, this status stuff isn't something you need to know. We old farts needed to know such stuff because we dealt with lots of outboard devices daisy chained to the same MIDI port and clogged the MIDI stream with masses of messages on all 16 channels to talk to those devices. Nowadays each device tends to have it's own port, so the MIDI bandwidth problems don't apply that much anymore.
Which is why Data and me both struggle with our fading memories when talking about it.

Mr. Data
06-11-2010, 09:10 AM
Sorry, didn't mean to kick you anywhere :).

...

I also wasn't exact myself, (kick me back :))

No, I won't :p

MIDI Note-Off is indeed also 3 bytes, just like Note-On. They even have the exact same meaning. Status/channel , Note number (=pitch) , velocity. The only difference is the value of the status part of the first byte.


Yes, that's what I confused.


EDIT: I hope we didn't scare the OP away with that talk... Erwin, this status stuff isn't something you need to know. We old farts needed to know such stuff because we dealt with lots of outboard devices daisy chained to the same MIDI port and clogged the MIDI stream with masses of messages on all 16 channels to talk to those devices. Nowadays each device tends to have it's own port, so the MIDI bandwidth problems don't apply that much anymore.
Which is why Data and me both struggle with our fading memories when talking about it.

Yeah, sigh! :rolleyes:





-Data

Moe45673
06-11-2010, 05:39 PM
Hey, I've got a similar question. I'm using Addictive Drums with Reaper.

Is there a way to keep a note from ringing out, eg hit a crash symbol then immediately grab it to mute it (you know, like if I wanted to do "Eye of the Tiger" :p )? Plus, while I've got your attention, how can I change the tempo so that it's in swing time, rather than straight ahead 4 to the floor (like a blues or jazz number)? Or do irregular groupings in regular 4/4, like a triplet?

AtmanActive
06-11-2010, 06:36 PM
You can do note choking with some of these tricks:

a) force your drum sample player to follow ADSR envelope, enable envelope somewhere, look for 'Release' parameter or similar. Then, just draw a shorter note in MIDI editor.

b) make a copy of the drum instrument note inside your drum sample player and shorten that copied instrument, look for 'release' or 'length' or 'hold' parameters. Then, just use another note in MIDI editor to trigger that shorter one.

c) make an exclusive group of two instruments in your drum sample player, leaving second (new) instrument blank or with short silence sample. Then, in MIDI editor trigger this second note when you want to choke the first one that is in the same exclusive group.

d) (my choice) if you choke a cymbal on some breaks (like Eye of the Tiger), then you can do a volume envelope, either via MIDI volume events, or via track volume automation. Just quickly lower the volume when you want cymbal choked, and restore it right before the next drum hit. This is my preferred method because in this way you can control how quickly the sound fades out (and in which moment exactly), so you can make it more natural-like sounding (and introduce variations).

Erriez
06-12-2010, 03:36 AM
My simple questions ended up in a complex thread, so let me summarize it. Please correct me if I'm wrong:

1. Drum-computers or VST instruments don't care about drum-note lengths or note off. (I was concerned about this)


2. In the Reaper MIDI editor you can change the velocity before entering notes by clicking on the piano-roll key's. Clicking left results in low velocity and more right higher velocity.

A missing feature: It is not possible to see the new velocity value 0...127 by clicking on the piano-roll. It's guessing.


3. In the Reaper MIDI editor is not possible to set the note length before entering notes in the Rectangular and Diamond (drum mode). The note lengths will always set to the grid size.

I see this as a missing feature in the Rectangular as well as the Diamond (drum mode).


4. The reason why I've started this thread is that I encountered a problem with drum-mode which is easily reproducible:

1. Create a new project.
2. Insert a new track.
3. Insert a two measures long MIDI item.
4. Open the MIDI item in the built-in MIDI editor > View > Diamond (Drum mode)
5. Set grid to 1/2.

6. Insert one note on the third beat in the first measure.
The note length is now 1/2 and stops at the end of the first measure
which is important. Nothing wrong with playing the two measures in
a loop, right?

7. Now set the loop selection to the second measure and start playback.
Now you hear the drum-note from the first measure.

This is wrong! In a drum-loop you should not hear notes from the previous measure.

See the screenshot below:
http://s1.postimage.org/eCUoS.jpg (http://www.postimage.org/image.php?v=gxeCUoS)


Cockos can simply fix this by adding two GUI controls beside the Grid drop-down box:
- Insert a note velocity numeric-up-down control, value 0...127.
- Insert a note length drop-down box: Set note length same as grid or: specify note length: 2, 1, 1/4, 1/8, 1/16...

Steinberg has this feature for example:

http://s1.postimage.org/eDili.jpg (http://www.postimage.org/)

gofer
06-12-2010, 04:12 AM
Tried to reproduce, but without success. Looping the second measure plays silence here, as it should.

But related to this there is indeed an unwanted behavior. I reported it somewhere, but it was before we had the issue tracker. Can't find the report now. Maybe this is what you encounter?

If the note length slightly lasts into measure two (say it ends on the second 16th of the second measure), playing the loop will indeed play that note as if it started at the loop start time. This has to do with Reaper trying to trace back sounding notes and is alright with other sounds, but sure enough not with drums.

It has nothing to do with the view mode, these modes are visual candy only, behavior is exactly the same. Giving us a note length dropdown would just be a workaround. A fix would consist of an option to deactivate the tracing back of sounding notes (for drum MIDI).

Erriez
06-12-2010, 09:04 AM
Tried to reproduce, but without success.

Did you also use Reaper version 3.52 or 3.60 x86 on Windows?

Looping the second measure plays silence here, as it should.

Strange. Are you sure the newly entered note reaches exactly the end of the first measure? Did you also enable "snap to grid"? That makes sense.

Same problem with grid 1/2 and set a note at the 3th beat, with 1/16 set a note at the last 16th of the first measure.

I can reproduce this with a VST drum-instrument as well as my MIDI TD12 drum computer.

It has nothing to do with the view mode

Exactly, this is a problem in Rectangles and Diamond (drum mode).

gofer
06-12-2010, 09:16 AM
Did you also use Reaper version 3.52 or 3.60 x86 on Windows?

v3.6 on XP 32bit (service pack 3)

Strange. Are you sure the newly entered note reaches exactly the end of the first measure? Did you also enable "snap to grid"? That makes sense.


Absolutely sure. Snap enabled.

Don't know what to make of it, sorry. Maybe open a thread in the bug report forum, might find more people to check it. Always a good idea to attach a project file with the situation that shows the bug.

Erriez
06-12-2010, 12:57 PM
I forgot a setting: Repeat must be turned on. It should only play the empty second measure.

I've reported the bug in http://forum.cockos.com/showthread.php?p=528144