Old 09-17-2016, 03:29 PM   #1
eugen2777
Human being with feelings
 
eugen2777's Avatar
 
Join Date: Aug 2012
Posts: 271
Default EEL: Create stretch-markers at transients

The script will create stretch markers based on the detected transients.

This is EEL-script. EEL-version works totally faster than the Lua version, at least for me.



Short Info:
  • Threshold - The threshold in dB.
  • Sensitivity - Min diff(in dB) between the fast and slow envelope. The smaller the value - more the detected transients.
  • Retrig - Time of inactivity after the last trig in seconds.

LINK
__________________
ReaScripts

Last edited by eugen2777; 09-24-2016 at 03:54 PM.
eugen2777 is offline   Reply With Quote
Old 09-17-2016, 03:50 PM   #2
Justin
Administrator
 
Justin's Avatar
 
Join Date: Jan 2005
Location: NYC
Posts: 15,721
Default

Nice, yes EEL is usually quite a bit faster for DSP type things
Justin is offline   Reply With Quote
Old 09-17-2016, 04:12 PM   #3
eugen2777
Human being with feelings
 
eugen2777's Avatar
 
Join Date: Aug 2012
Posts: 271
Default

Quite a bit, only ten times faster
It's amazing really.
__________________
ReaScripts
eugen2777 is offline   Reply With Quote
Old 09-17-2016, 09:53 PM   #4
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,688
Default

Seems Great !

Can this be used to easily synchronize the (warped) BPM gird to a "non-clicked" recording ? (e.g. to synchronize the metronome with the Kick in the recording.)

(Silly me even after the tenth try of mastering tempo mapping, and reading the docs again and again, fails to understand the relation between the "Tempo Map" envelope in the master track, "Stretch Markers" and "Tempo/Time Change Signature Markers", and the resulting BPM modulation.)

-Michael
mschnell is offline   Reply With Quote
Old 09-18-2016, 12:45 AM   #5
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
Default

Just tested on a full mp3 song, imported in Reaper.
It's blazing fast !
Now i only have to figure out the 3 settings, how to tweak them the proper way to just detect
kickdrum transients in a song, but after fiddling around with these settings, i can already see this script does a much greater job than the "native" transient detection in Reaper.

Many thanks, so happy with this !!
vanhaze is offline   Reply With Quote
Old 09-18-2016, 01:56 AM   #6
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 9,875
Default

@eugen2777
It's quite interesting that you made the two versions. The performance comparison is very impressive !!
What ReaScripts functions make such difference ?
X-Raym is offline   Reply With Quote
Old 09-18-2016, 02:28 AM   #7
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 8,062
Default

Quote:
Originally Posted by X-Raym View Post
@eugen2777
It's quite interesting that you made the two versions. The performance comparison is very impressive !!
What ReaScripts functions make such difference ?
I could guess the difference is in some code that accesses array elements a lot individually. Lua doesn't exactly shine with stuff like that.
__________________
I am no longer part of the REAPER community. Please don't contact me with any REAPER-related issues.
Xenakios is offline   Reply With Quote
Old 09-18-2016, 05:31 AM   #8
eugen2777
Human being with feelings
 
eugen2777's Avatar
 
Join Date: Aug 2012
Posts: 271
Default

Yes, it is. Lua very slowly retrieves the elements of the reaper.array. You can convert reaper.array to a table-array("list" in lua), that slightly improve the situation, but not much. Because other operations in Lua also performed significantly more slowly than in the EEL.
As an experiment, You can check the speed using a long loop and some operations. This will show the difference.
However, note that in eel the number of loop iterations is limited(1048576) - use a nested loop.
__________________
ReaScripts
eugen2777 is offline   Reply With Quote
Old 09-18-2016, 02:46 PM   #9
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,688
Default

Quote:
Originally Posted by mschnell View Post
Can this be used to easily synchronize the (warped) BPM gird to a "non-clicked" recording ? ...
Anybody ?!?!

-Michael
mschnell is offline   Reply With Quote
Old 09-19-2016, 01:23 AM   #10
eugen2777
Human being with feelings
 
eugen2777's Avatar
 
Join Date: Aug 2012
Posts: 271
Default

mschnell, Probably, it is possible. I'm not sure I could do it, but I can try. Moreover, it is unclear how it will work for a variety of audio material
__________________
ReaScripts
eugen2777 is offline   Reply With Quote
Old 09-19-2016, 01:31 AM   #11
PitchSlap
Human being with feelings
 
PitchSlap's Avatar
 
Join Date: Jan 2008
Location: Vancouver, BC
Posts: 3,793
Default

This will be very useful! Thanks as always.
__________________
FRs: v5 Media Explorer Requests, Global Quantization, Session View
Win10 Pro 64-bit, Reaper 6(x64), AMD 3950x, Aorus X570 Master, 64GB DDR4 3600, PowerColor Red Devil 5700XT, EVO 970 2TB, 10TB HD, Define R6
PitchSlap is offline   Reply With Quote
Old 09-19-2016, 06:32 AM   #12
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 15,618
Default

