Go Back   Cockos Incorporated Forums > REAPER Forums > ReaScript, JSFX, REAPER Plug-in Extensions, Developer Forum

Reply
 
Thread Tools Display Modes
Old 11-01-2023, 05:41 AM   #1
erikmartinez
Human being with feelings
 
erikmartinez's Avatar
 
Join Date: Feb 2023
Location: Kazakhstan
Posts: 235
Default [SCRIPT MIDI] MVelocity - multi-tool for velocity editing

Script:
MVelocity


-----------------------------

The script can:

◈ Randomizing notes within a specified range. Before setting the range, it is advisable to update the target randomization values for more interesting results.
◈ Expanding or compressing velocity relative to the target value. If "compress" is selected, it will compress the notes toward the target value, while "expand" will work in the opposite direction.
◈ Creating interpolations for velocity using a Bezier curve.
◈ Setting velocity for notes at specific positions to quickly generate interesting rhythms.

-----------------------------

Features and controls:


● All parameters work “together”, so each parameter takes each other into account until the third change;


● LMB-draw along the vertical sliders to create quick patterns;


● Hold shift+drag left to set the same value for all v-sliders;


CTRL+ldrag will, in turn, bring the first held v-slider into focus;


● Use alt+lm to set values ​​only after releasing the left mouse button for optimization (also taking into account shift/ctrl+alt will change the notes only when the cursor is released);


● To work with a curve, you can use LMB either:


● For comfortable control of circles, use ctrl+lm for the nearest black point (vertical);


● To bend the curve and control the red dots, use shift+LMB for the nearest dot;


● You can stop being sad in case you are sad, the bezier curve will do it for you;


● Use presets to change the curve in the desired direction through the native menu (right-click on the curve screen, it will show the last installed preset);


● Hold and wait (or just click) on the “+” or “-” button so that vertical lines are gradually created;


● To quickly change the range (narrowing and stretching) you can use shift+wheel;


● To move the set range you can use ctrl+mousewheel;


● To change the direction, use drag and vertical control or the mouse wheel for target; factor is not supported temporarily:


-----------------------------

Installation

-----------------------------

1. Install js_ReaScriptAPI extension.
2. Import THIS repository via reapack.
3. Install MVarious and then MVelocity in the repack
4. Done!
-----------------------------
You can also try my script for creating arpeggios inside the MIDI editor - MArpeggiator


Last edited by erikmartinez; 11-01-2023 at 06:14 AM.
erikmartinez is online now   Reply With Quote
Old 11-01-2023, 07:08 AM   #2
Vagelis
Human being with feelings
 
Vagelis's Avatar
 
Join Date: Oct 2017
Location: Larisa, Greece
Posts: 3,911
Default

Another awesome midi tool from you, love it thanks man!
Vagelis is online now   Reply With Quote
Old 11-02-2023, 03:57 AM   #3
dahya
Human being with feelings
 
Join Date: Oct 2019
Posts: 245
Default

OMG, this also looks amazingly useful, thanks for that !
dahya is offline   Reply With Quote
Old 11-02-2023, 03:16 PM   #4
dahya
Human being with feelings
 
Join Date: Oct 2019
Posts: 245
Default

Hiya, so one thing I've noticed, is that if I have some notes in the midi editor, and I set some of them to mute, when I "fiddle" with the script (ie change any parameter), it unmutes the muted notes - is there a way to ignore muted notes or something in the script?
dahya is offline   Reply With Quote
Old 11-02-2023, 09:37 PM   #5
erikmartinez
Human being with feelings
 
erikmartinez's Avatar
 
Join Date: Feb 2023
Location: Kazakhstan
Posts: 235
Default

Quote:
Originally Posted by dahya View Post
Hiya, so one thing I've noticed, is that if I have some notes in the midi editor, and I set some of them to mute, when I "fiddle" with the script (ie change any parameter), it unmutes the muted notes - is there a way to ignore muted notes or something in the script?
indeed, I haven't considered ignoring muted notes. I added this to my notes and will definitely correct it in the next update.
erikmartinez is online now   Reply With Quote
Old 11-04-2023, 04:54 PM   #6
soundlimit15
Human being with feelings
 
