Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER Q&A, Tips, Tricks and Howto

Reply
 
Thread Tools Display Modes
Old 08-19-2013, 02:41 AM   #1
washburnwg228
Human being with feelings
 
Join Date: Apr 2010
Posts: 10
Default Randomize MIDI velocity within a set range

Hi,

I just wanted to ask if there was a way to randomize velocity (humanize) within reaper within a specific range. To make it more clear, let me give you an example:

Suppose for the kick drum, I select all my notes for one particular track. Now when I humanize the notes, the velocity fader works based on a percentage of 0-100%. The more you increase the percentage, the more random the velocities of each note becomes. However, this doesn't solve the problem of having a minimum and maximum range for velocities. For the kick drums, I wouldn't want my velocity to go below 120. Is there any way to set a minimum velocity range within the humanize option?

And if there is no way to do that in Reaper, could anyone please suggest a vst which is capable of doing that?

Last edited by washburnwg228; 08-19-2013 at 02:48 AM. Reason: Missed a point
washburnwg228 is offline   Reply With Quote
Old 08-19-2013, 04:30 AM   #2
Doffenheim
Human being with feelings
 
Join Date: Jan 2010
Location: Berlin
Posts: 60
Default

Perhaps a combination of JS plugs.

JS: MIDI/midi_velocitycontrol
JS: schwa/midi_humanizer
Doffenheim is offline   Reply With Quote
Old 08-19-2013, 04:45 AM   #3
chriscomfort
Human being with feelings
 
chriscomfort's Avatar
 
Join Date: Aug 2009
Location: NYC
Posts: 1,805
Default

Quote:
Originally Posted by Doffenheim View Post
Perhaps a combination of JS plugs.

JS: MIDI/midi_velocitycontrol
JS: schwa/midi_humanizer
Reverse the order. Or just use the built in Humanize function along with midi_velocitycontrol. Either way, adjust the settings to taste, then in the main Arrange screen, right click on the MIDI item and select Apply track FX to item as new take (MIDI output).

Problem is, any insert FX will affect any notes in that MIDI item. Unless you can figure out a way to limit which note is being effected.
__________________
http://chriscomfortmusic.com
chriscomfort is offline   Reply With Quote
Old 08-19-2013, 05:58 AM   #4
Doffenheim
Human being with feelings
 
Join Date: Jan 2010
Location: Berlin
Posts: 60
Default

velocitycontrol has min/max note range sliders. They were working for me - kick on 36, snare on 38

The humanize plug has a midi channel filter, so perhaps you could change the kicks, or whatever, to a different channel and see how that works. Never tried it. Or strip the kick out onto a different track and route it back.

Last edited by Doffenheim; 08-19-2013 at 06:14 AM.
Doffenheim is offline   Reply With Quote
Old 08-19-2013, 08:16 AM   #5
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,668
Default

And here's a ReaScript for setting random velocities (in selected range). Needs the latest SWS extensions:


Code:
# Set random velocity in selected range
from sws_python import *
from contextlib import contextmanager
import random

@contextmanager
def undoable(message):
    RPR_Undo_BeginBlock2(0)
    try:
        yield
    finally:
        RPR_Undo_EndBlock2(0, message, -1)

