Jump to content

Offline versus Realtime bounce


Joe Lonsdale

Recommended Posts

Hi all.

 

I had a fellow producer in the studio today and we chatted about offline versus realtime bouncing and he reckons a realtime bounce sounds better than an offline bounce. Yeah yeah - old argument, not possible - it's all in the maths etc. Anyway, we tried comparing the two and a whole can of worms opened up. I am sharing the two bounces here - not mixed yet, but good enough for a listen:

https://www.dropbox.com/sh/1mqrtb1onxbvxu1/AABom0g8TV8s_L-6bW9hJdsJa?dl=0

 

If you load them both up and reverse the polarity of one you will hear that there is lots of stuff left over - namely some BFD drum parts, a V-Station synth part and some backing vocals. This could be accounted for by third party software not adhering to Logic's offline bounce 'protocols' and not being able to perform optimally somehow, however it seems that the parts are actually missing from the realtime bounce - not what I would expect, or perhaps it is - perhaps the offline is less likely to error.

 

My fellow producer thinks there is a difference in the top end (listen to the tambourines & their reverb) but I cannot really hear that. However, there is some 'hiss' left over in the null which could account for the high-end perspective. Anyway, I am not coming to any conclusions yet, just don't take it for granted either way - there are definitely inconsistencies and I will try to create a version that nulls perfectly and get to the bottom of it!

Link to comment
Share on other sites

After a few more tests I have found Stephen Slate Virtual Tape leaves residual 'difference' in the null (quite a lot of it actually and possibly related to the wow/flutter section) but I was unable to get the few Waves and Stillwell Audio plugins I tried to create any errors. This suggests that some plugins, under some circumstances, perform differently depending on whether you use offline or realtime bounce. So LOOK OUT! Of course this is likely to be system and version dependent, but has opened my eyes to the importance of NOT TAKING IT ALL FOR GRANTED.
Link to comment
Share on other sites

