Old 01-12-2020, 07:51 PM   #1
PhilRanger
Human being with feelings
 
Join Date: Oct 2019
Location: Texas but from Quebec (Canada)
Posts: 5
Default Reatune Additional Output

Hello,

First post here, and already whining! ;-) (but willing to help improve the situation!)

I am not perfectly happy with Reatune for a couple reasons:

#1- I often work on live stuff, which means that detection is sometimes pretty hard as there is a lot of bleed from other instruments and drums (think about autotuning the drummer's back vocals: a nightmare before or after Christmas!)

#2- When I want to move tracks around (shorten between songs, readjust to tempo the worst parts as musicians didn't play with a metronome, etc.) Reatune's manual corrections won't follow. Same for copying for example a chorus' sentence in another one.

For problem #1, if Reatune had a midi output (mod wheel) that is by how much Reatune thinks the tuning is off, I could feed that to a midi track and use that track to modulate to ReaPitch, to either let the corrections "as is", or manually correct the bad data where needed, or letting the corrections off where it artistically makes sense.

For problem #2, if I was able to interpret that data I could create a small script or utility to shift all manual corrections from selected time range by time "x" and/or to copy them to a different time.

I looked at what Reatune gives in the .rpp project but don't know how to interpret the data. Example:

<VST "VST: ReaTune (Cockos)" reatune.dll 0 "" 1919251566<5653547265746E72656174756E650000> ""
bnRlcu5e7f4EAAAAAQAAAAAAAAACAAAAAAAAAAQAAAAAAAAACA AAAAAAAAACAAAAAQAAAAAAAAACAAAAAAAAAHgAAAABAAAAAAAQ AA==
AgAAAAAAAAAeAAAAuAEAAAIAAAD/DwAA+gAAADIAAAAyAAAAAQAAAAEAAABFH6NAZFwIQQAAcEIAAH BCAQAAAHcqeUJpkxRDpMp4QChYeUMBAAAAAQAAAAAACwABAAAA
AAAAAAAAAAAAAAAASgMAACYCAAAAAAAA
AAAQAAAA
>
FLOATPOS 0 0 0 0
FXID {5D084E2D-E439-4F87-84BD-A14192B77AB6}
WAK 0 0
>
which has 2 corrections, vs

<VST "VST: ReaTune (Cockos)" reatune.dll 0 "" 1919251566<5653547265746E72656174756E650000> ""
bnRlcu5e7f4EAAAAAQAAAAAAAAACAAAAAAAAAAQAAAAAAAAACA AAAAAAAAACAAAAAQAAAAAAAAACAAAAAAAAAIgAAAABAAAAAAAQ AA==
AgAAAAAAAAAeAAAAuAEAAAIAAAD/DwAA+gAAADIAAAAyAAAAAQAAAAIAAABFH6NAZFwIQQAAcEIAAH BCAADBQQAAAUIAAHBCAABwQgEAAAB3KnlCaZMUQwAAAAAAACBC
AQAAAAEAAAAAAAsAAQAAAAAAAAAAAAAAAAAAAKkGAABoAwAAAA AAAA==
AAAQAAAA
>
FLOATPOS 0 0 0 0
FXID {5D084E2D-E439-4F87-84BD-A14192B77AB6}
WAK 0 0
>

Which has none and manual correction isn't enabled. I see it did add data, but... I can spend hours to reverse engineer this, but getting some help would be great!

Thanks!

Phil Ranger

PS: I promise I'll share results once it works!
PhilRanger is offline   Reply With Quote
Old 01-13-2020, 09:33 PM   #2
PhilRanger
Human being with feelings
 
Join Date: Oct 2019
Location: Texas but from Quebec (Canada)
Posts: 5
Default

Found some info on the vst storage method of its parameters in https://forum.cockos.com/showthread.php?t=45198. It is different for each vst, and encoded in “base64”. It is called “opaque” and there’s a good reason for that name ;-)

I created several projects with a single track, a single plugin (reatune) and one or 2 corrections only. I was able to change the start and end note of the correction but that was a lot of bad guessing, for pretty random results. Very mitigated results for time change. I am semi-confident that I can create a small utility to move or copy corrections, but any help would be appreciated. I’ll keep you posted!
PhilRanger is offline   Reply With Quote
Old 01-14-2020, 02:27 AM   #3
bobobo
Human being with feelings
 