with undoable("Set random velocity"):

    def msg(m):
        RPR_ShowConsoleMsg(m)

    def dialog():
        names = "Min velocity:,Max velocity"
        maxreturnlen = 200   # one more than what you expect to get back
        defvalues = "1,127"   # default values
        nitems = len(defvalues.split(',')) # number of input boxes
        Query = RPR_GetUserInputs("Set random velocity",nitems,names,defvalues,maxreturnlen) # call dialog and get result

        q = Query[0]
        if q == 1: # user clicked OK
            UserValues = Query[4].split(',')

            minVel = str(UserValues[0])
            maxVel = str(UserValues[1])
            return q, minVel, maxVel
        else:
            q, minVel, maxVel = 0, 0, 0
            return q, minVel, maxVel

    def mainF():
        q, minVel, maxVel = dialog()
        if q == 0:
            return
        if minVel == "":
            minVel = 1
        if maxVel == "":
            maxVel = 127
        try:
            minVel = int(minVel)
            maxVel = int(maxVel)
            if maxVel > 127:
                maxVel = 127
            if maxVel < 1:
                maxVel = 1
            if minVel < 1:
                minVel = 1
            if minVel > maxVel:
                msg("Min velocity should be < Max velocity (range = 1 to 127)")
                return
            if maxVel < minVel:
                msg("Max velocity should be > Min velocity (range = 1 to 127)")
                return
        except ValueError:
            msg("Integers only")
            return

        midiTake = FNG_AllocMidiTake(RPR_MIDIEditor_GetTake(RPR_MIDIEditor_GetActive()))
        noteCount = FNG_CountMidiNotes(midiTake)
        for i in range(noteCount):
            noteId = FNG_GetMidiNote(midiTake, i)
            isSelected = int(FNG_GetMidiNoteIntProperty(noteId, "SELECTED"))
            if isSelected:
                newVel = random.randint(minVel, maxVel)
                FNG_SetMidiNoteIntProperty(noteId, "VELOCITY", newVel)
        FNG_FreeMidiTake(midiTake)
        RPR_Undo_OnStateChange2(0, "Set random velocity")

    mainF()

Last edited by spk77; 08-19-2013 at 09:53 AM. Reason: set default range to 1-127 + added (user) error handling
spk77 is offline   Reply With Quote
Old 08-19-2013, 09:44 AM   #6
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Location: Kalispell
Posts: 14,759
Default

Quote:
Originally Posted by spk77 View Post
And here's a ReaScript for setting random velocities (in selected range). Needs the latest SWS extensions:
Thanks spk, that seems to work quite well.
Tod is offline   Reply With Quote
Old 08-19-2013, 09:56 AM   #7
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,668
Default

Quote:
Originally Posted by Tod View Post
Thanks spk, that seems to work quite well.
Very nice, Tod. I just updated it -> default range = 1 to 127 and added some "error handling".
spk77 is offline   Reply With Quote
Old 08-19-2013, 11:17 AM   #8
Tod
Human being with feelings
 
Tod's Avatar
 
Join Date: Jan 2010
Location: Kalispell
Posts: 14,759
Default

Quote:
Originally Posted by spk77 View Post
Very nice, Tod. I just updated it -> default range = 1 to 127 and added some "error handling".
Okay, got it, thanks. Already got it in my MIDI toolbar.
Tod is offline   Reply With Quote
Old 03-21-2014, 05:55 AM   #9
truckermusic
Human being with feelings
 
truckermusic's Avatar
 
Join Date: Dec 2010
Location: Riverview, Fl. U.S.A.
Posts: 55
Default velocity scaling

Hi guys

Ok stupid question here.....this is EXCATLY what I am looking for....I have a large project which is mostly midi and want to scale the velocitys of each track with in a percentage range....

Now for the stupid question...

HOW do I get what spk has done for us to work in reaper???

I've never done this before....I do have the latest version of Reaper and I have the SWS Extensions (which are not showing in my tool bar so I need to get them up and running as well)

Thanks
Clifford
__________________
I am old enough to know better, Crazy enough to not care,
Silly enough to try it, Young enough to want to learn it,
and these are just my first thoughts of the day.
truckermusic is offline   Reply With Quote
Old 03-21-2014, 07:24 AM   #10
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 7,268
Default

truckermusic you could use JS velocity effects in the tracks.
Check JS MIDI/midi_velocitycontrol
or JS IX/MIDI_Velocifier II
heda is offline   Reply With Quote
Old 03-21-2014, 07:48 AM   #11
truckermusic
Human being with feelings
 
truckermusic's Avatar
 
Join Date: Dec 2010
Location: Riverview, Fl. U.S.A.
Posts: 55
Default