Join Date: Nov 2007
Location: Tasmania
Posts: 87
Default Import Repository?

How do I import 'THIS' repository (text file) into repack,Import Repository asks for a URL? Thanks.
soundlimit15 is offline   Reply With Quote
Old 11-04-2023, 08:32 PM   #7
erikmartinez
Human being with feelings
 
erikmartinez's Avatar
 
Join Date: Feb 2023
Location: Kazakhstan
Posts: 235
Default

Quote:
Originally Posted by soundlimit15 View Post
How do I import 'THIS' repository (text file) into repack,Import Repository asks for a URL? Thanks.
Just copy the link and import into reapak
erikmartinez is online now   Reply With Quote
Old 11-05-2023, 06:56 AM   #8
goto
Human being with feelings
 
Join Date: Oct 2023
Posts: 106
Default

Thank you erikmartinez! So many many use case of this tool I can think of to the point of being essential for MIDI composers.
The GUI however has an extremely slow response time on Linux, making practically unusable.

Last edited by goto; 11-05-2023 at 07:04 AM.
goto is offline   Reply With Quote
Old 11-05-2023, 11:18 PM   #9
erikmartinez
Human being with feelings
 
erikmartinez's Avatar
 
Join Date: Feb 2023
Location: Kazakhstan
Posts: 235
Default

Quote:
Originally Posted by goto View Post
Thank you erikmartinez! So many many use case of this tool I can think of to the point of being essential for MIDI composers.
The GUI however has an extremely slow response time on Linux, making practically unusable.
Quite strange, could you show how noticeable the braking is? Perhaps the fact is that any changes in the graphical interface are applied immediately. In this case, you can add an auto-apply switch.
erikmartinez is online now   Reply With Quote
Old 11-06-2023, 06:02 AM   #10
goto
Human being with feelings
 
Join Date: Oct 2023
Posts: 106
Default

Quote:
Originally Posted by erikmartinez View Post
Quite strange, could you show how noticeable the braking is? Perhaps the fact is that any changes in the graphical interface are applied immediately. In this case, you can add an auto-apply switch.
This morning the GUI was quite responsive but after playing a bit with it, it started to become less and less responsive. There is a lag of 4 to 6 seconds after an interaction with a button, slider or knob, until it updates graphically the changes in the interface.
Reaper native buttons remain responsive.
goto is offline   Reply With Quote
Old 11-24-2023, 08:36 AM   #11
daeavelwyn
Human being with feelings
 
daeavelwyn's Avatar
 
Join Date: Dec 2014
Posts: 639
Default

Hello,

I just wanted to report an issue with your awesome script. I don't know why, but on my laptop, the GUI bugs a bit.

Here is the problem :


Of course I've tried resizing the windows, uninstalling and reinstalling, but it doesn't work.

I have to mention I have this script on my desktop computer and it looks perfectly as it should.

So I started to compare my 2 versions and the only difference is I'm sacling my windows 10 screen on my laptop.

Open Settings.
Click on System.
Click on Display.
Under the "Scale and layout" section, use the drop-down menu and select the scale settings that suit your needs. Options available include 100, 125, 150, and 175 percent.

i'm actually on a 14" laptop using a 1920x1080 resolution so I upscale my screen to 125%.

If I switch back to 100%, the issue disappears. So I guess this is an issue related to RTK, but as it impacts your plugins, I'd like to mention it to you.
daeavelwyn is offline   Reply With Quote
Old 11-28-2023, 12:27 AM   #12
erikmartinez
Human being with feelings
 
erikmartinez's Avatar
 
Join Date: Feb 2023
Location: Kazakhstan
Posts: 235
Default

Quote:
Originally Posted by daeavelwyn View Post
Hello,

I just wanted to report an issue with your awesome script. I don't know why, but on my laptop, the GUI bugs a bit.

Here is the problem :


Of course I've tried resizing the windows, uninstalling and reinstalling, but it doesn't work.

I have to mention I have this script on my desktop computer and it looks perfectly as it should.

