Old 07-08-2019, 01:40 PM   #1
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 2,525
Default MPL PitchEditor: melodyne-like editing take pitch envelope

Since there is no ReaTune alternative for offline pitch tuning in REAPER, I`ve built something with ReaScript. Not sure I take into account everything correctly so for now use and try it on your own risk.



How to use:
1) select audio take
2) click "Analyze take", it will trigger EEL script, depending on take length can freeze REAPER for couple of seconds. Thats normal. Once take is analyzed, it will load data immediately later (so data is cached inside RPP).
3) drag blocks, it will edit take pitch envelope.

I used https://stash.reaper.fm/v/30507/pitch-follower for pitch detection references with some modifications and adaptation.

Not really usable for now, but what do you think?


Todo:
blocks amp
blocks formant (Reapitch formant envelope)
display play cursor
convert to MIDI + pitchwheel
ghost selected MIDI item data

Requirements:
REAPER 5.97+
SWS Extension 2.9.7+
ReaPack 1.2+
Download: ReaPack.com (MPL`s repository is embedded into default ReaPack configuration)

Install:
  • run ActionList > ReaPack: Browse packages...
  • navigate and install PitchEditor and Various_functions packages
__________________
SoundCloud | MPL Scripts discussion | ReaPack | Donate

Last edited by mpl; 07-30-2019 at 10:19 PM.
mpl is offline   Reply With Quote
Old 07-08-2019, 02:22 PM   #2
X-Raym
Human being with feelings
 
X-Raym's Avatar
 
Join Date: Apr 2013
Location: France
Posts: 6,030
Default

Really advanced script, well done ! Thanks for sharing
X-Raym is offline   Reply With Quote
Old 07-08-2019, 03:23 PM   #3
reapero
Human being with feelings
 
Join Date: Aug 2011
Posts: 204
Default

Wow! This los great!
reapero is online now   Reply With Quote
Old 07-08-2019, 04:48 PM   #4
Dafarkias
Human being with feelings
 
Dafarkias's Avatar
 
Join Date: Feb 2019
Location: England
Posts: 143
Default

Absolutely love the idea of having melodyne-like capabilities that could be micro-editing via envelopes.

Really hope this blossoms!
Dafarkias is offline   Reply With Quote
Old 07-09-2019, 04:09 AM   #5
hopi
Human being with feelings
 
hopi's Avatar
 
Join Date: Oct 2008
Location: Right Hear
Posts: 15,078
Default

interesting idea... still a long way from melodyne of course
__________________
...should be fixed for the next build... http://tinyurl.com/cr7o7yl
https://soundcloud.com/hopikiva/angel-rain
hopi is offline   Reply With Quote
Old 07-09-2019, 05:17 AM   #6
todd_r
Human being with feelings
 
todd_r's Avatar
 
Join Date: Nov 2006
Posts: 558
Default

WOW! Amazing!
todd_r is offline   Reply With Quote
Old 07-09-2019, 05:31 AM   #7
todd_r
Human being with feelings
 
todd_r's Avatar
 
Join Date: Nov 2006
Posts: 558
Default

I got the following error when first trying to move blocks...

...rious\mpl_PitchEditor_functions/mpl_PitchEditor_data.lua:241: bad argument #1 to 'DeleteEnvelopePointRange' (TrackEnvelope expected)

worked after re-launching
todd_r is offline   Reply With Quote
Old 07-09-2019, 06:58 AM   #8
cool
Human being with feelings
 
Join Date: Dec 2017
Location: Sunny Siberian Islands
Posts: 160
Default

Amazing!
cool is offline   Reply With Quote
Old 07-09-2019, 09:37 PM   #9
_TIP_
Human being with feelings
 
_TIP_'s Avatar
 
Join Date: Apr 2014
Location: NY
Posts: 110
Default

This is brilliant MPL, thank you so much for your hard work, i can't wait to start using it!!!
_TIP_ is offline   Reply With Quote
Old 07-09-2019, 10:00 PM   #10
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 7,865
Default

Amazing !!!!

As you are at such a level of expertise with scripting, you might consider something with a different functionality of melodyne's: generating a tempo map from an audio (say drum) track.

Recently there was a thread in the forum providing a script that allows for using one of two free tools for this. I did not have the time to check it out, but I definitively will ASAP.

But having this ability at your fingertips right within Reaper by a script of yours would be awesome !

-Michael (if it works I will write a Reascript "about" for it )
mschnell is offline   Reply With Quote
Old 07-10-2019, 07:19 AM   #11
MEMFIS_AKA
Human being with feelings
 