Quote:
Originally Posted by heda View Post
truckermusic you could use JS velocity effects in the tracks.
Check JS MIDI/midi_velocitycontrol
or JS IX/MIDI_Velocifier II
Excellent!
now will this work on the entire track even if that track is made up of LOTS of clips......

Meaning the track in not one big long clip.....Each clip in the track is about 2 measures long and there are over 200 + measures.

Thanks
Clifford
__________________
I am old enough to know better, Crazy enough to not care,
Silly enough to try it, Young enough to want to learn it,
and these are just my first thoughts of the day.
truckermusic is offline   Reply With Quote
Old 03-21-2014, 08:30 AM   #12
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,668
Default

Here's "Set random velocities within range" converted to EEL. No need to install Python, needs REAPER 4.60+



1) Save as scriptname.eel (scriptname can be anything)
2) From the action list, select ReaScript: New/load... -> select the saved ".eel" -file

Code:
// Set random MIDI note velocity within range (selected notes)

function dialog()
(
  #dialog_ret_vals = "1,127"; //default values
  GetUserInputs("Set random velocity in selected range", 2, "Min velocity:,Max velocity:", #dialog_ret_vals);
);

function set_random_velocities() local (t, index, diff)
(
  (take = MIDIEditor_GetTake(MIDIEditor_GetActive())) ? (
    dialog() ? (
      match("%d,%d", #dialog_ret_vals, min_vel, max_vel);
      
      min_vel > 127 ? min_vel = 127;
      min_vel < 1 ? min_vel = 1;
      max_vel > 127 ? max_vel = 127;
      max_vel < 1 ? max_vel = 1;
      min_vel > max_vel ? (
        t = max_vel;
        max_vel = min_vel;
        min_vel = t;
      );
      diff = max_vel - min_vel;
    
      index = -1;
      while ((index = MIDI_EnumSelNotes(take, index)) != -1) (
        MIDI_GetNote(take, index, selectedOut, mutedOut, startppqpos, endppqposOut, chanOut, pitchOut, vel);
        MIDI_SetNote(take, index, selectedOut, mutedOut, startppqpos, endppqposOut, chanOut, pitchOut, min_vel + rand(diff + 1)|0);
      );
      Undo_OnStateChange("Adjust note velocity");
    );
  );
);

set_random_velocities();

Last edited by spk77; 03-21-2014 at 11:43 PM. Reason: removed unnecessary lines
spk77 is offline   Reply With Quote
Old 03-21-2014, 08:49 AM   #13
DarkStar
Human being with feelings
 
DarkStar's Avatar
 
Join Date: May 2006
Location: Surrey, UK
Posts: 19,681
Default

Quote:
Originally Posted by spk77 View Post
Here's "Set random velocities within range" converted to EEL. No need to install Python, needs REAPER 4.60+
How do I debug an EEL?

(Perhaps we should have an EEL Editor, same as the JS FX Editor.]
__________________
DarkStar ... interesting, if true. . . . Inspired by ...
DarkStar is online now   Reply With Quote
Old 03-21-2014, 10:18 AM   #14
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,668
Default

Quote:
Originally Posted by DarkStar View Post
How do I debug an EEL?

(Perhaps we should have an EEL Editor, same as the JS FX Editor.]
I think Justin promised to add EEL support for the JSFX editor :
http://forum.cockos.com/showpost.php...5&postcount=24


I use gfx_printf() and ShowConsoleMsg("msg") for debugging:
Code:
C: void ShowConsoleMsg(const char* msg)

EEL: ShowConsoleMsg("msg")

Python: RPR_ShowConsoleMsg(String msg)

Show a message to the user (also useful for debugging). Send "\n" for newline, "" to clear the console window.
spk77 is offline   Reply With Quote
Old 03-23-2014, 09:56 AM   #15
truckermusic
Human being with feelings
 
truckermusic's Avatar
 
Join Date: Dec 2010
Location: Riverview, Fl. U.S.A.
Posts: 55
Default

Quote:
Originally Posted by spk77 View Post
Here's "Set random velocities within range" converted to EEL. No need to install Python, needs REAPER 4.60+



1) Save as scriptname.eel (scriptname can be anything)
2) From the action list, select ReaScript: New/load... -> select the saved ".eel" -file