bobobo's Avatar
 
Join Date: Oct 2014
Posts: 659
Default

not an answer i know but maybe another way

reatune hasn't to follow if you render the manually reatuned tracks/items to a new track. leave the original muted.

or you cut the "ugly" parts and use reatune as Take FX on them. you can glue them if they are ok.
__________________
Quote:
CLA (about volumelevel) : who gives a shit about that, use your damn ears.
tedious reaper stuff | don't take a look at the tuned_6.0 trial | my Chordgun Variation
bobobo is offline   Reply With Quote
Old 01-14-2020, 09:36 PM   #4
PhilRanger
Human being with feelings
 
Join Date: Oct 2019
Location: Texas but from Quebec (Canada)
Posts: 5
Default

Thanks for your input.

Yes, I read about that during my additional research about reatune. I’m not familiar with the difference between track effect vs item effect, so I may try that. I know it will bother me as the access isn’t the same, but I’m flexible (considering my weight).
I’m not a fan of destructive editing (I suffered too many years of analog then destructive editing), but a reasonable workflow might be to render a strong autotune as well as a weak autotune, put them as “takes” on the same track and comp from there, with an additional Reapitch with it’s automation lane assigned to “cents” for when comping isn’t sufficient. Lots of work and wasted disk space though, especially with live stuff that doesn’t react well to automatic autotuning, combined with bad back vocal singers.

Also, move/copy manual corrections is asked by many, so I think it would be nice to do it. I like the idea of the option 1 even better.

Is it Master Justin that wrote ReaTune?
PhilRanger is offline   Reply With Quote
Old 01-19-2020, 06:41 AM   #5
PhilRanger
Human being with feelings
 
Join Date: Oct 2019
Location: Texas but from Quebec (Canada)
Posts: 5
Default Progress!!!

Made a lot of progress on #1.

I found a jsfx plugin that outputs not only the detected note as MIDI but also the difference as MIDI Pitch (Pitch Follower by aparker127, THANK YOU SIR!).

Added same .wav file to a second track (simple sinusoidal sweep from 400 to 500 Hz for now) with an instance of ReaPitch, and modulated the "Shift (cents)" parameter from the MIDI Pitch.

Success!

Now I have more explorations to do:
1- Record that MIDI Pitch Data to a track so I can modify it on bad detection
2- Since I never worked with MIDI in Reaper, see how hard/easy it is to move/copy that data around with the original audio source
3- Add a "chromatic" mode to aparker127's plugin.
4- Maybe filter inside a modified version of "Pitch-Follow" if data doesn't work well on real voice (Delay problem? Too much correction?). I of course need to try it first on many real sources.
5- Make it more "user friendly"

Any recommendation about how to integrate that?
1- Just a separate track with the pitch correction data, and group it with the audio
2- Can I add a MIDI item to the same track (a bit like an additional take?) so they "stick" together? Can audio and midi live happily together in the same track?
3- Can I transfer that data to an automation envelope instead?
4- Do I have to first do a real-time pass to record the MIDI data or can I speed the process?

I'm having fun!

Phil
Attached Images
File Type: jpg Pitch-follower 1.jpg (56.3 KB, 33 views)

Last edited by PhilRanger; 01-19-2020 at 06:45 AM. Reason: missing picture!
PhilRanger is offline   Reply With Quote
Old 01-19-2020, 12:40 PM   #6
PhilRanger
Human being with feelings
 
Join Date: Oct 2019
Location: Texas but from Quebec (Canada)
Posts: 5
Default

Added lots of comments in the code, I now understand it quite well.

Chromatic mode added to aparker127's code.

There is an small lag: I tried a frequency moving twice as slow and also going up then down, and the difference decreased by an almost 2 factor, and the difference is really a lag: too high when going down, and to high when going down. I'm ok with that for now.

Test result below.

Now the interface: Should I just keep the "pitch change" midi output to a separate track? What would be as easy as possible to edit, as well as easy to copy and move with the track?

Tests on a really badly tuned live vocal section: ouch, these is more work to do, lots of glitches!
Attached Images
File Type: jpg Pitch Follower 2.jpg (29.7 KB, 5 views)

Last edited by PhilRanger; 01-19-2020 at 03:53 PM. Reason: Combined messages for clarity
PhilRanger 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 06:50 PM.


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