|
|
|
08-11-2022, 09:57 AM
|
#1
|
Human being with feelings
Join Date: Dec 2016
Posts: 876
|
Convert Velocity to MIDI note
Does anyone know of a midi plugin that can convert Velocity values to MIDI notes?
Tom Holkenborg's percussion is laid out on the keyboard. Lower notes are lower velocity. Higher notes are higher velocity. Instead of the standard single note per drum with possible 127 velocity layers.
If I could convert my keyboard input velocity to a MIDI note value then I could play the drum patches normally.
|
|
|
08-11-2022, 10:18 AM
|
#2
|
Human being with feelings
Join Date: May 2017
Location: On the Eastern edge of London (UK), almost on the Essex border.
Posts: 179
|
Sorry I can't answer the question, but I need the same thing for a different reason. Rolands TD1 DMK drum kit plays the ride bell by sensing the velocity of the hit, and only plays it at the highest (or near highest) velocity. Otherwise, it plays the bow sound. This would be incredibly useful when using the kit with a vst.
Jim
|
|
|
08-11-2022, 11:12 AM
|
#3
|
Human being with feelings
Join Date: Sep 2008
Location: Sweden
Posts: 7,417
|
It is rather easy to write a JSFX to convert velocity to note. However, I can think of lots of different ways to do that conversion, and I don't think that the two of you think of the same way. So, without more info of how the conversion should be done, we cannot really write a suitable JSFX. However, you can code it yourselves, here is a sketch:
Code:
desc:MIDI Velocity to Note
//tags: MIDI processing
slider1:0<0,16,1{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}>Input Channel
in_pin:none
out_pin:none
@init
NOTE_ON = $x90;
// Set up the conversion map // this should be changed
vel_to_note = 0;
i = 0;
loop(128,
vel_to_note[i] = i; // new note same as velocity
i += 1;
);
@slider
in_channel = slider1-1; // -1 means "all"
@block
while
(
midirecv(ts, msg1, msg23) ?
(
status = msg1 & $xF0;
status == NOTE_ON ?
(
channel = msg1 & $x0F;
in_channel == -1 || in_channel == channel ?
(
velocity = (msg23 >> 8); // vel from this note
note = vel_to_note[velocity]; // convert to this note
msg23 = note | (velocity << 8); // with original velocity
);
);
midisend(ts, msg1, msg23);
return = 1;
);
);
The above is untested code. It compiles OK, but I just took a MIDI JSFX I had laying around and tweaked it. At least two things need to be changed related to the particular conversion, one is the contents of the velocity to note conversion map, and the other is the velocity of the new note. See the bold text in the code.
HTH
__________________
// MVHMF
I never always did the right thing, but all I did wasn't wrong...
|
|
|
08-11-2022, 11:40 AM
|
#5
|
Human being with feelings
Join Date: May 2017
Location: On the Eastern edge of London (UK), almost on the Essex border.
Posts: 179
|
Thank you for replying. There's no way I could do any coding, I wouldn't have clue. I had thought of adding a send to another track and getting that track to play the bell sound only above a certain velocity. (When I get some time, I'll work out at what value that change occurs). The sound of the bell would swamp the bow sound, so it wouldn't hurt to just leave that playing. I just don't know how to do it. I'm sure I've something that might do it in one of Kennys videos, but I can't remember what it was called.
Thanks, vitalker, I'll have to have a look at this one, too.
Jim
Last edited by Juan D'Fall; 08-11-2022 at 11:45 AM.
Reason: Added acknowledgement
|
|
|
08-11-2022, 04:29 PM
|
#6
|
Human being with feelings
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
|
In amongst the ReaRack3 modular synth JSFX - https://stash.reaper.fm/v/34071/ReaR...dularSynth.zip is a module called 'Signal Processor'. It allows mixing, conversion and scaling of various signal types. It has two inputs and one output. To convert MIDI from one type to another, just use a single input and ignore the 'Operation' parameter. On the input, select 'Note On velocity' (you'll have to scroll down past the 64 audio inputs) and on the output select 'Note Value'.
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 11:33 PM.
|