Code:
// Set random MIDI note velocity within range (selected notes)

function dialog()
(
  #dialog_ret_vals = "1,127"; //default values
  GetUserInputs("Set random velocity in selected range", 2, "Min velocity:,Max velocity:", #dialog_ret_vals);
);

function set_random_velocities() local (t, index, diff)
(
  (take = MIDIEditor_GetTake(MIDIEditor_GetActive())) ? (
    dialog() ? (
      match("%d,%d", #dialog_ret_vals, min_vel, max_vel);
      
      min_vel > 127 ? min_vel = 127;
      min_vel < 1 ? min_vel = 1;
      max_vel > 127 ? max_vel = 127;
      max_vel < 1 ? max_vel = 1;
      min_vel > max_vel ? (
        t = max_vel;
        max_vel = min_vel;
        min_vel = t;
      );
      diff = max_vel - min_vel;
    
      index = -1;
      while ((index = MIDI_EnumSelNotes(take, index)) != -1) (
        MIDI_GetNote(take, index, selectedOut, mutedOut, startppqpos, endppqposOut, chanOut, pitchOut, vel);
        MIDI_SetNote(take, index, selectedOut, mutedOut, startppqpos, endppqposOut, chanOut, pitchOut, min_vel + rand(diff + 1)|0);
      );
      Undo_OnStateChange("Adjust note velocity");
    );
  );
);

set_random_velocities();

spk77
I hate to be stupid here.

But I am not understanding HOW to do this???

You say say tit...but to what... a work doc.??? notepad editor???

I have noever done this so that is why I am a little lost here..

But this is exactly what I am looking for....
I am use to Sonar X1 just having a menue item to do this

Clifford
__________________
I am old enough to know better, Crazy enough to not care,
Silly enough to try it, Young enough to want to learn it,
and these are just my first thoughts of the day.
truckermusic is offline   Reply With Quote
Old 03-23-2014, 11:05 AM   #16
dtrud0h
Human being with feelings
 
Join Date: Feb 2014
Posts: 129
Default

@truckermusic
Yes copy the text (code) in the window, open a blank notepad and paste it, at the botom it says Filename, type RandomizeMidiVelocity.eel (or whatever you want to call it.eel), then below that change the selection from .txt to *all files and hit save. Now open your midi editor, select either all events, or per row the events you want to modify, then open the actions menu and view actions list. Next, on the right hand side of the actions window there is a button that says reascript new/load, push the button navigate to the file you saved in notepad, probably in my documents(default) and click the file with the .eel extension. In the Big window on the right you'll see that "Custom:randomizeMidiVelocities is hilited, you can either hit run and your done or you can create a custom action and assign it to a toolbar button or pin it to the actions menu. You can also assign it to a keyboard shortcut within the same window. Now whenever you want to use it select your events, and either use the keyboard shortcut, use the toolbar button you created, pick it from the actions menu if it was pinned, or search the actions menu for the name you gave the script and it will run with a dialog asking the range that it should be confined to.
dtrud0h is offline   Reply With Quote
Old 03-23-2014, 11:23 AM   #17
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,668
Default

Quote:
Originally Posted by truckermusic View Post
spk77
I hate to be stupid here.

But I am not understanding HOW to do this???

You say say tit...but to what... a work doc.??? notepad editor???

I have noever done this so that is why I am a little lost here..

But this is exactly what I am looking for....
I am use to Sonar X1 just having a menue item to do this

Clifford
dtrud0h eplained it better than me (in the post#16)

I uploaded a zip file - here's the download link:
https://stash.reaper.fm/20117/Set%20r...in%20range.zip

1) load the file to your computer
2) unzip
3) from the action list -> Select ReaScript: New/load... -> choose the unzipped file -> you should see Set random velocities within range.eel in the Action list
spk77 is offline   Reply With Quote
Old 03-24-2014, 05:48 AM   #18
truckermusic
Human being with feelings
 