So I started to compare my 2 versions and the only difference is I'm sacling my windows 10 screen on my laptop.

Open Settings.
Click on System.
Click on Display.
Under the "Scale and layout" section, use the drop-down menu and select the scale settings that suit your needs. Options available include 100, 125, 150, and 175 percent.

i'm actually on a 14" laptop using a 1920x1080 resolution so I upscale my screen to 125%.

If I switch back to 100%, the issue disappears. So I guess this is an issue related to RTK, but as it impacts your plugins, I'd like to mention it to you.
Hi. Could you please check MVelocity version 1.0.28 and also MArpeggiator version - 1.0.43 and let me know if this problem is still there? I had a problem with the interface display when I scaled the screen\system more than 100%, and somehow managed to solve the same problem in windows.
erikmartinez is online now   Reply With Quote
Old 11-28-2023, 03:15 AM   #13
daeavelwyn
Human being with feelings
 
daeavelwyn's Avatar
 
Join Date: Dec 2014
Posts: 639
Default

Hello,

I can confirm for mvelocity and marpegiator that now, it works. But I can't no more resize/scale the GUI. It's not a problem in my case but I'd like to let you know.

thanks for the fix !
daeavelwyn is offline   Reply With Quote
Old 11-28-2023, 03:34 AM   #14
erikmartinez
Human being with feelings
 
erikmartinez's Avatar
 
Join Date: Feb 2023
Location: Kazakhstan
Posts: 235
Default

Quote:
Originally Posted by daeavelwyn View Post
Hello,

I can confirm for mvelocity and marpegiator that now, it works. But I can't no more resize/scale the GUI. It's not a problem in my case but I'd like to let you know.

thanks for the fix !
Thanks for the reply! MArpeggiator 1.0.45 version has made zooming available, MVelocity does not have this feature yet. But the scale is not saved when restarting, I think it is not as critical as before, let me know if there are any problems!

Last edited by erikmartinez; 11-28-2023 at 08:10 AM.
erikmartinez is online now   Reply With Quote
Old 11-30-2023, 09:18 AM   #15
daeavelwyn
Human being with feelings
 
daeavelwyn's Avatar
 
Join Date: Dec 2014
Posts: 639
Default

Hello Erik,

I can confirm marpegiator GUI zoom works very well, thanks ! Mvelocity works well even if, as you mention, resizeing isn't yet implemented
daeavelwyn is offline   Reply With Quote
Old 11-30-2023, 10:44 PM   #16
erikmartinez
Human being with feelings
 
erikmartinez's Avatar
 
Join Date: Feb 2023
Location: Kazakhstan
Posts: 235
Default

Quote:
Originally Posted by daeavelwyn View Post
Hello Erik,

I can confirm marpegiator GUI zoom works very well, thanks ! Mvelocity works well even if, as you mention, resizeing isn't yet implemented
Great!
Okay, we'll leave it at that
erikmartinez is online now   Reply With Quote
Old 12-07-2023, 11:53 PM   #17
Reflected
Human being with feelings
 
Reflected's Avatar
 
Join Date: Jul 2009
Posts: 3,299
Default

Excellent Script
I think that ability to save presets for your scripts could be very useful.
Reflected is offline   Reply With Quote
Old 12-08-2023, 02:14 AM   #18
erikmartinez
Human being with feelings
 
erikmartinez's Avatar
 
Join Date: Feb 2023
Location: Kazakhstan
Posts: 235
Default

Quote:
Originally Posted by Reflected View Post
Excellent Script
I think that ability to save presets for your scripts could be very useful.
Thanks for the kind words! Can you tell me how you would like to see the ability to save presets? For each individual parameter? Or for all parameters at once. I wanted to add logic like in MArpeggiator[/size] - to switch between instant "Auto Apply" and just "Apply", I think saving presets can be used in combination with these settings.
erikmartinez is online now   Reply With Quote
Old 12-08-2023, 02:22 AM   #19
Reflected
Human being with feelings
 
Reflected's Avatar
 
Join Date: Jul 2009
Posts: 3,299
Default

