Difference between gapless render of WAV vs. DDP

First of all, yes, I made sure to quantize the CD track markers before any renders or testing, but quantized CD track markers shouldn’t affect rendered WAVs from a montage that are seamless with CD Track splice markers.

Here’s what I found using only a test tone and Steinberg plugins in a montage:

I made a montage with a test tone with seamless overlap. In the montage there is no audible click or pop when playing the overlap of the two tones. I used a CD splice marker quantized to nearest CD frame to divide the montage into two CD tracks. There is also a CD track start and CD track end marker at the beginning and end of the montage.

I inserted 4 Steinberg plugins on the montage master. Studio EQ, Multiband Compressor, Brickwall Limiter, and UV22HR dither.

When I render 16-bit WAV (or any) files from a montage with the settings to “Regions” and “CD Tracks”, the resulting two WAV files are no longer seamless when I open them in a new montage. You can see that the waveforms no longer connect perfectly. When they are played back, there is an audible tick or pop when the transition is played. I attached a screen shot of both the two rendered WAV files, and the same spot if I render as DDP.

When I render a DDP image, the there is no problem. I open the rendered DDP in Wavelab and the transition is seamless and also looks perfect. The CD track markers are quantized so it rules out that problem.

What I found is that this bug happens when more then one Wavelab audio track is in use, and the plugins must have a changed parameter. My early tests using only one Wavelab track, and no parameter changes on the Steinberg plugins caused me to think there was no problem here.

After further testing with more real world settings, I found a way to recreate this problem.

It seems there is a difference in the way DDP files are rendered vs. individual WAV files from a montage. Maybe the individual WAV renders have to start and stop for each outputted file, and then the plugins must re-engage or restart, but the DDP render is more of a “live” continuous render. I don’t know but surely this problem is now exposed. It’s a very precise bug that you may only notice if you are working with gapless or continuous audio and paying close attention.

Here is a zip of my session and assets to test yourself:

In the zip you’ll find:

-The two rendered WAV files I made, they do not seamlessly connect.
-The DDP I rendered from the same montage which the two songs/tracks DO seamlessly connect
-A screen shot of each connection of which they look different when they should not
-The source test tone I used in the montage
-Wavelab montage file

Please let me know how to resolve this solution ASAP as I have an approved DDP for an important project. Now I have to render 24-bit WAV and other files that must be seamless but I can’t find a workaround because some plugins must be used.

Thank you for your time again. I hope you find the files and info helpful.


jperkinski, I replicated your issue on Windows in Wavelab with Voxengo CurveEQ, Steinberg StudioEQ, and Reaper ReaEQ. Using a sine wave. Got ticks at file boundaries. But then I tried the same thing in Reaper with ReaEQ. And I got the same thing. Ticks at boundaries. The ‘easy’ fix until this is sorted out (if it can be) might be to render “whole montage” with “copy markers” and “open as new audio montage”, and then from that new continuous file montage, render “regions/CD tracks”. That works without ticks.

I replicate my answer from the other thread:
Thanks for your effort and last files. Now I see what you mean. Still, I can see this is a plugin problem (even the Multiband problem in your case). The problem does not happen for instance with the Peak Master (which have a long latency too).
What happens is that the second CD tracks start with about 2 milliseconds of the end of a clip (the main clip of the 1st CD track). This means the plugin has only 2 milliseconds of audio to process, which is less than its internal latency, that is, the minimum number of samples it needs for proper processing. Still, a plugin should be able to deal with that, but this particular case is certainly rarely tested by the plugin builders.
Therefore, if you need to process such small audio sections, verify that the plugins can do so.

PG,

Please entirely ignore my other post/thread. I made this new thread because it’s a different kind of bug. In this thread I’m not using ANY track effects, only montage master plugins from Steinberg. I only started using track effects to avoid the UAD/FF crash and found a way to not use track effects moving forward.

This new bug is very producible with only Steinberg plugins on the montage master and has to be the fault of Wavelab.

Please re-read this initial post, download the WL_GAPLESS_TEST_03.zip file and see for yourself.

I should be able to render gapless WAV files with no tick or pop when the rendered files are re-aligned. I know I have done it in the past with WL.

Also, how to you explain that for the test in this thread, DDP renders are OK but WAV renders have the problem? The track marker is in the same place for both renders, and quantized to a CD frame.