truckermusic's Avatar
 
Join Date: Dec 2010
Location: Riverview, Fl. U.S.A.
Posts: 55
Default

dtrud and spk

Thank you both.
I will try this tonight when I get home...
This is just something I've never done before and will let you know how it goes...


This is a very useful tool....should be a standard button

Thank you both!
__________________
I am old enough to know better, Crazy enough to not care,
Silly enough to try it, Young enough to want to learn it,
and these are just my first thoughts of the day.
truckermusic is offline   Reply With Quote
Old 03-25-2014, 03:24 AM   #19
truckermusic
Human being with feelings
 
truckermusic's Avatar
 
Join Date: Dec 2010
Location: Riverview, Fl. U.S.A.
Posts: 55
Default

Hi Guys
I fo9llowed your instructions. Got the zip file. Extracted it. saved the unzipped file to my doc / Reaper (folder)

Opened reaper,
opened my project,
Highlighted every clip in one row (track) ,
went to the action list
the action list box opened,
hit the new / load button
navagated to the new file ....in this case I kept the same name
it imported to the action list dialog box
I highlighted the set random velocities with in range.eel
hit run

nothing happened

What did I do wrong?
__________________
I am old enough to know better, Crazy enough to not care,
Silly enough to try it, Young enough to want to learn it,
and these are just my first thoughts of the day.
truckermusic is offline   Reply With Quote
Old 03-25-2014, 07:47 AM   #20
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,668
Default

Quote:
Originally Posted by truckermusic View Post
Hi Guys
I fo9llowed your instructions. Got the zip file. Extracted it. saved the unzipped file to my doc / Reaper (folder)

Opened reaper,
opened my project,
Highlighted every clip in one row (track) ,
went to the action list
the action list box opened,
hit the new / load button
navagated to the new file ....in this case I kept the same name
it imported to the action list dialog box
I highlighted the set random velocities with in range.eel
hit run

nothing happened

What did I do wrong?
I forgot to mention that this script works only for "currently active take in MIDI editor", so you have to open the takes in the MIDI editor (one by one).
spk77 is offline   Reply With Quote
Old 03-25-2014, 07:56 AM   #21
truckermusic
Human being with feelings
 
truckermusic's Avatar
 
Join Date: Dec 2010
Location: Riverview, Fl. U.S.A.
Posts: 55
Default

Quote:
Originally Posted by spk77 View Post
I forgot to mention that this script works only for "currently active take in MIDI editor", so you have to open the takes in the MIDI editor (one by one).
OH No!
Well ok....but I did try that and I got all the way as stated above but the Range dialog box failed to open whether I have only one clip open or all clips.....

Wait.....maybe I just answered my own question......duh!!!

I just "HIghlighted" the clips.....I did not open the midi editor and try.....well I did but I had all the clips highlighted and so the midi editor opened for each clip which was like a trillion of them.....

so I closed all the editors and just highlighted the clips....first all of them and then individually.....but I did not do it with just one editor open......meaning one clip's editor....

You have given me an idea....
what I will do is open the editor for the one clip, then open the editor and then run the script!.............DUH!!!!!

Thank you sir
I will let you know how it goes
Clifford
__________________
I am old enough to know better, Crazy enough to not care,
Silly enough to try it, Young enough to want to learn it,
and these are just my first thoughts of the day.
truckermusic is offline   Reply With Quote
Old 03-25-2014, 01:49 PM   #22
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,668
Default

I'm working on a GUI version of "Randomize MIDI velocity within range":

spk77 is offline   Reply With Quote
Old 03-25-2014, 03:05 PM   #23
heda
Human being with feelings
 
heda's Avatar
 
Join Date: Jun 2012
Location: Spain
Posts: 7,268
Default

Quote:
Originally Posted by spk77 View Post
I'm working on a GUI version of "Randomize MIDI velocity within range":
yes! Could it be combined in the same tool with the ramp one? Or maybe it is better as a separate script. I hope it also works in CC's