MEMFIS_AKA's Avatar
 
Join Date: Jul 2017
Posts: 31
Default

radical
MEMFIS_AKA is offline   Reply With Quote
Old 07-10-2019, 07:55 AM   #12
Jason Brian Merrill
Human being with feelings
 
Jason Brian Merrill's Avatar
 
Join Date: Jun 2006
Location: Northeastern PA, USA
Posts: 20,850
Default

are you fucking kidding me? this is amazing
__________________
Beliefs do not require respect. People do.
Jason Brian Merrill is offline   Reply With Quote
Old 07-10-2019, 08:06 AM   #13
MEMFIS_AKA
Human being with feelings
 
MEMFIS_AKA's Avatar
 
Join Date: Jul 2017
Posts: 31
Default

Quote:
Originally Posted by mpl View Post
Can you share example?
Михаил, я добавил сэмпл в "проект"..почему-то изменился плейрейт. Я не понимаю почему.
Как только я его сбросил, скрипт заработал.
С изменённым плейрейтом короче не работает. Может это поможет как то доработать скрипт.
MEMFIS_AKA is offline   Reply With Quote
Old 07-10-2019, 01:00 PM   #14
Stevie
Human being with feelings
 
Stevie's Avatar
 
Join Date: Feb 2015
Location: Urkrain/Russia
Posts: 191
Default

awesome, totlly shoked

can i not request but offer maybe?

1. Playback cursore
2. Simple way to RESET note position (double click or so)
3. Key tonality snaping / or just highlight the note in current key
4. The way to glide notes

and again, im not asking for it, just saying,
i understand that u are working for free.
i'm so happy to see your scripts, it is amazing
and thanks for sharing, god bless you.
Stevie is offline   Reply With Quote
Old 07-10-2019, 01:01 PM   #15
Stevie
Human being with feelings
 
Stevie's Avatar
 
Join Date: Feb 2015
Location: Urkrain/Russia
Posts: 191
Default

ps. one of that things that should be in R. by default
Stevie is offline   Reply With Quote
Old 07-10-2019, 01:26 PM   #16
bwsd
Human being with feelings
 
Join Date: May 2011
Location: KZ ALA
Posts: 41
Default

Миша, ну супер. Дождались. Я был уверен что это будешь ты.
Замечание: на малых регионах не срабатывает детект.
Как поделить один длинный "кирпич" на два?

MPL, well, super. I was sure it would be you.
Note: in small regions the detector does not work.
How to divide one long "brick" into two small ones?
bwsd is offline   Reply With Quote
Old 07-10-2019, 08:03 PM   #17
lachinhan
Human being with feelings
 
lachinhan's Avatar
 
Join Date: Nov 2014
Location: Can Tho - Viet Nam
Posts: 128
Default

Quote:
Originally Posted by mpl View Post
Note separation: coming soon.
Awesome! I can't wait any longer

Thank you! Thank you so much!
__________________
NK Recording Studio
Email: lachinhan@gmail.com or admin@thuamninhkieu.com
Website:nkpro.top
lachinhan is offline   Reply With Quote
Old 07-15-2019, 04:22 AM   #18
Indiscipline
Human being with feelings
 
Indiscipline's Avatar
 
Join Date: Apr 2016
Posts: 55
Default

Getting lots of this on analyzing:
Code:
str_insert: will not grow string since it is already 65540 bytes
Indiscipline is offline   Reply With Quote
Old 07-21-2019, 02:03 AM   #19
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 2,525
Default

Quote:
Originally Posted by Indiscipline View Post
Getting lots of this on analyzing:
Code:
str_insert: will not grow string since it is already 65540 bytes
Seems like a EEL limitation, for now I added 64000 string length limit.
__________________
SoundCloud | MPL Scripts discussion | ReaPack | Donate
mpl is offline   Reply With Quote
Old 07-30-2019, 03:34 PM   #20
xinky
Human being with feelings
 
Join Date: Apr 2016
Posts: 31
Default

wooow
please continue developing that shit, it's awesome
really heavy coding behind it :O
xinky is offline   Reply With Quote
Old 07-30-2019, 09:02 PM   #21
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 2,525
Default

Quote:
Originally Posted by xinky View Post
wooow
please continue developing that shit, it's awesome
really heavy coding behind it :O
This was requested by friend of mine, but for now it is useless for him, too many bad working things, it is easier for him to just use Melodyne. Not sure I can make it better than it is.
__________________
SoundCloud | MPL Scripts discussion | ReaPack | Donate

