Finding the best way to get tracks down

Discuss music production with Ableton Live.
Post Reply
Stromkraft
Posts: 7033
Joined: Wed Jun 25, 2014 11:34 am

Finding the best way to get tracks down

Post by Stromkraft » Mon May 11, 2015 12:06 pm

Alleviating the CPU and concerns
If you're making tracks, mixing down or even mastering with Live and you don't have a monster machine you're likely to have encountered the need to occasionally not play back every track live, but to do some fixation of at least some of the tracks, either via freezing/flattening, exporting to audio or recording. It would seem all of those methods should sound exactly the same, but there have been voices raised now and again that "freezing sounds bad" and "exporting tracks to audio is the way to do it" and other sentiments. I'm interested in finding a good methodology for getting the results I need as I'm sure many other producers are (you) doing already.
(You can jump to my preliminary conclusions of the better methodologies in the three last sections)

Testing my assumptions
I did some basic tests using polarity cancellation as a tool — also called phase cancellation — and made the observations below concerning when I had full cancellation, i e silence, and when I did not. The notion of fact, which you probably are aware of already, is that silence as a result from adding two signals together with one of these with the polarity reversed (or phase reversed) should be accepted as proof that these signals are identical.

I used somewhat sonically complex material with lot's of overtones to challenge Live in a controlled way.

Some of these results surprised me and concerns me as well as they indicate Live doesn't work exactly as I thought it did. I invite you to do some of the more interesting of these tests and/or discuss what's going on. Feel free to also suggest an improved test setup or testing with other criteria than cancellation proof.