I like it a lot. Also, another mode would be, adding randomness to existing values. Setting a max range value and it would add a random value from -range to +range to the existing values.
edit: this is already possible with Reaper's Humanize Notes dialog for velocities. But if this also works with CC's it would be interesting.

Last edited by heda; 03-25-2014 at 03:15 PM.
heda is offline   Reply With Quote
Old 03-25-2014, 03:30 PM   #24
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,668
Default

Quote:
Originally Posted by heda View Post
yes! Could it be combined in the same tool with the ramp one? Or maybe it is better as a separate script. I hope it also works in CC's

I like it a lot. Also, another mode would be, adding randomness to existing values. Setting a max range value and it would add a random value from -range to +range to the existing values.
edit: this is already possible with Reaper's Humanize Notes dialog for velocities. But if this also works with CC's it would be interesting.
I'll keep it as a separate script for now. Only velocities can be randomized at the moment, but CC values could be randomized in the same way (range would be 0 to 127, now it's 1 to 127).
spk77 is offline   Reply With Quote
Old 03-25-2014, 05:02 PM   #25
dtrud0h
Human being with feelings
 
Join Date: Feb 2014
Posts: 129
Default

@truckermusic
Sorry, my instructions were screwed up some.
Double click on a sequence of midi within the track window and the midi editor will open, from that midi editor window ( will be midi sequence specific) select your notes(events) and go through the motions to run the .eel script. I would recommend making a keyboard shortcut, or toolbar button to call the script simply because it's a lot of steps when you're trying to open a midi editor, select notes, dig through the actions list, and finally execute the script. Things can go awry with the sequence. A shortcut, or button makes it pretty straight forward. Just get your bit of midi open in the editor, then hilite your desired notes, then either the shortcut or the button. Makes it a lot less foolproof, not that I'm calling you a fool but it took me a while to get it down so I could make it work every time without fail.
dtrud0h is offline   Reply With Quote
Old 03-26-2014, 04:31 AM   #26
truckermusic
Human being with feelings
 
truckermusic's Avatar
 
Join Date: Dec 2010
Location: Riverview, Fl. U.S.A.
Posts: 55
Default

Quote:
Originally Posted by dtrud0h View Post
@truckermusic
Sorry, my instructions were screwed up some.
Double click on a sequence of midi within the track window and the midi editor will open, from that midi editor window ( will be midi sequence specific) select your notes(events) and go through the motions to run the .eel script. I would recommend making a keyboard shortcut, or toolbar button to call the script simply because it's a lot of steps when you're trying to open a midi editor, select notes, dig through the actions list, and finally execute the script. Things can go awry with the sequence. A shortcut, or button makes it pretty straight forward. Just get your bit of midi open in the editor, then hilite your desired notes, then either the shortcut or the button. Makes it a lot less foolproof, not that I'm calling you a fool but it took me a while to get it down so I could make it work every time without fail.
Oh Man... your instructions were not screwed up.........it was me! I did not pay attention as hard as I should have.....I actually think you did good.....

Besides, look at all the quality help I got here.....I feel that when you go to learn something you can derive a lot of quality information from several people......What I'm saying is more times than not you need the help of serveral people to bring you to the answer so its all good...

you and spk77 got me 95% of the way there I needed to pay more attention to what was said.....and by writting it out a couple of posts ago it all came together from me....

So you did fine!

@spk77
working on that GUI will be fantastic......

I did get it to work last night but I was not entirely happy with the results....It did even out the track like I was looking for but some spots still had to be done by hand.......but that was not your or my fault....it was just the product of the operation.....but you know....at least it got me a LOT of the way there so it was faster and easier.....

So thanks to your hard work and effort you did make my life simpler....

