Jump to content
Skyline_UK

Best way to sync a demo MP3 to CW project?

Recommended Posts

A friend has made a demo of a song he's written and wants to try out some simple backing.  His live MP3 demo (vocal and acoustic guitar) is at about 136bpm.  I've made a simple accompaniment in a CW project with the tempo set at 136bpm, just Addictive Drums and some MIDI bass.  I want to import his MP3 to a track and get it playing at strict 136bpm so it works with the bass and drums.  CW documentation says:

To sync an audio clip to the project tempo
1.
Select the audio clip(s) that you want to follow the project tempo.
2.
Press A to open the AudioSnap palette. (actually Alt-A)
3.
Click the Clip Follows Project Tempo button  on the AudioSnap palette.
The clip is synchronized to the project’s tempo map.

But this doesn't work, the MP3 track is out of alignment, drifting off after about two bars.  Is there an alternative accurate way of doing this?  After all, there's no violent tweaking needed, the demo is pretty near 136bpm throughout so it should be straight forward (I would have thought)...

Share this post


Link to post
Share on other sites

Many thanks.  I had already found that after Googling.   I followed the instructions but things run off after about 7 or 8 bars and rapidly get worse.  The tempo map was created ok - all the slight variations appear in the Tempo View.   And the XLN drums are in sync with the metronome with the detailed tempo map in place.  Odd.  I tried turning the track into a groove clip and set it to follow the tempo but that didn't work either.  I also tried deleting all the tempo changes except for a start one of 136, but still no success.  I'm puzzled as to what else to try.

☹️

Edited by Skyline_UK

Share this post


Link to post
Share on other sites

I've posted about this many time in the past, and usually just refer to those older posts, but decided to start fresh. As usual, this assumes some knowledge of functions, menus and keyboard shortcuts:

The general approach I would recommend, whether you use Melodyne, Audiosnap or Set Measure/Beat At Now - or maybe even Fit to Improv with a MIDI guide track - is this:

     - Get the timeline aligned to the MP3 in a new, separate project, starting at 136bpm.

     - Enable Audiosnap in Autostretch mode (or Melodyne if you're using that), and delete all the tempo changes.

     - Reset the initial tempo to 136bpm if necessary, and bounce the audio to render the stretching .

     - Import the rendered .WAV into your other project.

To get the most precise results with the greatest flexibiity in choosing how much you mangle the audio with stretching, I recommend setting the timeline manually using Set Measure/Beat At Now.

- Start by importing the MP3 to a new 136bpm project, and deleting the dead air that MP3 encoding adds (and/or your collaborator left in) at the start

- Drag the clip to align the first downbeat to the nearest bar line (i.e. 1:01:000 if it starts on a downbeat or 2:01:000 if there are pickup beats). 

- If isn't starting at 1:01, snap the Now time to 2:01 and use Set Measure/Beat At Now (Shift+M) to pin down that point as the reference for subesequent timeline 'Sets'.

- Start play back and stop the transport at the downbeat transient that should be hitting the 9:01 barline, and SM/BAN that point to Measure 9, Beat 1 (or Measure 10 if the first downbeat is at 2:01).

- Go through the rest of the clip using a combination of playback (spacebar), previous/next measure and tab to transient keyboard shortcuts to put the Now time on downbeat transients at 8- or 16-measure intervals, and 'Set' those beats out the the last downbeat or the point where a decelerando starts if there is one. (Note: If the rhythm doesn't have strong transients on downbeats, you can set a different beat or even a fractional beat somewhere else in the bar).  once you get the hang of using the shortcuts, this goes pretty quickly.

- Enable the playback metronome, and listen through the clip, setting additional points as needed to tighten up the timeline to the audio. Understnad that SM/BAN is entering tempo changes to make timeline fit the audio; there's no audio stretching going on at this point.

- If you find at some point that you've made things worse, it's best to Undo your way back to the last 'Set' before the mistake was made. With a contiguous clip that starts at 1:01:000, you can delete tempos, and not mess things up, but when doing this with MIDI or multiple audio clips that don;ta ll start at time zero, it's imperitive that you use Undo. And it's best to do progressive Save As with a new name at regular intervals so you can easily back up to  a 'good' state if needed later on.

- When it sounds good throughout, do a final Save As, go to clip properties in the Inspector, enable Audiosnap in Autostretch mode, choose Online and Offline stretching algorithms (Elastique Pro may or may not sound the best), and delete all your carefully set tempos (eek!), leaving only the initial tempo. If that tempo got changed by the set at 9:01 or an earlier one (likely), change it back to 136.00.

- Have another listen to see how the online stretching sounds, and if it's all good, Bounce to Clip  (or Track if you prefer to preserve the online stretching for comparison), and drag or export/import that clip into your working project.

- Have a beer, go for a walk or take a nap.

One final thought:  The issue I have withe Melodyne, and the reason I prefer Set Measure/Beat At Now is that Melodyne tends to produce a hyper-smooth tempo map with interpolated tempos where no beats even exist, and when you 'flatten' the tempo by deleting them, there's so much streching going on everywhere that significant distortion results. If a recording has relatively tight timing to begin with, it's best not to set it at a resolution finer than a measure, and preferably less if it's not absolutely needed to eliminate obvious drift. I've recently experimented with a procedure for using Melodyne to extract tempos, and then thin them down to beats or measures, but it's a bit fiddly, and ultimately not really an improvement over Set Measure/Beat At Now, either in speed or quality of the end result.

 

 

 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Many thanks David for going into all this detail.  I really appreciate it.  I think I'm now on the right track with 'Set Measure/Beat At Now'.

👌

 

Share this post


Link to post
Share on other sites

Coincidentally, a youtube video was just linked in another thread that shows pretty much exactly this process - just doing it in a multitrack project. And he sets every measure from start to finish while I usually start with 'rough set' as described, and dial it in only where really needed. But setting every measure like this is valid if you know the tempo is that variable, and are more concerned with super-tight timing than audio artifacts.

I swear: A. That's not my video, and B. I did not see it before posting.  ;^)

 

  • Thanks 1

Share this post


Link to post
Share on other sites
On 11/6/2019 at 5:04 PM, David Baay said:

When it sounds good throughout, do a final Save As, go to clip properties in the Inspector, enable Audiosnap in Autostretch mode, choose Online and Offline stretching algorithms (Elastique Pro may or may not sound the best), and delete all your carefully set tempos (eek!), leaving only the initial tempo. If that tempo got changed by the set at 9:01 or an earlier one (likely), change it back to 136.00.

David, everything works (I adjusted each bar via SMBAT) up until "delete all your carefully set tempos" - everything then goes into chaos tempo-wise at that point.  Is there another Audio Snap setting I should tick/untick?  E.g. 'Follow Proj Tempo' and 'Enable Stretch' are unticked by default.  Should I tick either/both of them?

Share this post


Link to post
Share on other sites

Yeah, guess I was little to vague with "enable Audiosnap in Autostretch mode":

In the Audiosnap section of Clip properties:

- Check the Enable box.

- Set the 'Follow Option' to ' Auto stretch'

- Then check 'Follow Project Tempo'

If the follow option is anything other then Autostretch, the clip will immediately try to confirm to the timeline tempo according to its clip tempo map (which we're not using), and will typically 'go into chaos' as you say. Autostretch mode doesn't do anything until you change/delete tempos. 

 

  • Like 1

Share this post


Link to post
Share on other sites
On 11/6/2019 at 12:04 PM, David Baay said:

To get the most precise results with the greatest flexibility in choosing how much you mangle the audio with stretching, I recommend setting the timeline manually using Set Measure/Beat At Now.

^^^^ AudioSnap will make you want to tear your hair out, and is overkill for a single track. SM/BAN is the only sure-fire way to tempo map a single track (Melodyne will fall on its sword in the absence of transient material fairly frequently - although I have not tested this with the most recent updates).

  • Like 1

Share this post


Link to post
Share on other sites

I personally prefer simply turning on the click and drawing in the tempo changes by hand. For me it’s WAY quicker than SM/BAN and provides instant feedback on the relationship between the music and the tempo map (click).  Sometimes the drummer might rush the kick or drag the snare so setting the map by listening to the click instead leaves the map more like as if the drummer was playing with the click as opposed to having the map rush the 1 and 3 or drag the 2 and 4 with the drummer.  That’s more a feel thing than a map move.  (Musicians should follow the conductor instead of the conductor jumping with the musicians).  So setting with the click by ear yields a more accurate representation of the actual map allowing the freedom of feel.

I find the ear comes up with a better average. 😄

  • Like 1

Share this post


Link to post
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...