|
|
|
01-10-2015, 01:34 PM
|
#1
|
Human being with feelings
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
|
Lua and automation envelopes generation
edit 3rd April 2015 : Preliminary public version now available. Details in this thread at post :
http://forum.cockos.com/showpost.php...0&postcount=87
I quickly hacked this with Lua and the new envelope APIs :
Needs a lot more work but I am quite happy how this is turning out already!
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
Last edited by Xenakios; 04-03-2015 at 08:35 AM.
|
|
|
01-10-2015, 01:45 PM
|
#2
|
Human being with feelings
Join Date: Mar 2010
Location: France
Posts: 459
|
WOW! I can see the possibilities...great feature
|
|
|
01-10-2015, 01:47 PM
|
#3
|
Human being with feelings
Join Date: Apr 2014
Posts: 97
|
!!!
That's kinda incredible.
|
|
|
01-10-2015, 02:26 PM
|
#4
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
That,,,,,,
Is a classic bit of Xenakios awesomeness right there!
Even more excited about the new bits in 5 now for letting people "get what they want"
__________________
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.
|
|
|
01-10-2015, 02:42 PM
|
#5
|
Human being with feelings
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
|
Nice hack, Xen! Exactly the sort of stuff I was immediately imagining when I noticed the recent envelope API additions.
Btw, perhaps you should rename that window to 'LFO generator'?
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
|
|
|
01-10-2015, 02:45 PM
|
#6
|
Human being with feelings
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
|
Quote:
Originally Posted by Banned
Nice hack, Xen! Exactly the sort of stuff I was immediately imagining when I noticed the recent envelope API additions.
Btw, perhaps you should rename that window to 'LFO generator'?
|
Well, it's generating envelopes, so envelope generator is IMHO a better fit...But I will give it some more thought...
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
|
|
|
01-10-2015, 02:51 PM
|
#7
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 24,790
|
Isn't there already something similar in SWS?
|
|
|
01-10-2015, 02:58 PM
|
#8
|
Human being with feelings
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
|
Quote:
Originally Posted by EvilDragon
Isn't there already something similar in SWS?
|
Yes, but honestly, I don't like how it's implemented. With this I can immediately interactively see (and hear) what I am getting. The SWS extension envelope generator requires pressing a button to get the result etc...(I also already have a similar envelope generator to this new Lua thing in my HourGlass app, and I've wanted to have this in Reaper for a long time...)
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
|
|
|
01-10-2015, 04:22 PM
|
#9
|
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 15,721
|
Quote:
Originally Posted by Xenakios
Yes, but honestly, I don't like how it's implemented. With this I can immediately interactively see (and hear) what I am getting. The SWS extension envelope generator requires pressing a button to get the result etc...(I also already have a similar envelope generator to this new Lua thing in my HourGlass app, and I've wanted to have this in Reaper for a long time...)
|
...and having a script you can edit and recompile on the fly (vs an extension, where you have to quit reaper, recompile, and relaunch) is vastly more useful for things like this.
|
|
|
01-10-2015, 04:28 PM
|
#10
|
Human being with feelings
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
|
Quote:
Originally Posted by Justin
...and having a script you can edit and recompile on the fly (vs an extension, where you have to quit reaper, recompile, and relaunch) is vastly more useful for things like this.
|
Sure, the iteration time between code changes is, ehem, somewhat faster than with C++ plugins/apps! (Of course the end user who doesn't want to see/edit the code doesn't care, but well...)
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
|
|
|
01-10-2015, 04:36 PM
|
#11
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
|
Cool.
|
|
|
01-10-2015, 04:36 PM
|
#12
|
Human being with feelings
Join Date: Mar 2011
Location: London
Posts: 1,211
|
OT but your image is invisible on my mac. It's probably because of the way you use tags...
I found the link in the code source of the page and it looks amazing!
|
|
|
01-10-2015, 04:38 PM
|
#13
|
Human being with feelings
Join Date: Jul 2008
Location: The Netherlands
Posts: 3,645
|
Quote:
Originally Posted by swiiscompos
OT but your image is invisible on my mac. It's probably because of the way you use tags...
|
Well, it is perfectly visible on my Mac... weird.
|
|
|
01-10-2015, 04:39 PM
|
#14
|
Human being with feelings
Join Date: Dec 2013
Posts: 231
|
IMO this is what LFO generator from SWS is missing.
If you can combine the 2 ideas SWS LFO generator and what Xenakios is showing us here then we would have something very splendid.
The interface of SWS LFO generator with this implemented somewhere in it.
That way we can have those time signature values for sync, delay offset etc, but this way we can see it and hear it, also time selection etc.
|
|
|
01-10-2015, 04:42 PM
|
#15
|
Human being with feelings
Join Date: Mar 2011
Location: London
Posts: 1,211
|
Quote:
Originally Posted by Tale
Well, it is perfectly visible on my Mac... weird.
|
Right. Actually the problem is only on Firefox.
|
|
|
01-10-2015, 04:44 PM
|
#16
|
Human being with feelings
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
|
Quote:
Originally Posted by unique
That way we can have those time signature values for sync, delay offset etc, but this way we can see it and hear it, also time selection etc.
|
Yeah I have to think how I could implement musical note values stuff...Drop down menus are at the moment somewhat of a big pain to implement with the Lua stuff etc...Possibly a slider that goes through whole note, half note, quarter note etc is an option. Or I will just swallow the pain of implementing a drop down menu with Lua and Lice...
I will try to make this as awesome as possible, so that maybe Cockos can include this with the Reaper 5 installer at some point...
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
|
|
|
01-10-2015, 05:13 PM
|
#17
|
Human being with feelings
Join Date: Dec 2013
Posts: 231
|
Cool Xenakios im just throwing my thoughts out there for everyone.
Where are you learning how to program this LUA script stuff?
I have no idea what you and the devs are doing lol, but I give you guys my respect.
Good luck.
|
|
|
01-10-2015, 05:13 PM
|
#18
|
Human being with feelings
Join Date: Jun 2012
Location: Spain
Posts: 7,239
|
That's great Xenakios
I hope it will support tempo changes, since Padre's LFO generator doesn't.
|
|
|
01-10-2015, 07:59 PM
|
#19
|
Human being with feelings
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
|
Some more work done on it...
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
|
|
|
01-10-2015, 08:17 PM
|
#20
|
Human being with feelings
Join Date: Jan 2014
Posts: 5,205
|
This is awesome. I was just playing around with the LFO stuff in Cubase the other day and thinking I might like something like that in Reaper. This LUA with the time selection boundaries would be perfect!
It just got me thinking. Some sort of LUA database where you can directly install the scripts from some sort of popularity and alpha sorted, self-updating list directly in Reaper would be cool.
A suggestion for one more additional slider - randomness is cool but I think a randomness that only applied to the peaks/valleys of the wave would be more practical. Therefor, a slider that you moved between 0, peaks only, and 100, all created points, would allow you some finer control.
I hope that was clear. I can make a diagram if needed.
|
|
|
01-10-2015, 10:09 PM
|
#21
|
Human being with feelings
Join Date: Sep 2010
Location: portugal
Posts: 40
|
a adsr would be awesome
|
|
|
01-10-2015, 10:19 PM
|
#22
|
Administrator
Join Date: Mar 2007
Location: NY
Posts: 15,749
|
This looks great!
Quote:
Originally Posted by Xenakios
Drop down menus
|
There is gfx.showmenu for text-based system menus... you could implement a dropdown box that way too. But you can't draw stuff on the menus.
|
|
|
01-10-2015, 10:33 PM
|
#23
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
This is exactly what I was hoping the new lua stuff would open up!
Great job xenakios!
__________________
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.
|
|
|
01-10-2015, 10:35 PM
|
#24
|
Human being with feelings
Join Date: Jun 2009
Location: South, UK
Posts: 14,214
|
Quote:
Originally Posted by simulated systems
a adsr would be awesome
|
Indeed!
Or a window where you could draw in the shape (like a multisegment envelope) and then have it repeated and stretched/repeated within the time selection.
__________________
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.
|
|
|
01-10-2015, 10:35 PM
|
#25
|
Human being with feelings
Join Date: Nov 2010
Posts: 2,436
|
Awesome!!!
|
|
|
01-11-2015, 06:00 AM
|
#26
|
Human being with feelings
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
|
Tempo based rates support (no tempo changes stuff yet though) :
I have a mistake in the numbers in the note values table in the screencap, never mind about that... This needs much more work...
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
|
|
|
01-11-2015, 06:47 AM
|
#27
|
Human being with feelings
Join Date: Mar 2010
Location: France
Posts: 459
|
Holy f*ck!
|
|
|
01-11-2015, 06:49 AM
|
#28
|
Human being with feelings
Join Date: Mar 2010
Location: France
Posts: 459
|
Are those sliders in your envlopes generator automatable?
|
|
|
01-11-2015, 06:53 AM
|
#29
|
Human being with feelings
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
|
Quote:
Originally Posted by VVV
Are those sliders in your envlopes generator automatable?
|
Unfortunately not at the moment. I will probably add some breakpoint envelopes into the script window itself, but the scripts can't add new envelopes to Reaper's tracks. (At least not cleanly, of course some hacks could be done...For example, have a dummy Jesusonic plugin that has some parameters and use the envelopes of those parameters from the script code...Hmm hmm...)
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
|
|
|
01-11-2015, 07:36 AM
|
#30
|
Human being with feelings
Join Date: May 2010
Posts: 90
|
this looks awesome.. Defo something i would use all the time.
|
|
|
01-11-2015, 07:43 AM
|
#31
|
Human being with feelings
Join Date: Jul 2013
Posts: 121
|
How harder do you think "automation clips" would be? I guess you would have an editor (with lfo in addition to other curves) and another timeline where you make clips take temporary "control" of the envelope (saving in memory the old points and overwriting them with yours) or something similar.
|
|
|
01-11-2015, 07:57 AM
|
#32
|
Human being with feelings
Join Date: Aug 2012
Location: Finland
Posts: 2,668
|
Very nice! I didn't realize that it's possible to use these new envelope functions in "real time"!
Manipulating 30000 points while playing (on Win XP32 from 2003 ):
(Analyzing the take is the slowest part...I wish there was a function to get next peak sample position in next X samples . Maybe it would be faster if such native function existed?)
Quick question:
How to set only the blue parameters and ignore the red ones?
Code:
Lua: boolean reaper.SetEnvelopePoint(TrackEnvelope envelope, integer ptidx, optional number timeInOptional, optional number valueInOptional, optional number shapeInOptional, optional number tensionInOptional, optional boolean selectedInOptional, optional boolean noSortInOptional)
|
|
|
01-11-2015, 08:00 AM
|
#33
|
Human being with feelings
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
|
Quote:
Originally Posted by Xenakios
[...] the scripts can't add new envelopes to Reaper's tracks. (At least not cleanly, of course some hacks could be done...For example, have a dummy Jesusonic plugin that has some parameters and use the envelopes of those parameters from the script code...Hmm hmm...)
|
Ah, but now you're contradicting yourself a bit!
Quote:
Originally Posted by Xenakios
Well, it's generating envelopes, so envelope generator is IMHO a better fit...But I will give it some more thought...
|
So, technically, it seems to use *existing* automation envelopes to *generate* (series of) new automation envelope points, or rather, *shapes* - and in this case, so far, those shapes strongly resemble classical sinoid LFO. I typically prefer to focus on the exposed functionality rather than the technology used. But anyway, don't worry about it, the functionality is certainly much more interesting than the name.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
|
|
|
01-11-2015, 08:09 AM
|
#34
|
Human being with feelings
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
|
Quote:
Originally Posted by Banned
Ah, but now you're contradicting yourself a bit!
So, technically, it seems to use *existing* automation envelopes to *generate* (series of) new automation envelope points, or rather, *shapes* - and in this case, so far, those shapes strongly resemble classical sinoid LFO. I typically prefer to focus on the exposed functionality rather than the technology used. But anyway, don't worry about it, the functionality is certainly much more interesting than the name.
|
I meant in the later post that the scripts can't add new envelopes like "Envelope generator amplitude" into Reaper's tracks without using some auxiliary hack like an additional dummy Jesusonic plugin.
Maybe the more correct name for the thing would be "Envelope point generator", but that seems like nitpicking...
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
|
|
|
01-11-2015, 08:40 AM
|
#35
|
Human being with feelings
Join Date: Mar 2008
Location: Unwired (probably in the proximity of Amsterdam)
Posts: 4,868
|
Quote:
Originally Posted by Xenakios
I meant in the later post that the scripts can't add new envelopes like "Envelope generator amplitude" into Reaper's tracks without using some auxiliary hack like an additional dummy Jesusonic plugin.
Maybe the more correct name for the thing would be "Envelope point generator", but that seems like nitpicking...
|
Gotcha. Yeah, definitely nitpicking territory - please keep focusing on the hacks instead.
May I suggest adding a setting for quantization on the value axis? For example, you might have a parameter for some VSTi's oscillator fine tuning from -12 to +12 semi-tones, where you only want to use whole semi-tones, so you'd divide the parameter value scale into 25 equal steps. Make sense? (I built some automation envelope quantization scripts in the past, I should probably luarn how to redo them myself... )
And yeah, an ADSR generator would be really cool, too - especially if you could link it to MIDI note-on/off events in the same track, so note-ons trigger the attack stage, and note-offs trigger the release stage.
__________________
˙lɐd 'ʎɐʍ ƃuoɹʍ ǝɥʇ ǝɔıʌǝp ʇɐɥʇ ƃuıploɥ ǝɹ,noʎ
|
|
|
01-11-2015, 09:26 AM
|
#36
|
Human being with feelings
Join Date: Jan 2012
Location: Germany
Posts: 1,130
|
Quote:
Originally Posted by spk77
Very nice! I didn't realize that it's possible to use these new envelope functions in "real time"!
Manipulating 30000 points while playing (on Win XP32 from 2003 ):
(Analyzing the take is the slowest part...I wish there was a function to get next peak sample position in next X samples . Maybe it would be faster if such native function existed?)
|
What is this?
|
|
|
01-11-2015, 10:25 AM
|
#37
|
Moderator
Join Date: Aug 2007
Location: Caracas, Venezuela
Posts: 8,676
|
Xenakios and spk77, thanks for showcasing what's possible with this Lua thing. These are two ideas I'd use in my projects everyday. Could you both please share these tools with us so se can contribute with more ideas?
__________________
Pressure is what turns coal into diamonds - Michael a.k.a. Runaway
|
|
|
01-11-2015, 10:29 AM
|
#38
|
Human being with feelings
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
|
Quote:
Originally Posted by Mercado_Negro
Xenakios and spk77, thanks for showcasing what's possible with this Lua thing. These are two ideas I'd use in my projects everyday. Could you both please share these tools with us so se can contribute with more ideas?
|
I will of course share mine some day. Not quite yet though because I want to make it better first...
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
|
|
|
01-11-2015, 10:33 AM
|
#39
|
Human being with feelings
Join Date: Sep 2010
Location: Finland
Posts: 776
|
Quote:
Originally Posted by timothys_monster
What is this?
|
No idea... it sure looks like some kind of sorcery. Better keep the pitchforks handy.
__________________
Grey, flat and minimal theme for Reaper: Symbiosis
|
|
|
01-11-2015, 10:56 AM
|
#40
|
Human being with feelings
Join Date: Jun 2009
Location: Croatia
Posts: 4,593
|
Quote:
Originally Posted by spk77
Very nice! I didn't realize that it's possible to use these new envelope functions in "real time"!
Manipulating 30000 points while playing (on Win XP32 from 2003 ):
|
Would it be possible to create de-essing tool similar like this ones noise gate ?
|
|
|
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 08:13 AM.
|