so thank you
I look forward to the new GUI.....let me know when it is out (I'll keep checking here for it....)

Thank you to everyone who helped me here!

Clifford

But I still feel it is
__________________
I am old enough to know better, Crazy enough to not care,
Silly enough to try it, Young enough to want to learn it,
and these are just my first thoughts of the day.
truckermusic is offline   Reply With Quote
Old 03-26-2014, 01:55 PM   #27
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,668
Default

Ok, I finished the GUI version:

EEL script: Randomize MIDI note velocities within range (GUI version):
http://forum.cockos.com/showthread.p...69#post1333669

Download link:
https://stash.reaper.fm/20153/Set%20r...h%20GUI%29.zip

spk77 is offline   Reply With Quote
Old 03-26-2014, 10:35 PM   #28
minerman
Human being with feelings
 
minerman's Avatar
 
Join Date: Jun 2009
Posts: 369
Default

Any of you guys give me a step by step walk-through to get this running??? I really have no idea where to save the eel file, & I'm actually completely lost...Thanks in advance, looks like this would be great for midi drums if I could get it working...
minerman is offline   Reply With Quote
Old 03-27-2014, 12:22 AM   #29
adaragray
Human being with feelings
 
adaragray's Avatar
 
Join Date: Jan 2012
Location: Bananenrepublik Deutschland
Posts: 307
Default

first of all, i would suggest to make yourself a toolbar-button
with the action "ReaScript: run reascript (EEL)"

now everytime you click that button a window with the default path to your script-folder pops up. (EEL scripts go here).
You can drag and drop the unpacked scripts there from a second explorer window.


btw. Awesome as allways SPK77 !!
__________________
www.shallmodule.com

Last edited by adaragray; 03-27-2014 at 12:27 AM.
adaragray is offline   Reply With Quote
Old 03-27-2014, 09:15 AM   #30
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,668
Default

Quote:
Originally Posted by adaragray View Post
first of all, i would suggest to make yourself a toolbar-button
with the action "ReaScript: run reascript (EEL)"

now everytime you click that button a window with the default path to your script-folder pops up. (EEL scripts go here).
You can drag and drop the unpacked scripts there from a second explorer window.


btw. Awesome as allways SPK77 !!
Thanks

Quote:
Originally Posted by minerman View Post
Any of you guys give me a step by step walk-through to get this running??? I really have no idea where to save the eel file, & I'm actually completely lost...Thanks in advance, looks like this would be great for midi drums if I could get it working...
1) download and unzip first (you can choose the folder)
2) open the Action list

This is how to add a script into the "Action list" (and how to make a MIDI toolbar button):
spk77 is offline   Reply With Quote
Old 03-27-2014, 10:10 AM   #31
truckermusic
Human being with feelings
 
truckermusic's Avatar
 
Join Date: Dec 2010
Location: Riverview, Fl. U.S.A.
Posts: 55
Default

Quote:
Originally Posted by minerman View Post
Any of you guys give me a step by step walk-through to get this running??? I really have no idea where to save the eel file, & I'm actually completely lost...Thanks in advance, looks like this would be great for midi drums if I could get it working...
Hi
These are dulth's instructions to me which are pretty good. the only thing you need to remember is to HIGHLIGHT the midi notes 1st and then run the eel.

Custom:randomizeMidiVelocities
1. Copy the text (code) in the window,
2. Open a blank notepad and paste it,
3. At the bottom it says Filename, type RandomizeMidiVelocity.eel (or whatever you want to call it. eel),
4. Then below that change the selection from .txt to *all files and hit save.
5. Now open your midi editor,
6. Select either all events, or per row the events you want to modify,
7. Open the actions menu and view actions list.
8. On the right hand side of the actions window there is a button that says reascript new/load, push the button and navigate to the file you saved in notepad, probably in my documents(default) and click the file with the .eel extension.
9. In the Big window on the right you'll see that "Custom:randomizeMidiVelocities is highlighted, you can either hit run and your done or you can create a custom action and assign it to a toolbar button or pin it to the actions menu.
10. You can also assign it to a keyboard shortcut within the same window.
11. Now whenever you want to use it select your events, and either use the keyboard shortcut, use the toolbar button you created, pick it from the actions menu if it was pinned, or search the actions menu for the name you gave the script and it will run with a dialog asking the range that it should be confined to.

