|
|
|
08-17-2014, 05:32 AM
|
#81
|
Human being with feelings
Join Date: Aug 2012
Location: Finland
Posts: 2,668
|
Quote:
Originally Posted by Alex Ortega
And you can come up with something similar, but with a pitch. Or with the envelope point?
|
Have to look into it at some point in the future. (Or if someone wants to modify it, that would be very nice )
I have to get this working first:
"Simulating" compressor/expander/noisegate with take volume envelope
(Envelope "view" in Reaper is not linear - it's possible to change the ratio by dragging the points up/down and then f.ex adjust the item volume. The script selects only the points above "noisegate threshold")
There's one major issue to solve:
"Envelope chunk (state)" is limited to 65536 bytes (because it's possible to store only 65536 bytes into "named string" variable in EEL - it means that ~2400 "linear" points can be get/set)
Nice thing is that it's quite fast (licecap is slowing it down in the gif - I have an old computer). At 7s in the gif, I'm adding a point at every 10ms. That's about 1800 points.
Later, there will be a GUI: sliders for threshold(s), ratios etc. I would use Breeder's envelope functions, but they are Python only . I don't want to mess with "tkinter GUI module" anymore, because it just don't work well.
Last edited by spk77; 08-17-2014 at 06:27 AM.
|
|
|
08-17-2014, 07:32 AM
|
#82
|
Human being with feelings
Join Date: Oct 2013
Posts: 105
|
Quote:
Originally Posted by spk77
Have to look into it at some point in the future. (Or if someone wants to modify it, that would be very nice )
I have to get this working first:
"Simulating" compressor/expander/noisegate with take volume envelope
(Envelope "view" in Reaper is not linear - it's possible to change the ratio by dragging the points up/down and then f.ex adjust the item volume. The script selects only the points above "noisegate threshold")
There's one major issue to solve:
"Envelope chunk (state)" is limited to 65536 bytes (because it's possible to store only 65536 bytes into "named string" variable in EEL - it means that ~2400 "linear" points can be get/set)
Nice thing is that it's quite fast (licecap is slowing it down in the gif - I have an old computer). At 7s in the gif, I'm adding a point at every 10ms. That's about 1800 points.
Later, there will be a GUI: sliders for threshold(s), ratios etc. I would use Breeder's envelope functions, but they are Python only . I don't want to mess with "tkinter GUI module" anymore, because it just don't work well.
|
Very cool,spk77 thanks
|
|
|
08-19-2014, 02:28 PM
|
#83
|
Human being with feelings
Join Date: Oct 2013
Location: Argentina
Posts: 1,303
|
Hi Spk!
Once again, thanks for the wonderful Velocity/CC tool! Iīm using it on a daily basis, itīs just great! Would it be too difficult to support 14 bit CCs? Iīm using those for fine control of sliders with a high range of values and it would be killer if your tool could operate on 14 bit lanes...
|
|
|
08-19-2014, 02:43 PM
|
#84
|
Human being with feelings
Join Date: Aug 2012
Location: Finland
Posts: 2,668
|
Quote:
Originally Posted by Soli Deo Gloria
Hi Spk!
Once again, thanks for the wonderful Velocity/CC tool! Iīm using it on a daily basis, itīs just great! Would it be too difficult to support 14 bit CCs? Iīm using those for fine control of sliders with a high range of values and it would be killer if your tool could operate on 14 bit lanes...
|
Hi,
I could try to add support for 14 bit CCs, but at the moment, I just don't know/understand how to do all the calculations and bit shifting etc.
|
|
|
08-19-2014, 03:04 PM
|
#85
|
Human being with feelings
Join Date: Oct 2013
Location: Argentina
Posts: 1,303
|
Well, Iīm sure that the time will come... EDIT : Iīve been trying a workaround for this, but after re-checking it I see it does not always work as expected.
If I observe anything else in the script Iīll post it here...
Last edited by Soli Deo Gloria; 08-19-2014 at 04:21 PM.
Reason: New conclusions
|
|
|
08-19-2014, 04:20 PM
|
#86
|
Human being with feelings
Join Date: Oct 2013
Location: Argentina
Posts: 1,303
|
Regarding the maths, letīs see if this can be of help :
The range of 14 bit CCs is 16384 (0 - 16383) that comes from 128 MSB values, each one with 128 LSB values (128 x 128 = 16384). Letīs give some examples :
EDIT : I have corrected the first version of this chart and now itīs fine. You can check it by inserting a 14-bit event in the ME, and in the event properties window entering the numbers I put here. It shows the combined MSB/LSB values.
CC12(14-bit lane) = 0 ( CC12 MSB = 0 / CC44 LSB = 0 )
CC12(14-bit lane) = 127 ( CC12 MSB = 0 / CC44 LSB = 127)
CC12(14-bit lane) = 128 ( CC12 MSB = 1 / CC44 LSB = 0 )
CC12(14-bit lane) = 255 ( CC12 MSB = 1 / CC44 LSB = 127)
CC12(14-bit lane) = 256 ( CC12 MSB = 2 / CC44 LSB = 0 )
CC12(14-bit lane) = 383 ( CC12 MSB = 2 / CC44 LSB = 127)
CC12(14-bit lane) = 384 ( CC12 MSB = 3 / CC44 LSB = 0 )
And so on...
I think this might be useful to develop the 14 bit support, although I donīt know how difficult it is to apply it to the code...
Last edited by Soli Deo Gloria; 08-19-2014 at 07:52 PM.
|
|
|
08-19-2014, 04:53 PM
|
#87
|
Human being with feelings
Join Date: Jan 2010
Location: Kalispell
Posts: 14,745
|
Quote:
Originally Posted by Soli Deo Gloria
Regarding the maths, letīs see if this can be of help :
The range of 14 bit CCs is 16384 (0 - 16383); that is 128 x 128. So with values 0-127 both MSB and LSB have the same value. When you reach value 128, the LSB is set to 0 and the count begins again. Letīs give some examples :
Letīs take the pair CC12 MSB and CC44 LSB.
CC12 = 0 / CC44 = 0
CC12 =127 / CC44 = 127
CC12 = 128 / CC44 = 0
CC12 = 255 / CC44 = 127
CC12 = 256 / CC44 = 0
And so on...
I think this might be useful to develop the 14 bit support, although I donīt know how difficult it is to apply it to the code...
|
Hi Soli, do you really find the 14-bit resolution to be that significant in your programming? I've just never considered it so I'm wondering.
|
|
|
08-19-2014, 08:10 PM
|
#88
|
Human being with feelings
Join Date: Oct 2013
Location: Argentina
Posts: 1,303
|
Quote:
Originally Posted by Tod
Hi Soli, do you really find the 14-bit resolution to be that significant in your programming? I've just never considered it so I'm wondering.
|
Hi Tod!
Well, right now Iīm using them to control some modified versions of the JS volume plug (with ReaControlMIDI and parameter modulation). For example, when you have a range of -60db to +24db with 0.1 increments you end up having 840 possible steps but only 128 values with an MSB CC. Thatīs basically where I find 14-bit MIDI useful; you can have fine control of any knob/slider...
|
|
|
08-20-2014, 01:04 PM
|
#89
|
-blänk-
Join Date: Jun 2008
Posts: 11,359
|
While the math is doable, there is a problem with 14bit CC (not with pitch) with regard to these scripts.
If the user only ever uses the combined lane for 14bit, all is dandy, but if there is even just a single event created in the MSB lane only (or in the LSB lane only, but that's not as likely) then the algorithm will fail. So you couldn't start off as 7bit and then decide to add some precision afterwards by switching to the 14 bit lane - you'd need to delete all events on the 7bit lane first and start over from scratch as 14bit.
It would probably be possible to make the script check each time whether the LSB event it is looking at is on the exact same time position as the MSB currently in process (in other words if it's really a pair of 7bits making a 14bit message). That would solve the situation, not sure how much it would slow down the process, though.
|
|
|
08-20-2014, 01:29 PM
|
#90
|
Human being with feelings
Join Date: Nov 2010
Posts: 2,436
|
Quote:
Originally Posted by gofer
It would probably be possible to make the script check each time whether the LSB event it is looking at is on the exact same time position as the MSB currently in process (in other words if it's really a pair of 7bits making a 14bit message). That would solve the situation, not sure how much it would slow down the process, though.
|
Exactly, and it's really not that hard.
Working example:
https://github.com/Breeder/sws/blob/....cpp#L574-L603
We can access CC events by their time order and lower CCs appear first. So you look for your MSB first, and then go through rest of CC events, making sure time position doesn't go further than detected MSB's time position. If you find LSB there - that's your CC pair that makes up 14 bit event
Last edited by Breeder; 08-28-2014 at 02:44 AM.
|
|
|
08-20-2014, 04:23 PM
|
#91
|
Human being with feelings
Join Date: Oct 2013
Location: Argentina
Posts: 1,303
|
Quote:
Originally Posted by gofer
So you couldn't start off as 7bit and then decide to add some precision afterwards by switching to the 14 bit lane - you'd need to delete all events on the 7bit lane first and start over from scratch as 14bit.
|
Hi guys! Iīm glad this topic has gained attention; something cool is going to happen .
Regarding what Gofer says, I realized about the problem exactly that way; I began with 7 bit and then I copied the events to the 14 bit lane. The LSB events that were created this way were wrong and I had to edit each 14 bit event to see the LSB ones get their correct values.
I hope Spk or anyone else can develop 14 bit support for the script, it will be very useful...
|
|
|
09-11-2014, 03:32 PM
|
#92
|
Human being with feelings
Join Date: Nov 2010
Posts: 2,436
|
Some updates to this already cool script:
https://stash.reaper.fm/manage_file/2...Breeder%29.eel
Changelog: - support for 14bit lanes, pitch, aftertouch and program lanes (anything that's drawable)
- when in CC mode, user is still able to edit velocity by clicking it's lane
- ctrl+click target fader sets it to the middle (because it's easy to set it to avg, but i.e. setting it to 0 for compressing pitch is much harder)
- preserve settings through REAPER or script restarts (mode, compressor weight and target, dialog dimensions)
Spk77, could you please update your script in the first post with this so people don't get confused? Once done, I'll delete this link.
And of course, if anybody notices anything wrong/strange...don't hesitate to report here!
|
|
|
09-11-2014, 07:47 PM
|
#93
|
Human being with feelings
Join Date: Oct 2013
Location: Argentina
Posts: 1,303
|
EXCELLENT!!!!!!!
Thanks so, so much Breeder!! Iīm about to go to bed, but tomorrow Iīll be using it and Iīll test it thoroughly... Some wonderful additions to an already excellent tool!
|
|
|
09-12-2014, 12:54 AM
|
#94
|
Human being with feelings
Join Date: Aug 2012
Location: Finland
Posts: 2,668
|
Quote:
Originally Posted by Breeder
Some updates to this already cool script:
https://stash.reaper.fm/manage_file/2...Breeder%29.eel
Changelog: - support for 14bit lanes, pitch, aftertouch and program lanes (anything that's drawable)
- when in CC mode, user is still able to edit velocity by clicking it's lane
- ctrl+click target fader sets it to the middle (because it's easy to set it to avg, but i.e. setting it to 0 for compressing pitch is much harder)
- preserve settings through REAPER or script restarts (mode, compressor weight and target, dialog dimensions)
Spk77, could you please update your script in the first post with this so people don't get confused? Once done, I'll delete this link.
And of course, if anybody notices anything wrong/strange...don't hesitate to report here!
|
Thank you! I updated the first post.
|
|
|
09-12-2014, 05:52 AM
|
#95
|
Human being with feelings
Join Date: Nov 2010
Posts: 2,436
|
Quote:
Originally Posted by spk77
I updated the first post.
|
Thanks! It seems I've broken target functionality so the average mode didn't work. Fixed here: https://stash.reaper.fm/v/21786/MIDI%...Breeder%29.eel
edit: also fixed calculating 14bit and pitch due to memory management error
Last edited by Breeder; 09-12-2014 at 10:54 AM.
|
|
|
09-16-2014, 04:51 AM
|
#96
|
Human being with feelings
Join Date: Aug 2012
Location: Finland
Posts: 2,668
|
Quote:
Originally Posted by Breeder
|
Thanks! The zip file in the first post is now updated.
|
|
|
09-19-2014, 05:42 AM
|
#97
|
Human being with feelings
Join Date: Sep 2014
Posts: 74
|
velocity/CC isn't changed
Hi.
I've installed the .eel,
and the GUI is opened.
I'm then selecting VELOCITY or (CC) bars,
playing with the GUI,
but the bars don't change....
Any idea?
Regards,
Assaf
|
|
|
09-19-2014, 07:26 AM
|
#98
|
Human being with feelings
Join Date: Oct 2013
Location: Argentina
Posts: 1,303
|
Quote:
Originally Posted by booli
Hi.
I've installed the .eel,
and the GUI is opened.
I'm then selecting VELOCITY or (CC) bars,
playing with the GUI,
but the bars don't change....
|
Did you load the script in the MIDI Editor section of the Action List? Have you clicked on the corresponding lane that you want the script to work on?
|
|
|
09-20-2014, 09:26 AM
|
#99
|
Human being with feelings
Join Date: Sep 2014
Posts: 74
|
Works! Many thanks. great tool.
(It was the clicking on the corresponding lane)
|
|
|
09-23-2014, 04:41 AM
|
#100
|
Human being with feelings
Join Date: Jun 2013
Posts: 288
|
Awesome tool. A real workflow enhancer and time saver. Kudos!
Cheers
Sebastian
__________________
Underground Music Production: Sound Design, Machine Funk, High Tech Soul
|
|
|
12-08-2014, 01:18 PM
|
#101
|
Human being with feelings
Join Date: Nov 2014
Posts: 39
|
Don't understand-did everything as it should,but-"Error opening C:\Users\AppData\Roaming\REAPER\Scripts\MIDI velocity tool.eel"
|
|
|
12-15-2014, 06:35 AM
|
#102
|
Human being with feelings
Join Date: Nov 2013
Location: Argentina
Posts: 326
|
hi! spk77, your tools are awesome, midi it's not the same without it.
Your velocity tool and your note selector make everything so easy in comparison.
I'm really grateful for your gift's to us, the time and effort involved.
First i wanna state that...
Second, i have a semi request-question... Read somewhere in the post that the note selector once has the mystical ability to select not in only one row, but instead counting the note-time separation in multiple pitches... that option catapult the the tool above the clouds, shifting the aplication in bass drums and rhythmics things whit 1 sound per note, to polyphonic use, for example a rithmich violin staccato section, with different pitches but the exact same rythmich pattern over and over.
So... Why you don't support this function anymore?
I try to use the reaper midi filter to come up with this type of things, but it's garbage, and it's broken at small scales.
If you can return to us the magical ability your script was capable to do in the beginnings, i'm gonna be eternally grateful.
Thanks in advance.
__________________
Living la vida loca
Last edited by Pasajeromoronmoreno; 12-16-2014 at 04:58 AM.
|
|
|
12-17-2014, 09:14 AM
|
#103
|
Human being with feelings
Join Date: Sep 2011
Posts: 25
|
Thanks a lot for your midi velocity/compress/expand fonctions. Sadly Reaper lacks this basics fonctions (for now).
Wonderfull !
|
|
|
12-17-2014, 04:21 PM
|
#104
|
Human being with feelings
Join Date: Aug 2014
Posts: 57
|
Could you add Bezier curve's, exponential curve, etc? Just drawing a line and then having to select the type by dragging horizontal without changing the line isn't good(visually it still looks like a line).
It should be pretty easy to display the function that is actually used. Having more control points would also be cool.
|
|
|
12-18-2014, 12:01 PM
|
#105
|
Human being with feelings
Join Date: Aug 2012
Location: Finland
Posts: 2,668
|
Quote:
Originally Posted by Pasajeromoronmoreno
hi! spk77, your tools are awesome, midi it's not the same without it.
Your velocity tool and your note selector make everything so easy in comparison.
I'm really grateful for your gift's to us, the time and effort involved.
First i wanna state that...
Second, i have a semi request-question... Read somewhere in the post that the note selector once has the mystical ability to select not in only one row, but instead counting the note-time separation in multiple pitches... that option catapult the the tool above the clouds, shifting the aplication in bass drums and rhythmics things whit 1 sound per note, to polyphonic use, for example a rithmich violin staccato section, with different pitches but the exact same rythmich pattern over and over.
So... Why you don't support this function anymore?
I try to use the reaper midi filter to come up with this type of things, but it's garbage, and it's broken at small scales.
If you can return to us the magical ability your script was capable to do in the beginnings, i'm gonna be eternally grateful.
Thanks in advance.
|
Thanks!
Hmmm...I can't remember that mystical ability . Maybe it is some other script?
Quote:
Originally Posted by Mak
Thanks a lot for your midi velocity/compress/expand fonctions. Sadly Reaper lacks this basics fonctions (for now).
Wonderfull !
|
Glad you find them useful
Quote:
Originally Posted by Sativa
Could you add Bezier curve's, exponential curve, etc? Just drawing a line and then having to select the type by dragging horizontal without changing the line isn't good(visually it still looks like a line).
It should be pretty easy to display the function that is actually used. Having more control points would also be cool.
|
I'll get back into it - I'm just really busy right now
|
|
|
12-18-2014, 12:39 PM
|
#106
|
Human being with feelings
Join Date: Nov 2013
Location: Argentina
Posts: 326
|
Thanks for the answer spk77.
I Found the post i'm referring to, and yeah, sound like it's all in my imagination... You only say this...
Quote:
Originally Posted by spk77
"MIDI note selector" updated in post #26 (added pitch filter).
|
And i was assuming, if you added a filter for the pitch, it's because after that update the filtering of the pitches wasn't there, so... there you go. A lot of assumptions, i know.
__________________
Living la vida loca
|
|
|
01-06-2015, 11:28 AM
|
#107
|
Human being with feelings
Join Date: Dec 2014
Location: On the Move
Posts: 134
|
Quote:
Originally Posted by spk77
Have to look into it at some point in the future. (Or if someone wants to modify it, that would be very nice )
I have to get this working first:
"Simulating" compressor/expander/noisegate with take volume envelope
(Envelope "view" in Reaper is not linear - it's possible to change the ratio by dragging the points up/down and then f.ex adjust the item volume. The script selects only the points above "noisegate threshold")
There's one major issue to solve:
"Envelope chunk (state)" is limited to 65536 bytes (because it's possible to store only 65536 bytes into "named string" variable in EEL - it means that ~2400 "linear" points can be get/set)
Nice thing is that it's quite fast (licecap is slowing it down in the gif - I have an old computer). At 7s in the gif, I'm adding a point at every 10ms. That's about 1800 points.
Later, there will be a GUI: sliders for threshold(s), ratios etc. I would use Breeder's envelope functions, but they are Python only . I don't want to mess with "tkinter GUI module" anymore, because it just don't work well.
|
where can i find this fantastic looking piece of kit? cheers!!
|
|
|
01-06-2015, 03:12 PM
|
#108
|
Human being with feelings
Join Date: Nov 2014
Posts: 194
|
this is so great!
do you see any way to make this work on automation data?
|
|
|
01-23-2015, 01:58 PM
|
#109
|
Human being with feelings
Join Date: May 2011
Posts: 150
|
Wow this automation from waveforms is pure genius!
Sometimes when working with toms there is the need to draw envelopes manually in order to lower the bleed(like a manual expander) and that takes like 2 hours per song, if this is done it will be SO killer!
|
|
|
01-24-2015, 06:13 AM
|
#110
|
Human being with feelings
Join Date: Mar 2012
Posts: 610
|
THANKS!!!!!!!!!
|
|
|
01-26-2015, 04:07 PM
|
#111
|
Human being with feelings
Join Date: Jan 2012
Location: Germany
Posts: 1,130
|
Thanks a thousand times for your velocity tool!!!
|
|
|
01-30-2015, 04:00 AM
|
#112
|
Human being with feelings
Join Date: Aug 2009
Posts: 125
|
I it possible to keep the "Velo/CC" window on top while open? So it doesn't drop under the editor window when you change focus.
This is a killer tool by the way.
|
|
|
02-01-2015, 10:18 AM
|
#113
|
Human being with feelings
Join Date: Aug 2012
Location: Finland
Posts: 2,668
|
Thanks again, everybody!
Quote:
Originally Posted by MRT
I it possible to keep the "Velo/CC" window on top while open? So it doesn't drop under the editor window when you change focus.
This is a killer tool by the way.
|
Not currently, but soon "the script windows" will be dockable
"Take analyze to take envelope" -thingy will propably be ready when Reaper v5 is released...currently it looks like this:
|
|
|
02-01-2015, 11:55 AM
|
#114
|
Human being with feelings
Join Date: Nov 2013
Location: Argentina
Posts: 326
|
Woooooooooow!!!!
__________________
Living la vida loca
|
|
|
02-07-2015, 02:50 AM
|
#115
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
another amazing tool..thanks!
__________________
subproject FRs click here
note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
|
|
|
03-01-2015, 03:59 PM
|
#116
|
Human being with feelings
Join Date: Jan 2011
Location: The Jungle
Posts: 43
|
You & whoever came up with this is an absolute don, thank you so much, it works exactly how I expected. Thanks for posting this in the other thread.
|
|
|
03-01-2015, 04:06 PM
|
#117
|
Human being with feelings
Join Date: Aug 2012
Location: Finland
Posts: 2,668
|
Thanks, I'm glad you find it useful!
|
|
|
03-01-2015, 04:38 PM
|
#118
|
Human being with feelings
Join Date: Jan 2011
Location: The Jungle
Posts: 43
|
Quote:
Originally Posted by spk77
Thanks, I'm glad you find it useful!
|
Really, really useful, I just linked a friend to it as well
Every time I find something that I don't know how or if reaper does it, it turns out Reaper does it, & if it doesn't someone has extended it with a tool of some sort
The community here is really great. Thanks again, really appreciated.
|
|
|
04-16-2015, 12:23 AM
|
#119
|
Human being with feelings
Join Date: Aug 2007
Location: Near Cambridge UK and Near Questembert, France
Posts: 22,754
|
Thought I had thanked you for this earlier but apparently not.
This ONE script was a total game changer for me in MIDI editing.
Much appreciated.
|
|
|
09-05-2015, 12:03 AM
|
#120
|
Human being with feelings
Join Date: May 2012
Location: Italy - Austria
Posts: 55
|
Quote:
Originally Posted by spk77
|
Thanks for this awesome tool, and not only for this one!
Can I ask you if possible to have also this version that draws sine curves?
Thanks.
__________________
Thanks.
|
|
|
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 03:32 AM.
|