I think that for now saving all of the parameters as one preset will be good enough since there aren't much sections and parameters.
Reflected is offline   Reply With Quote
Old 12-08-2023, 11:57 AM   #20
Subz
Human being with feelings
 
Subz's Avatar
 
Join Date: Jun 2006
Location: UK
Posts: 3,239
Default

This is very laggy on my pc!

Admittedly, I have an extremely crap GFX card (GTX 650)


Subz
Subz is offline   Reply With Quote
Old 12-09-2023, 11:20 AM   #21
erikmartinez
Human being with feelings
 
erikmartinez's Avatar
 
Join Date: Feb 2023
Location: Kazakhstan
Posts: 235
Default

Quote:
Originally Posted by Subz View Post
This is very laggy on my pc!

Admittedly, I have an extremely crap GFX card (GTX 650)


Subz
I think this is due to the fact that while the script is running, it regularly checks for new or changed notes. I’ll try to take into account all the problems and rework the script (I wanted to do a redesign in favor of imgui)
erikmartinez is online now   Reply With Quote
Old 12-11-2023, 02:48 AM   #22
reapero
Human being with feelings
 
Join Date: Aug 2011
Posts: 529
Default

hi!

I cant open it. it says
AppData\Roaming\REAPER\Scripts\ReaperScripts\MIDI Editor\../libs/Functions.lua: No such file or directory

When trying to install MVarious i get this:

reapero is offline   Reply With Quote
Old 12-11-2023, 03:19 AM   #23
erikmartinez
Human being with feelings
 
erikmartinez's Avatar
 
Join Date: Feb 2023
Location: Kazakhstan
Posts: 235
Default

Quote:
Originally Posted by reapero View Post
hi!

I cant open it. it says
AppData\Roaming\REAPER\Scripts\ReaperScripts\MIDI Editor\../libs/Functions.lua: No such file or directory

When trying to install MVarious i get this:

Apparently you have an old version of Arpeggiator installed, please delete my entire repository and install it again so that the latest versions are installed. Soon I will update the reapak by making the latest versions the initial ones, and there will be no such problems. But as I tried to indicate everywhere, mvarious and arpeggiator must be the latest version. It's better to completely delete the repository and reinstall it clean.
erikmartinez is online now   Reply With Quote
Old 12-11-2023, 03:51 AM   #24
reapero
Human being with feelings
 
Join Date: Aug 2011
Posts: 529
Default

Worked! Thanks a lot
reapero is offline   Reply With Quote
Old 12-11-2023, 03:52 AM   #25
Mantiruna
Human being with feelings
 
Join Date: Oct 2023
Posts: 53
Default

Great tool. But I have a problem with the GUI, because it opens with this big edge and I always have to resize it.
Mantiruna is offline   Reply With Quote
Old 12-11-2023, 10:17 AM   #26
reapero
Human being with feelings
 
Join Date: Aug 2011
Posts: 529
Default

How would one go if i want to simply accent the onbeat 1/8th on the hi hat pattern? I am trying with the Step velocity but i am not sure if i fully get it

reapero is offline   Reply With Quote
Old 12-11-2023, 11:56 PM   #27
erikmartinez
Human being with feelings
 
erikmartinez's Avatar
 
Join Date: Feb 2023
Location: Kazakhstan
Posts: 235
Default

Quote:
Originally Posted by Mantiruna View Post
Great tool. But I have a problem with the GUI, because it opens with this big edge and I always have to resize it.
I thought we'd conquered the skylight problem but no.... xd
Can you tell me if you have the OS or reaper scale increase? Right now a temporary solution might be to remove or comment out just one line to avoid this, as a temporary solution you can try like this for now. If you don't mind, can you experiment by deleting one or two of these values out of three, that would tell me what's wrong
Code:
local curr_scale = rtk.scale.system * rtk.scale.reaper * rtk.scale.user
I am waiting for an additional answer from the author of this library
erikmartinez is online now   Reply With Quote
Old 12-11-2023, 11:57 PM   #28
erikmartinez
Human being with feelings
 
erikmartinez's Avatar
 