i hope this helps.
If not...ask and I will try to do better!
Clifford
__________________
I am old enough to know better, Crazy enough to not care,
Silly enough to try it, Young enough to want to learn it,
and these are just my first thoughts of the day.
truckermusic is offline   Reply With Quote
Old 01-30-2016, 10:46 PM   #32
memyselfandus
Human being with feelings
 
memyselfandus's Avatar
 
Join Date: Oct 2008
Posts: 1,598
Default

Quote:
Originally Posted by spk77 View Post
Ok, I finished the GUI version:

EEL script: Randomize MIDI note velocities within range (GUI version):
http://forum.cockos.com/showthread.p...69#post1333669

Download link:
https://stash.reaper.fm/20153/Set%20r...h%20GUI%29.zip


Nice! Lua version too?
memyselfandus is offline   Reply With Quote
Old 01-31-2016, 12:39 AM   #33
spk77
Human being with feelings
 
Join Date: Aug 2012
Location: Finland
Posts: 2,668
Default

Quote:
Originally Posted by memyselfandus View Post
Nice! Lua version too?

Possibly, yes, but that will be in the future.
spk77 is offline   Reply With Quote
Old 02-02-2016, 08:42 AM   #34
memyselfandus
Human being with feelings
 
memyselfandus's Avatar
 
Join Date: Oct 2008
Posts: 1,598
Default

Quote:
Originally Posted by spk77 View Post
Possibly, yes, but that will be in the future.
Kick ass!
memyselfandus is offline   Reply With Quote
Old 02-02-2016, 09:00 AM   #35
lowellben
Human being with feelings
 
lowellben's Avatar
 
Join Date: Aug 2010
Location: They put me in a home.
Posts: 3,432
Default

Quote:
Originally Posted by spk77 View Post
Possibly, yes, but that will be in the future.
)))))
__________________
47.8% of statistics are made up.
lowellben is offline   Reply With Quote
Old 08-16-2016, 08:40 AM   #36
ebtihal
Human being with feelings
 
Join Date: Jul 2011
Posts: 27
Default randomize velocity eel scripts---not working.

Okay, If you're like me and you have multiple midi tracks open in your MEW at any given time (either atop eachother or as separate tabs in a docker) you may need to close some of them to ensure that this script runs on the current selected MIDI notes in your intended MIDI track. I don't really know how Reaper decides what the "current track" is. You'd think it'd be the one selected in the Main Window, or the most recently touched track, or the leftmost tab in your docker, but I don't think it necessarily is.

Rpr 5.211 on a PC (tho I also use macs)

Last edited by ebtihal; 08-17-2016 at 12:51 PM. Reason: found the fix
ebtihal is offline   Reply With Quote
Old 12-15-2016, 06:56 PM   #37
ovnis
Human being with feelings
 
ovnis's Avatar
 
Join Date: Oct 2011
Posts: 2,924
Default

Is it normal if we can use this tool only with actived item and not with not actived item ?
ovnis is offline   Reply With Quote
Old 08-14-2018, 11:35 AM   #38
musicmashane
Human being with feelings
 
Join Date: Jun 2011
Posts: 96
Default

Hey guys I followed all instructions but I keep getting an error when I try to load the .eel file

"No supported scripts could be loaded"

Anybody know what that means or why I'm getting it?
musicmashane is offline   Reply With Quote
Old 08-14-2018, 05:36 PM   #39
musicmashane
Human being with feelings
 
Join Date: Jun 2011
Posts: 96
Default

Never-mind. When I saved as .eel it added the .txt so it was ".eel.txt" Got it working now
musicmashane is offline   Reply With Quote
Old 03-06-2020, 12:11 PM   #40
TonE
Human being with feelings
 
Join Date: Feb 2009
Location: Reaper HAS send control via midi !!!
Posts: 4,032
Default

Quote:
Originally Posted by spk77 View Post
I'm working on a GUI version of "Randomize MIDI velocity within range":

Is there already a jsfx version of this?
TonE is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 04:22 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.