Last edited by mpl; 07-30-2019 at 10:26 PM.
mpl is offline   Reply With Quote
Old 07-31-2019, 12:27 AM   #22
Phazma
Human being with feelings
 
Join Date: Jun 2019
Posts: 150
Default

Wow if this gets developed a little further I might not even need to buy Melodyne for my uses.

How can I make the keyboard and the line going through the blocks (showing the tracked pitch) appear? I guess there is a way to also have the notes snap to semitones?

I have never actually used Melodyne but here just a few ideas for handles inspired by Logic's Flex Pitch.. you might or might not consider some of these, probably depending also on what is possible through scripting in Reaper and the preferences of other users used to industry-standard Melodyne:
- handle for modifying fine pitch (in case dragging blocks snaps to semitones, otherwise the other way around obviously)
- handle to boost or attenuate vibrato
- handle for shifting formants
- handle for controlling pitch drift at the start of the note-block
- handle for controlling pitch drift at the end of the note-block
- handle for setting the gain of the individual blocks (perhaps via creating a take volume envelope)
Phazma is offline   Reply With Quote
Old 07-31-2019, 02:49 AM   #23
todd_r
Human being with feelings
 
todd_r's Avatar
 
Join Date: Nov 2006
Posts: 558
Default

Quote:
Originally Posted by mpl View Post
This was requested by friend of mine, but for now it is useless for him, too many bad working things, it is easier for him to just use Melodyne. Not sure I can make it better than it is.
Please keep developing, this is one of the most amazing scripts I've seen!

Plus not everyone has Melodyne and I like the extra options of the different pitch shifters to make more unusual effects that you couldn't do in Melodyne.
todd_r is offline   Reply With Quote
Old 07-31-2019, 09:33 AM   #24
mpl
Human being with feelings
 
mpl's Avatar
 
Join Date: Oct 2013
Location: Moscow, Russia
Posts: 2,525
Default

Quote:
Originally Posted by Phazma View Post
- handle for modifying fine pitch (in case dragging blocks snaps to semitones, otherwise the other way around obviously)
- handle to boost or attenuate vibrato
- handle for shifting formants
- handle for controlling pitch drift at the start of the note-block
- handle for controlling pitch drift at the end of the note-block
- handle for setting the gain of the individual blocks (perhaps via creating a take volume envelope)
Everything is possible, I just have near zero time to do this.

Snap and fine: try mouse modifiers
__________________
SoundCloud | MPL Scripts discussion | ReaPack | Donate
mpl is offline   Reply With Quote
Old 07-31-2019, 11:47 AM   #25
Phazma
Human being with feelings
 
Join Date: Jun 2019
Posts: 150
Default

Quote:
Originally Posted by mpl View Post
Everything is possible, I just have near zero time to do this.

Snap and fine: try mouse modifiers

Oh ok, no Problem! Was just some ideas, maybe some day in future if you have time
Phazma is offline   Reply With Quote
Old 08-01-2019, 08:20 AM   #26
Ozman
Human being with feelings
 
Join Date: Feb 2015
Posts: 555
Default

Actually, this can be used in the background of a bigger workflow, maybe...
forcing audio items to conform to the notes of chord track.
----
Also, possibly, use the information inside to create ghost (2-way) midi items to enable working with audio items as midi.
----
Continued development of these tools can assist multiple workflows.
Ozman is offline   Reply With Quote
Old 08-01-2019, 03:53 PM   #27
musicbynumbers
Human being with feelings
 
musicbynumbers's Avatar
 
Join Date: Jun 2009
Location: brighton, uk
Posts: 12,744
Default

wow! this is impressive! will try when time and donate if it's right for me!


convert to MIDI + pitchwheel
I really can't wait for you to get that in at some point as I've not found a decent replacement for an old 32bit plugin that did this and would love to have a fast method of extracting not just notes but vibrato (something melodyne midi export doesn't do yet)
__________________
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.
musicbynumbers is offline   Reply With Quote
Old 10-05-2019, 06:58 AM   #28
Dafarkias
Human being with feelings
 
Dafarkias's Avatar
 
Join Date: Feb 2019
Location: England
Posts: 143
Default ?

For some reason this script has never worked for me. I felt the itch to try it today, so I went into ReaPack and updated/reinstalled the script and your variousFunctions script, but it's still not loading any block-data after clicking the Analyze take button. The script does a little pause after pressing the Analyze take button, but after it's done, no block data is loaded into the GUI.

No error messages are shown during any point.

I'm using Windows 10, REAPER 5.983, SWS 2.10.0, MPL Pitch Editor 1.11, and Various_functions 1.26.
Dafarkias 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 03:40 AM.


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