Join Date: Feb 2023
Location: Kazakhstan
Posts: 235
Default

Quote:
Originally Posted by reapero View Post
How would one go if i want to simply accent the onbeat 1/8th on the hi hat pattern? I am trying with the Step velocity but i am not sure if i fully get it

Damn, you're right! The script after running evaluates each note in one step, not each note among the selected ones, though it only affects the selected ones if there are any, I'll put it in the notes, the update might be big. Maybe there will be a version on Imgui
erikmartinez is online now   Reply With Quote
Old 12-12-2023, 03:40 AM   #29
Mantiruna
Human being with feelings
 
Join Date: Oct 2023
Posts: 53
Default

Quote:
Originally Posted by erikmartinez View Post
I thought we'd conquered the skylight problem but no.... xd
Can you tell me if you have the OS or reaper scale increase? Right now a temporary solution might be to remove or comment out just one line to avoid this, as a temporary solution you can try like this for now. If you don't mind, can you experiment by deleting one or two of these values out of three, that would tell me what's wrong
Code:
local curr_scale = rtk.scale.system * rtk.scale.reaper * rtk.scale.user
I am waiting for an additional answer from the author of this library
I don't have any increase in scale in Reaper or OS.
But deleting "rtk.scale.system" works! thx
Mantiruna is offline   Reply With Quote
Old 04-20-2024, 12:17 PM   #30
Digitt
Human being with feelings
 
Join Date: Mar 2024
Posts: 337
Default

this is AMAZING. Ive been searching for something like this for ages. man, you are a god, thank you so much this is gonna be huge for me
Digitt is offline   Reply With Quote
Old 04-21-2024, 04:22 AM   #31
ShibuyaCyana
Human being with feelings
 
Join Date: Jan 2020
Posts: 121
Default

Hi, thanks for this script! The step sequencer is a brilliant idea, but at first I thought it would be something like this accentuator from XLN audio's XO:

The general idea is, to generate a curve, and use it to determine the velocity attenuation (or offset) of every note, based on its rhythmic position. So that we can accentuate the first note of every beat, every measure etc, and hopefully make it sound more organic.

For now the script still could be used in something like a steady 4/4 pattern, but don't make much sense with some more complex ones:

notice the first note of the 2nd measure get attenuated, which doesn't make much sense in most cases.

This step sequencer itself is very good, we might even get quintuplet or septuplet pulses, which was not possible with XO's accentuator!
ShibuyaCyana is offline   Reply With Quote
Old 04-21-2024, 10:55 AM   #32
Digitt
Human being with feelings
 
Join Date: Mar 2024
Posts: 337
Default Bug, keeps crashing reaper

Just started using your script and its fantastic, but it is crashing alot. First time was when I was adjusting the XY section. Second and third time was adjusting the step section. I had the song playing while I adjusted. And when it crashes, reaper itself freezes and I can't do anything until I force-quit reaper.

So it's unusable right now, cos every time I use it, it crashes reaper.

I'm using the latest version of MacOS Sonoma on Apple Silicon.

Also, FR: when I open it, it opens quite big and is a waste of space on the screen. This is how it opens for me everytime I use it https://imgur.com/a/obDZyNZ

I would prefer it open like this so that it doesn't waste space and so that I don't have to resize it every time. https://imgur.com/a/Bgluo6p

Another FR: adjust the steps in the step velocity section with mouse wheel. This would help alot for fine tuning with a musical feel.

thanks so much for the script.
Digitt is offline   Reply With Quote
Old 04-21-2024, 12:49 PM   #33
erikmartinez
Human being with feelings
 
erikmartinez's Avatar
 
Join Date: Feb 2023
Location: Kazakhstan
Posts: 235
Default

thanks for the feedback! I'm going to completely redo everything and transfer it to imgui as well. I'm thinking about a block model of a multi-tool, where all problems (graphic and technical) will also be solved
erikmartinez is online now   Reply With Quote
Old 04-22-2024, 06:58 AM   #34
Digitt
Human being with feelings
 
Join Date: Mar 2024
Posts: 337
Default