super nice and useful... thank you very much

btw, anyone know the file name for the cursor that is used to move the stretch markers?
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva
hopi is offline   Reply With Quote
Old 04-10-2017, 06:02 AM   #13
amagalma
Human being with feelings
 
amagalma's Avatar
 
Join Date: Apr 2011
Posts: 3,451
Default

eugen2777, I run your script from ReaPack ("Script: gen_Create stretch-markers at transients.eel") but it doesn't seem to do anything.. No stretch markers are created... Is it working?

Edit: It seems it cannot work if the take volume is not set to 0dB and/or if rate is not 1.0
__________________
Most of my scripts can be found in ReaPack.
If you find them useful, a donation would be greatly appreciated! Thank you! :)
amagalma is offline   Reply With Quote
Old 04-10-2017, 06:23 AM   #14
eugen2777
Human being with feelings
 
eugen2777's Avatar
 
Join Date: Aug 2012
Posts: 271
Default

Quote:
Originally Posted by amagalma View Post
eugen2777, I run your script from ReaPack ("Script: gen_Create stretch-markers at transients.eel") but it doesn't seem to do anything.. No stretch markers are created... Is it working?

Edit: It seems it cannot work if the take volume is not set to 0dB and/or if rate is not 1.0
Well, I will fix it soon. And maybe I'll add a filter.
__________________
ReaScripts
eugen2777 is offline   Reply With Quote
Old 04-10-2017, 07:44 AM   #15
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,688
Default

Great news !

I hope in can be used for the purpose I mentioned above.

-Michael
mschnell is offline   Reply With Quote
Old 04-11-2017, 01:14 AM   #16
Gianfini
Human being with feelings
 
Join Date: Jan 2015
Posts: 794
Default

Quote:
Originally Posted by eugen2777 View Post
The script will create stretch markers based on the detected transients.

This is EEL-script. EEL-version works totally faster than the Lua version, at least for me.



Short Info:
  • Threshold - The threshold in dB.
  • Sensitivity - Min diff(in dB) between the fast and slow envelope. The smaller the value - more the detected transients.
  • Retrig - Time of inactivity after the last trig in seconds.

LINK
Thanks nice! What is the difference of this vs using Dynamic Split with "write stretch markers to selected items" option selected?

g
Gianfini is offline   Reply With Quote
Old 04-13-2017, 02:08 AM   #17
zookthespook
Human being with feelings
 
Join Date: Mar 2015
Location: India Mumbai
Posts: 816
Default

slamming script
EUGEN !
love it
zookthespook is offline   Reply With Quote
Old 06-04-2017, 05:59 AM   #18
Ulf3000
Human being with feelings
 
Join Date: May 2016
Posts: 369
Default

Quote:
Originally Posted by Justin View Post
Nice, yes EEL is usually quite a bit faster for DSP type things
you guys should hire eugen for a limited contract and let him build his awesome scripts as native c++ and tightly integrated part of the reaper daw.

his ideas (the drumtrigger, compressor ) are good enough to warrant native implementation imo

just think what this guy can do if he has complete access to everything and isn´t held back by script accessibility limitations
Ulf3000 is offline   Reply With Quote
Old 06-04-2017, 06:03 AM   #19
vanhaze
Human being with feelings
 
vanhaze's Avatar
 
Join Date: Jul 2012
Location: Netherlands
Posts: 5,247
Default

I totally agree with you.
__________________
Macbook Pro INTEL | Reaper, always latest version | OSX Ventura | Presonus Studio 24c
My Reaper Tips&Tricks YouTube Channel: https://www.youtube.com/user/vanhaze2000/playlists
vanhaze is offline   Reply With Quote
Old 12-10-2018, 03:05 PM   #20
amagalma
Human being with feelings
 
amagalma's Avatar
 
Join Date: Apr 2011
Posts: 3,451
Default

Quote:
Originally Posted by eugen2777 View Post
Well, I will fix it soon. And maybe I'll add a filter.
Hello eugen! Have you ever made this version?
__________________
Most of my scripts can be found in ReaPack.
If you find them useful, a donation would be greatly appreciated! Thank you! :)
amagalma is offline   Reply With Quote
Old 07-15-2021, 01:24 PM   #21
permeke
Human being with feelings
 
Join Date: Dec 2019
Posts: 588
Default

possible to disable the popup menu when say I have the values I always use ?
permeke is offline   Reply With Quote
Old 05-09-2022, 02:54 AM   #22
EdPeterson
Human being with feelings
 
Join Date: Sep 2021
Posts: 2
Default

Not working. Says "unexpected character before /"
EdPeterson is offline   Reply With Quote
Old 05-09-2022, 04:26 AM   #23
JonLinnarson
Human being with feelings
 
JonLinnarson's Avatar
 
Join Date: Jul 2020
Posts: 724
Default

Quote:
Originally Posted by EdPeterson View Post
Not working. Says "unexpected character before /"
Still works perfectly for me. Did you install the script through ReaPack?
JonLinnarson 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 07:27 PM.


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