It makes no sense, and a professional mastering app should be able to make seamless WAV renders with a modest amount of plugins, especially the stock plugins.

For the record, these are not the plugins I normally use ,but used the stock WL plugins to rule out 3rd party plugin problems.

I beg you to take a more serious look at only this thread and the details.

In this thread I’m not using ANY track effects, only montage master plugins from Steinberg.

In the montage WL_Gapless-Test_03 you provide, you use Ozone and UAD plugins on clips.

I have remove them to make the rendering.
I also get a small differences (just a few samples) at the start of file#2. This is caused by the Studio EQ plugin. If you remove this plugin, there is no difference.

But you have to understand the subttleties of DSP…

There is a big difference when you render the whole file (DDP) and files individually. In the first case, you have a single plugin running from start to end. In the second case, the plugin is “restarted” for each file to render… when the second file is rendered, the samples of the 1st file are unknown to the plugin processing the start of file #2, which means the result can be different than in the whole file rendering case.

This is especially true for filter plugins (Studio EQ) because filtering does take into account past samples. In other words, it’s totally normal that you can’t re-compose the whole file by pasting the indivisual files together one after the other. Some side-effects are possible at the transitions, according to the type of DSP processing.

This has nothing to see with WaveLab and I don’t see any bug in WaveLab here.

Please forgive me but indeed there were some UAD and Ozone plugins on the first clip. It was a long day of testing so that slipped passed me.

HOWEVER, I just made a new test with no plugins on clips, or tracks, just Steinberg plugins on the montage master as originally intended.

The problem still exists. Here’s a new zip of the montage and assets:
https://www.dropbox.com/s/w324x802b5j6rq0/WL_GAPLESS_TEST_04.zip?dl=0

New screen shots also attached of the difference between WAV render and DDP render where the files meet. There needs to be a way for perfect files to be rendered whether it’s DDP, individual WAV etc.


You new montage is the same one I recreated from your previous montage. Hence my previous comment fully applies, I repeat:

I also get a small differences (just a few samples) at the start of file#2. This is caused by the Studio EQ plugin. If you remove this plugin, there is no difference.

But you have to understand the subttleties of DSP…

There is a big difference when you render the whole file (DDP) and files individually. In the first case, you have a single plugin running from start to end. In the second case, the plugin is “restarted” for each file to render… when the second file is rendered, the samples of the 1st file are unknown to the plugin processing the start of file #2, which means the result can be different than in the whole file rendering case.

This is especially true for filter plugins (Studio EQ) because filtering does take into account past samples. In other words, it’s totally normal that you can’t re-compose the whole file by pasting the indivisual files together one after the other. Some side-effects are possible at the transitions, according to the type of DSP processing.

This has nothing to see with WaveLab and I don’t see any bug in WaveLab here.

Is there no way that Wavelab couldn’t be changed so that rendered individual WAV files match exactly what playback and rendered DDP images sound like?

I’m thinking some kind of look-ahead or pre-roll on plugin processing so that things like this do not happen.

I found a workaround thanks to bob99, thanks by the way.

Copying markers and opening in a new montage wasn’t the best way because the CD-Text and ISRC codes don’t automatically appear, but I was able to render my montage as one continuous file, do a Save As… of the montage, remove all plugins from montage master and track, and remove the existing clips, reattach markers to audio samples of the new continuous file, remove old clips, then render again the individual files. After all this, the rendered files are perfect.

Kind of a lot of workaround.

The natural way is then to render the whole montage and do the split afterwards…

Really?
There’s no other way?

That’s the safest way, because then you don’t depend on plugin side effects.

I hope in Wavelab 9 there is a way to render WAV files from a montage that are sample perfect when it comes to songs that overlap from different Wavelab tracks.

It would be great if the overlap sounds good on playback, and on DDP render, that the individually rendered WAV files (usually for online distro masters) would not produce a pop or tick and be just like the playback and DDP render.

Individual WAV files are becoming the norm as online distro takes over. People are very picky about seamless transitions so it would be great to have a hassle free way to render files like this without an extra step.

You already have the AutoSplit tool that can split big files into chunks, as you like.

We might be talking about different things. The splitting big files into chunks isn’t the problem.