Quote:
Originally Posted by erikmartinez View Post
thanks for the feedback! I'm going to completely redo everything and transfer it to imgui as well. I'm thinking about a block model of a multi-tool, where all problems (graphic and technical) will also be solved
thank you so much that sounds awesome
Digitt is offline   Reply With Quote
Old 05-08-2024, 12:34 PM   #35
Digitt
Human being with feelings
 
Join Date: Mar 2024
Posts: 337
Default

Quote:
Originally Posted by Digitt View Post
Just started using your script and its fantastic, but it is crashing alot. First time was when I was adjusting the XY section. Second and third time was adjusting the step section. I had the song playing while I adjusted. And when it crashes, reaper itself freezes and I can't do anything until I force-quit reaper.

So it's unusable right now, cos every time I use it, it crashes reaper.

I'm using the latest version of MacOS Sonoma on Apple Silicon.

Also, FR: when I open it, it opens quite big and is a waste of space on the screen. This is how it opens for me everytime I use it https://imgur.com/a/obDZyNZ

I would prefer it open like this so that it doesn't waste space and so that I don't have to resize it every time. https://imgur.com/a/Bgluo6p

Another FR: adjust the steps in the step velocity section with mouse wheel. This would help alot for fine tuning with a musical feel.

thanks so much for the script.
one more FR as well in addition to these please: ability to pin it so that it stays open when clicking on the piano roll again. its very cumbersome to have to select my notes, then re-open it every time.

also i chose to terminate the script each time and dont know how to undo that. do you know how? since im doing that, the settings are reset every time i open it.

thanks sooo much for the amazing script! gonna be a game changer when it gets working properly! thanks so much!
Digitt is offline   Reply With Quote
Old 09-04-2024, 12:17 PM   #36
CodyWright
Human being with feelings
 
Join Date: Jul 2023
Posts: 33
Default

I love this script!

I also get this same scaling issue on MacOS, 14"laptop which uses the retina scaling (defaults to 200%)

Will look at deleting that line to see if that helps.

Thank you!
CodyWright is offline   Reply With Quote
Old 09-04-2024, 12:18 PM   #37
CodyWright
Human being with feelings
 
Join Date: Jul 2023
Posts: 33
Default

Also, it seems like your developing super high quality versions of the "tools" from places like FL. Any chance you could look into making a MStrum Tool? The mouse modifier works great, but you can only do 1 chord at a time. Some of the other FL midi tools would be super cool too
CodyWright is offline   Reply With Quote
Old 09-04-2024, 08:03 PM   #38
erikmartinez
Human being with feelings
 
erikmartinez's Avatar
 
Join Date: Feb 2023
Location: Kazakhstan
Posts: 235
Default

Quote:
Originally Posted by CodyWright View Post
Also, it seems like your developing super high quality versions of the "tools" from places like FL. Any chance you could look into making a MStrum Tool? The mouse modifier works great, but you can only do 1 chord at a time. Some of the other FL midi tools would be super cool too
in general I have functions and superficial work of the stream notes, lately I have noticed reduced work of scripts in the midi editor, but it is the stream chords that I would like to put in the multitool
erikmartinez is online now   Reply With Quote
Old 09-05-2024, 02:04 AM   #39
leonaman
Human being with feelings
 
Join Date: Jun 2024
Posts: 78
Default

Quote:
Originally Posted by erikmartinez View Post
in general I have functions and superficial work of the stream notes, lately I have noticed reduced work of scripts in the midi editor, but it is the stream chords that I would like to put in the multitool
I love your tools. I hope you live long and prosper (no pun intended).
leonaman is offline   Reply With Quote
Old 09-05-2024, 02:11 AM   #40
erikmartinez
Human being with feelings
 
erikmartinez's Avatar
 
Join Date: Feb 2023
Location: Kazakhstan
Posts: 235
Default

Quote:
Originally Posted by leonaman View Post
I love your tools. I hope you live long and prosper (no pun intended).
Thank you, I'm very pleased! at the moment I'm trying to make a scale highlight (again inspired by fl studio)
it might look like this:



erikmartinez is online now   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 05:21 AM.


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