Gear and test setup
All these tests were done in Live 9.2b8 64bit in a 32bit/44.1Khz audio project running on a 2.66Ghz Core2Duo with 8gb/1tb SSD. Needs repeating in Live 9.1.x and with higher bit rate possibly. Audio is tapped PostFX when possible. Fader levels are either on "x" meaning any similar level or kept at a level where cancellation occurred. I experimented with different latency settings but that didn't seem to make any difference between test cases.
  • 1: Base test
    One live track A with audio or MIDI instruments with or without effects with the fader on x
    + one audio track B with input from track A tapped at PostFX or PostFader with the fader on x
    + adding Utility with "phase invert" on "B" EQUALS
    >>Total Polarity Cancellation

    This is one basic nullification test, that should always work no matter what's in track A. i e it should always result in complete silence as we're summing a signal with a polarity inversed version of itself.
  • 2: Single MIDI instrument without effects
    One live track A with a MIDI instrument without effects with the fader on x
    + one duplicate track B of track A with the fader on x
    + adding Utility with "phase invert" on "B" EQUALS
    >>Total Polarity Cancellation

    So these are 2 identical tracks performing live playing their identical instrument that fully nulls with polarity inversed on track "B".
  • 3: Single MIDI instrument with effects
    One live track A with a MIDI instrument with effects with the fader on x
    + one duplicate track B of track A with the fader on x
    + adding Utility with "phase invert" on "B" (or "A" as expected) EQUALS
    >>Incomplete Polarity Cancellation

    Perhaps somewhat surprisingly the same effects in 2 identical tracks does not fully cancel these out, even though the body is pretty much gone.
    I must assume that either the delay compensation Live executes isn't sample perfect or the nature of effects like reverb, phasing, delay and so on is dynamic enough to give 2 different results when fed the same signal (assuming that the signal from the instruments is still identical). Or what else could be going on here? Suggestions?

    Please also note the strikingly different result with recording the track instead in 8) below.
  • 4: Frozen track with effects
    One live track A with a MIDI instrument with effects as previously with the fader on x
    + one duplicated track B now frozen with the fader on x
    + adding Utility with "phase invert" on "A" EQUALS
    >>Incomplete Polarity Cancellation somewhat different from 3.
    (Note that you'll get the same result when freezing track A, however see next test)
  • 5: 2 tracks frozen with effects
    One frozen track A with a MIDI instrument with effects with the fader on 0
    + one duplicated frozen track B with fader on 0 and routing to track C
    + one audio track "C" with routing from "B" (required) Post Mixer and fader on 0
    EQUALS
    >>Somewhat Improved Polarity Cancellation

    Here I have to note that not only must the frozen track send its output to "C", but the receiving track needs to have a routing from the frozen track as well (Post Mixer being the only possible). I would expect one routing would be sufficient, but clearly it's not in this case. Why?
    Because C has to tap Post Mixer levels are at 0 in tracks A and B.
    Different fader levels on "C" won't make a difference.
    I'd expect perfect cancellation here, but this result might involve some little problem with the routing. The results may also be skewed somehow because both tracks may reference the same "frozen" audio files.

    Flattening both of these tracks and rerouting them as well as adding polarity cancellation as previous 2-track tests does also render the same result as freezing one of the tracks with reverse polarity. However:
  • 6: Frozen + flattened with rendered effects
    One frozen track A with a MIDI instrument with effects with the fader on x
    + one duplicated flattened track B with the fader on x
    + adding Utility with "phase invert" on "B" EQUALS
    >>Total Polarity Cancellation However, not every time even as I've repeated it multiple times.

    This does indicate the frozen tracks perhaps were identical and that the routing to a third channel that I had to use in the previous test to be able to use Utility skewed the experiment. I sniff a bug here or a misunderstanding on my part on what the optimum routing should be.
  • 7: Live/Frozen/flattened and exported audio (bounce)
    One live, frozen or flattened track A with a MIDI instrument with effects with the fader on x
    + one exported track, then reimported to track B with fader on x
    + Utility with "phase invert" on "B" EQUALS
    >>Incomplete Polarity Cancellation

    Actually it's way more off than what can be expected. There's no cancellation also if the export is redone with a live or even a flattened track. From those 3 results we can deduct that exporting audio is not superior to freezing. Both those methods seem to kinda suck.

    This result surprises me the most. I need some sample analysis tool in order to investigate the flattened track A to the exported version. This doesn't make sense to me. Please note that Normalize and dither naturally were off for the 32bit export.
  • 8: Live MIDI track with effects and recorded audio (dubbing)
    One live track A with a MIDI instrument with effects with the fader on x
    + one recorded track B tapping A PostFX with fader on x
    + Utility with "phase invert" on "B" EQUALS
    >>Total Polarity Cancellation

    This result would indicate recording a track is superior to freezing as well as exporting. While this is a letdown as freezing is an easier and faster way to do it, it seems to be a reliable method.
Of the methods described for fixating a track reliably as it's supposed to sound, recording PostFX seems to be one of the better tools. Also flattening seems to have merit, but I need to make more testing to decide if any of these two methods are indeed better. Flattening is faster at least
What do you think of these results? Can you get exactly the same or similar results yourself? How can they be explained in the light of understanding digital audio as well as Live?

What technical issues could be behind the unexpected parts of these results? Is it the test setup, is it Ableton Live or just what to expect from digital audio?
Are any of these test results significant enough for making a bug report or are our expectations misguided (assuming here that your expectations would be similar to mine)?

Please add your analysis and share your results with these tests or better structured ones. I need to understand how Live works in this department so I can improve my work process. I assume other producers (you) also wants a sufficient process with Live audio. You may have found a better process for getting reliable results that sound as expected. Let us hear what you think!
Last edited by Stromkraft on Fri Sep 18, 2015 3:59 pm, edited 5 times in total.
Make some music!

Richie Witch
Posts: 1018
Joined: Mon Feb 10, 2014 10:10 pm
Location: Washington, DC
Contact:

Re: Finding the best way to get tracks down

Post by Richie Witch » Mon May 11, 2015 7:33 pm

Just to throw an idea out there....

Could the difference between freezing/flattening vs recording MIDI to audio have something to do with Live doing its internal processing at 32-bit floating point? Versus whatever bit depth is the target of freezing/flattening?

I've been reading up on the mathematical differences between 32-bit FP and 24-bit lately and while no form of digital recording is an exact duplicate of an analog signal, floating point is more accurate by several decimal places.

Thoughts? I'm open to being completely wrong on this--just speculating at this point.

BTW, "Digital Audio Explained for the Audio Engineer" by Nika Aldrich is a really comprehensive and scientific approach to the topic, if anyone is interested.
"Watching the Sky" ~ A 4-track EP of piano, strings, and Native American flute

Tarekith
Posts: 19140
Joined: Fri Jan 07, 2005 11:46 pm
Contact:

Re: Finding the best way to get tracks down

Post by Tarekith » Tue May 12, 2015 6:15 am

What effects were you using? Perhaps those are introducing some degree of variability preventing phase cancelling?

An idea would be to forget the effects for now and repeat the test using only a non-modelled instrument, ie Operator. That should get you a more consistant baseline to use for comparisons, you can add effects and such later.

TomViolenz
Posts: 6854
Joined: Mon Dec 13, 2010 6:19 pm

Re: Finding the best way to get tracks down

Post by TomViolenz » Tue May 12, 2015 11:33 am

Yeah the effects not doing exactly the same thing every time would be my guess too.

Many of them like reverbs and choruses probably work with internal modulation adding variety to the sound.

pottering
Posts: 1956
Joined: Sat Dec 06, 2014 4:41 am

Re: Finding the best way to get tracks down

Post by pottering » Tue May 12, 2015 9:05 pm

Also: Synths and effects with free-wheeling oscillators and LFOs will sound different depending on when you start pressing a note.
♥♥♥

Stromkraft
Posts: 7033
Joined: Wed Jun 25, 2014 11:34 am

Re: Finding the best way to get tracks down

Post by Stromkraft » Wed May 13, 2015 12:12 am

Richie Witch wrote:Just to throw an idea out there....

Could the difference between freezing/flattening vs recording MIDI to audio have something to do with Live doing its internal processing at 32-bit floating point? Versus whatever bit depth is the target of freezing/flattening?
Thanks for the suggestion, Richie. However in this case I had deliberately set the project as a 32bit project to eliminate this possibility. This means all rendered files were non-normalized, non-dithered 32bit/44.1Khz.
Make some music!

Stromkraft
Posts: 7033
Joined: Wed Jun 25, 2014 11:34 am

Re: Finding the best way to get tracks down

Post by Stromkraft » Wed May 13, 2015 12:36 am

Tarekith wrote: An idea would be to forget the effects for now and repeat the test using only a non-modelled instrument, ie Operator. That should get you a more consistant baseline to use for comparisons, you can add effects and such later.
Thanks for the suggestion.
After this exploratory approach where I'd think I have established that recording PostFX renders a correct result, I could make a more predictable test with the recording as the norm (instead of the live track. I'll have to think about it.
Make some music!

Stromkraft
Posts: 7033
Joined: Wed Jun 25, 2014 11:34 am

Re: Finding the best way to get tracks down

Post by Stromkraft » Wed May 13, 2015 12:45 am

TomViolenz wrote:Yeah the effects not doing exactly the same thing every time would be my guess too.

Many of them like reverbs and choruses probably work with internal modulation adding variety to the sound.
Tarekith wrote:What effects were you using? Perhaps those are introducing some degree of variability preventing phase cancelling?
I was using Filter Delay, Reverb, Glue Compressor and Saturator.

I contemplated what you both are suggesting, but don't you think that the results in test 8 contradicts this theory of the effects being the source of variability? After all, a live track with effects active should not repeat the same way on every repeat if this was true. And if so, there should be sound heard in some of the repetitions instead of just silence.
Make some music!

Tarekith
Posts: 19140
Joined: Fri Jan 07, 2005 11:46 pm
Contact:

Re: Finding the best way to get tracks down

Post by Tarekith » Wed May 13, 2015 5:45 am

When you're doing phase cancel tests, it helps to use a meter to see the results too. Sometimes you don't hear anything but you can see there's still a very quiet signal. Just one more thing to think about if you decide to redo the testing.

Stromkraft
Posts: 7033
Joined: Wed Jun 25, 2014 11:34 am

Re: Finding the best way to get tracks down

Post by Stromkraft » Wed May 13, 2015 3:12 pm

Tarekith wrote:When you're doing phase cancel tests, it helps to use a meter to see the results too. Sometimes you don't hear anything but you can see there's still a very quiet signal. Just one more thing to think about if you decide to redo the testing.
Thanks, that's a good suggestion. I was also thinking to add another batch of tests for actual phase offset as that could possibly be a contributing factor why a set of 2 tracks with the same material and polarity reversed in one won't fully cancel.
Make some music!

Post Reply