Jump to content
  • 0

REAL TIME TRANSPOSITION


Milton Sica

Question

We know that Cakewalk has a feature to transpose the tones of tracks.

However, this transposition is done after the file is processed.

I am interested in knowing if there is a way, either through the DAW or through some TRANSPOSE plugin, that allows transposing in real time during playback.

The goal is quite simple:

Receive playback from an external tool as a source. Something like a YouTube Karaoke on a track so that the tone of the song is more comfortable for the singer.

Any tips for doing this in real time, that is: during playback itself?

 

(*) I'm not talking about MIDI files where I can use Cakewalk's TRANSPOSE plugin, but about WAV files.

Edited by Milton Sica
Link to comment
Share on other sites

14 answers to this question

Recommended Posts

  • 0
53 minutes ago, Milton Sica said:

Receive playback from an external tool as a source. Something like a YouTube Karaoke on a track so that the tone of the song is more comfortable for the singer.

Are you talking about pitch shifting a streaming source or a file that is resident on the machine? I cannot think of one for a streaming source offhand. For files resident on your machine there are a lot of pitch shifters available, but some are not as lightweight as others.  For example, Melodyne is heavy-handed in its analysis and takes a long time to process when opening a file; whereas something like RiffStation is quick to open files and adjust during playback (that is not a VST, but a stand alone app).

  • Thanks 1
Link to comment
Share on other sites

  • 0
1 hour ago, msmcleod said:

Groove clips can do this used in conjunction with pitch markers. 

Every time the pitch marker changes pitch, the clip is transposed in real-time.

Yes. This way of doing it is possible, but it is very laborious.

I am interested in something like the Transposition tool already does, but I need to inform the amount of tones to raise or lower so that the operation can be done on the entire wav.

I was thinking of something more modern.

Link to comment
Share on other sites

  • 0
1 hour ago, rsinger said:

Zynapic's Pitchmap does this for a single instrument. I've used it with e. guitar. It says it's real-time, but there's a noticeable delay.

e5fc211724.png

 

https://www.zynaptiq.com/pitchmap/

 

Thank you very much. I will test it and see if it can work in the way I think is best for me in this project.

If I get good results, I will return to the thread to give feedback.

Link to comment
Share on other sites

  • 0
4 hours ago, rsinger said:

Zynapic's Pitchmap does this for a single instrument. I've used it with e. guitar. It says it's real-time, but there's a noticeable delay.

e5fc211724.png

 

https://www.zynaptiq.com/pitchmap/

 

I tested it, but unfortunately it didn't work as expected. I'll keep looking for an alternative.

After all, at a time when so much AI technology already exists...

Link to comment
Share on other sites

  • 0

If the track in question is a single clip, then open the clip properties for that clip, and enable Stretch to project tempo, and check the box for Follow project pitch.  In my version that's in a tab for "audio stretching". 

Then just change the project pitch at the beginning of hte song to change the track's pitch.

If there are several tracks taht must change, such as bass, rhythm, keys, etc, but not the drums, then just enable this on all the tracks that need to change, but don't enable it on those that don't.

If the tracks aren't a single clip y ou can bounce them to one clip first. 

Keep in mind that realtime transpositon takes a lot of CPU, so the algorithms for realitme processing are "lighter" than the offline (full render/bounce) ones and don't do as good a job. usually it sounds alright, but there can be artifacts depending on the specific clip content. 

  • Thanks 1
Link to comment
Share on other sites

  • 0
7 hours ago, Amberwolf said:

If the track in question is a single clip, then open the clip properties for that clip, and enable Stretch to project tempo, and check the box for Follow project pitch.  In my version that's in a tab for "audio stretching". 

Then just change the project pitch at the beginning of hte song to change the track's pitch.

If there are several tracks taht must change, such as bass, rhythm, keys, etc, but not the drums, then just enable this on all the tracks that need to change, but don't enable it on those that don't.

If the tracks aren't a single clip y ou can bounce them to one clip first. 

Keep in mind that realtime transpositon takes a lot of CPU, so the algorithms for realitme processing are "lighter" than the offline (full render/bounce) ones and don't do as good a job. usually it sounds alright, but there can be artifacts depending on the specific clip content. 

Thanks for the help. I also know this technique, but the intention is to do the transposition in "almost" real time.

Something like an "Auto-Tune".

Play a playback that is in G, for example, and pass it through the plugin that converts it to lower or higher keys.

Link to comment
Share on other sites

  • 0

I've just given Melda's MHarmonizerMB a try, and it works really well, using it's "Basic Shifter" module:

You can adjust and/or automate the Pitch control as needed.

I've found the quality to be best with the formants "Keep" setting to 0.0%,  assuming of course you're not shifting too far.  For larger pitch changes, you'll probably want to increase this setting.

image.png.ce64ed3d3ec1bf305b2c5c546d10970d.png
 

Link to comment
Share on other sites

  • 0

Actually, just compared MHarmonizerMB  to using native Pitch Markers, and Pitch Markers sound MUCH better with anything over a 1 semitone shift.

It really is pretty simple to use them:

1. Drag in audio file
2. Select clip and go to clip properties
3. In the Groove Clip tab, enabled "Stretch to Tempo"
4. Check the original tempo matches the current project tempo
5. Enable "Follow Pitch", and set the reference note (if in doubt, just set it to C - everything will then be relative to C)
6. Add a pitch marker where you want the pitch to be changed. This will be relative to the reference note, so a pitch of D with a reference note of C will shift it 2 semitones.

The quality can be improved by editing the transient markers, but you should only need to do this if rhythmic content isn't sounding right.  I hardly ever need to do this.

SimplePitchMarkers.gif

  • Thanks 1
Link to comment
Share on other sites

  • 0
21 minutes ago, msmcleod said:

Actually, just compared MHarmonizerMB  to using native Pitch Markers, and Pitch Markers sound MUCH better with anything over a 1 semitone shift.

It really is pretty simple to use them:

1. Drag in audio file
2. Select clip and go to clip properties
3. In the Groove Clip tab, enabled "Stretch to Tempo"
4. Check the original tempo matches the current project tempo
5. Enable "Follow Pitch", and set the reference note (if in doubt, just set it to C - everything will then be relative to C)
6. Add a pitch marker where you want the pitch to be changed. This will be relative to the reference note, so a pitch of D with a reference note of C will shift it 2 semitones.

The quality can be improved by editing the transient markers, but you should only need to do this if rhythmic content isn't sounding right.  I hardly ever need to do this.


SimplePitchMarkers.gif

Excellent technique for using existing wav tracks, but I don't think I'm able to make myself understood. I'll try to explain.

I use a Focusrite Scarlet 4i4 4th gen that has a feature called Loopback.

With this feature I can input what is being played on YouTube or another application external to Cakewalk.

What I want is for the plugin, if it exists, to process in real time what it is receiving in the INPUT and record what it receives with its processing already done.

With tracks already recorded in Cakewalk, the existing Transpose feature does what I want, but it does so over a wav that has already been recorded.

Link to comment
Share on other sites

  • 0
6 minutes ago, Milton Sica said:

Excellent technique for using existing wav tracks, but I don't think I'm able to make myself understood. I'll try to explain.

I use a Focusrite Scarlet 4i4 4th gen that has a feature called Loopback.

With this feature I can input what is being played on YouTube or another application external to Cakewalk.

What I want is for the plugin, if it exists, to process in real time what it is receiving in the INPUT and record what it receives with its processing already done.

With tracks already recorded in Cakewalk, the existing Transpose feature does what I want, but it does so over a wav that has already been recorded.

I'm not sure if you can do that with loopback.

You may be able to do it via hardware - i.e. play YouTube through your onboard sound-card, take the output into a hardware harmonizer / pitch-shifter, then plug that into the 4i4's inputs,  but I don't think you can "insert" something in the 4i4's internal loopback chain.

There may also be software options, like a combination of VBCable and some stand-alone guitar effects  (TH-U with it's Harmonizer module for example).

I may be wrong though... maybe someone else can suggest something.
 

  • Thanks 1
Link to comment
Share on other sites

  • 0

Basically real time pitch shifting will have the lowest audio quality. For best quality you need powerful processing and time for it to do its work. 
And the more complex the audio the harder it is to change the pitch with out artifacts. 
Look into DJ software for real time pitch and tempo shifting. They do it better than any Daw can. Possibly Ableton has this. But I think the one I used was called Virtual DJ. 

  • Like 1
  • Great Idea 1
Link to comment
Share on other sites

  • 0

I was thinking the same thing with real time from a stream, since any pitch shifting would most likely be adjusting playback speed, but then I was curious with shifting up if the plugin would choke (run out of data to speed up). Even shifting down, eventually the buffer is going to have issues with filling up. If you have a select set of songs you are interested in, 4K Video Downloader (or similar) would allow you to have the entire file resident on the computer, which opens the doors to a lot more pitch shifting options.... simple, single wav file, so any VST can use look ahead on the data as you fiddle with pitch.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...