Thanks for these posts -- it's interesting reading. I've also found that some plugins (for example, Izotope's Nectar when extreme effects are applied) tend to slip tempo or otherwise glitch when I do offline rather than realtime bounce, but I've never really systemically tested it and can't prove it, so it's good to read someone who is taking a more rigorous approach!
Link to comment
Share on other sites

This suggests that some plugins, under some circumstances, perform differently depending on whether you use offline or realtime bounce.

Beware the logical fallacy. It could simply mean that some non-linear plug-ins never perform the exact same way twice, independent of the bouncing mode. Try bouncing the same song twice with the same bouncing mode and see if the mixes null?

Link to comment
Share on other sites

Some (software) instruments never play exactly the same twice, either due to free running LFO's, or by round robining of samples in an sampled instrument, or any other sort of non-synced modulation, even synced modulation sometimes. The only test free of that is if you bounce every track to audiostems, and then compare a realtime to an offline bounce.

Ha, I see David came with a same/similar objection.

Link to comment
Share on other sites

The behavior of any computer algorithm, absent some source of pseudo-randomness, will be "deterministic."  It will produce exactly the same answer each and every time, simply because it cannot do otherwise.  (Whereas a physical system never will.)  Since the purpose of Logic (e.g.) is to mimic the behavior of physical sound-mixing and recording equipment, I'm quite sure that there are a lot of random-numbers in there.

 

The hypothesis is that "offline vs. realtime bounce" is the source of human-perceptible variation.  Taking this to be a sort-of statistics problem, you need to set up an experiment.  You'd create five or ten samples ("tapes") from each group (offline, online), in which the settings were exactly the same throughout.  Differencing any two tapes within each group ought to produce some amount of differencing: not a perfect match, but the results ought to sound random, and more-or-less the same timbre, no matter which two tapes you draw.  The results should be comparable to what you hear in draws among the other group, as well.  Then, when you difference tapes taken at-random "one from each group," the sound of those differences ought to once again be about the same.  If, instead, you notice something distinctly different, a-n-d that difference can be heard no matter which tape you randomly pick from each group, then such a finding would support your hypothesis:  that the "between groups" differences are human-noticeably different from the "within group" differences.  Your ears might even suggest the culprit.

Link to comment
Share on other sites

There's no difference in the maths performed offline ("as fast as the processor can do the maths") to real-time ("no need to hurry, we've got time to do the maths and take a breather between buffers") *except* some plugins that have some different settings for offline bounces (ie you can set a higher quality for offline renders to keep the real-time load under control).

 

Otherwise, as other people have said, most people's difficulty with performing null tests is usually a failure to understand how to do a null test properly - you can't extract meaningful results comparing bounces using any processing that includes random elements, or non-phase locked modulations that start at different points in the cycle.

Link to comment
Share on other sites

All good points and yes, the wow & flutter of a take emulator is of course likely to be different each time. I will design a more rigorous test! I understand that there is no difference in the 'maths' but I suspect some plugins perform differently due to coding variations across versions, bugs and undocumented incompatibilities. My results so far suggest that neither approach is 100% reliable if third party plugins are involved.
Link to comment
Share on other sites

And there are plugins that can have different settings in quality for real time mode and bounce. Although I'm not sure if the quality setting for bounce is only set for offline bounce. 

 

And this just happened to me 2 days ago...

While realtime bouncing some automation on tracks heavily loaded with plugins (some of them with lot of latency) went out of sync. Though during offline bounce and playback it just worked fine. 

 

Finally: Offline or realtime, both are quality wise the same if quality settings everywhere are exactly the same. As mentioned above from others they may not sound the same due to several reasons. 

Link to comment
Share on other sites

Beware the logical fallacy. It could simply mean that some non-linear plug-ins never perform the exact same way twice, independent of the bouncing mode. Try bouncing the same song twice with the same bouncing mode and see if the mixes null?

Yes - that proved to be true - the wow and flutter 'cycle' (at least on my aged system and in old version of Slate Virtual Tape) is either random or has a different start point to its 'cycle' every time you play or bounce - with the wow/flutter process disengaged the two offline bounces null perfectly.  Whilst not a significant issue, the 'hiss' element does not perfectly null, suggesting the same random or cyclical process. However, Waves Kramer Tape seems to null perfectly, even with wow and flutter at 100%, suggesting that Waves algorithm is not random and has a predictable and repeatable start point and cycle - clever!

 

BFD 1.5 plays differently everytime so getting a null using any method is impossible - 'anti-machine gun mode' makes no difference to the result - the clarity of the audio that remains after null suggests different samples are being used at random. However, BFD 3 nulls perfectly. Probably a case of old versus new and better, or at least different, coding. In fact, using straight audio examples (rather than virtual or sampler instruments), I didn't come across a Logic or Waves plugin that failed to null, although I by no means tested them all. I expected Waves Doubler, with it's modulation set high, to fail - it didn't - kudos to Waves.

 

My conclusions so far, and drawing on other posts, are:

 

  1. External effects/instruments must be bounced in real-time unless already captured as audio (that's an obvious one);
  2. Native Logic effects, even those with delay/modulation features, seem to perform identically off-line and real-time;
  3. Third party software running within Logic may perform differently off-line to real-time (and in fact vary from one bounce to the next in real-time and off-line) depending on:
    a) the age of software and therefore the solidity/compatibility of its coding;  b) how you have asked the software to perform during real-time and off-line bounces in the software's preferences;  c) how the software designers have implemented random, pseudo-random and/or cyclical and time-based processes such as wow/flutter, modulation, echo/delay etc (So far Waves has proved itself to be pretty consistent but Slate has not, at least on my system);  d) how your soft-synths and virtual-instruments (especially third party) implement 'humanising' - such as variable sample playback, random pitch-variations etc.;  e) whether your system is a good match for any given piece of software, for instance you may get different results on different systems.
  4. If all inconsistent time-based, cyclical and random processes are removed from the equation, the result of an off-line and a real-time bounce are identical and null perfectly when aligned and the polarity reversed on one.
  5. Probably.

Link to comment
Share on other sites

i had one project, about 3 years ago, where the sustain pedal write wouldn't 'read' correctly when i did an offline bounce. so... realtime, and all was well. we've compared realtime vs offline (unscientific!) at the studio i record at (adam S3X monitors) and 'hear' no real difference. 

 

i love offline bouncing; by the time i get to that point in a mix,i do not want to hear the current song again. ;-) 

Link to comment
Share on other sites

i love offline bouncing; by the time i get to that point in a mix,i do not want to hear the current song again

+100

lol. one of my collabs just said "you can always turn the monitors down during a realtime bounce". my point is: that's additional work i'd have to do (turn them down, then afterwards, turn them back up).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...