The problem is that I have a montage with two Wavekab audio tracks, the songs are staggered back and forth between the two tracks so the songs can overlap. After inserting plugins, the playback still sounds fine between songs, even a DDP render is great, no ticks or pops at the song transitions.

It’s only when rendering WAV files of each region defined by the CD track markers where the problems occur.

My solution last week was to render a continuous WAV of the whole montage so the ticks between overlaps didn’t occur, make a save as… of the montage and turn off all plugins, insert the new continuous WAV so the track markers and CD-Text/Metadata/ISRC codes are still present, and then render the WAV files of each CD Track region.

The goal here is to render WAV files of each CD track region that are consistent with how playback sounds and how the DDP is rendered. I understand that a DDP is a continuous render but I hope there is a way to make the individual WAVs render exactly the same when they come from different audio tracks in Wavelab.

We might be talking about different things. The splitting big files into chunks isn’t the problem and I’m not sure how it’s related to this scenario.

The main problem is that I have a montage with two Wavekab audio tracks, the songs are staggered back and forth between the two tracks so the songs can overlap. After inserting plugins, the playback still sounds ok between songs, even a DDP render is great, no ticks or pops at the song transitions, just as I would expect.

It’s only when rendering WAV files of each region defined by the CD track markers where the problems occur.

My solution last week was to render a continuous WAV of the whole montage so the ticks between overlaps didn’t occur, make a save as… of the montage and turn off all plugins, insert the new continuous rendered WAV back into the montage so the track markers and CD-Text/Metadata/ISRC codes are still present, and then render the WAV files of each CD Track region.

The goal here is to render WAV files of each CD track region that are consistent with how playback sounds and how the DDP is rendered without any extra rendering/inserting workarounds.

I understand that a DDP is a continuous render but I hope there is a way to make the individual WAVs render exactly the same when they come from different audio tracks in Wavelab.

It’s really only a big problem when you have tracks with overlapping audio.

We might be talking about different things.

No. If you read my explanations about plug-in side effects (which are not bugs, but DSP considerations), then the only safe solution, to get what you want, is to divide the whole file into chunks, afterwards. Hence the auto split tool.

But in what situation do you need to produce splitted files, if the music is continuous between them, without any silence?

A live concert album would be an example. Continuous program of music and audience ambience with split markers for ID points.

PG, I understand your technical explanation but do not accept it. I must say, no users expect a DSP misfired result. We all expect that individual renders would come out like any other type of render: WYHIWYG.

Due consideration of any DSP issues lies with the programming. The application should take the DSP side effects into account to produce the expected result, not the user.

Your auto-split solution works, of course. But now we are rolled back to a WL5 era solution. I love your individual render feature, it is a life saver and so efficient. The computer is suppose to work for us. I don’t want to regress!

Yes, the situation I’m referring to is when I have say 15 separate WAV files. I arrange them in the montage and they all have significant overlaps, the idea is to have a continuous album that doesn’t ever go silent. I just use two audio tracks and go back and forth from track 1 to track 2, pretty normal.

Then I insert track markers for each of the 15 songs. After positioning the track markers in a good spot, I quantize to nearest CD frame to be safe (although this shouldn’t matter for the purpose of just rendering WAV files). The songs are supposed to sound continuous and they do sound continuous in the montage, and on the DDP render.

The only way for Wavelab to produce individual WAV files of each CD track that don’t have a pop (in some situations) is to do the workaround described above.

I don’t get this problem when the audio already is one continuous file on just one track as a live concert might be, but when I have an album of songs from multiple files that must crossfade and be continuous, this is where the problem is noticed.

So it seems that if the source audio is already one continuous file, and it just resides on one Wavelab track with track markers for each song, the rendered files are ok. When the audio source is many files that overlap, on more than one Wavelab track, that’s where the problem is. Even if there are no clip plugins, it seems that the montage master plugins reset for each CD track region render and then the files are no longer seamless if you analyze them in a fresh montage.

Does this make more sense? I don’t think it’s too unreasonable to ask Wavelab to produce the same results from the same montage whether it’s rendered WAV files or a DDP.

PG, is it possible that when rendering the tracks individually, the rendering could have a preroll of the length of the longest latency* of the plugins involved? This would, it seems to me, fix the problem.

Paul

*Or maybe the sum of the latencies, if each plugin is feeding into the next.

@pwhodges
yes, something like that would be the best way.