Quantize CD Track Markers/Splices at Zero Crossing Point?

That’s great orangeoctane. Good to know, thanks.

The only thing is, AAC and MP3 made in iTunes from the same wav masters are absolutely perfectly seemless without any clicks or gaps at alll when played in iTunes or Foobar 2000, even using a sine wave and regardless of zero crossing. And that’s how Apple will be making the AAC files from your wav masters that they put in their store. Amazon is probably similar in the LAME MP3s that they make with the latest version of LAME, as XLD is able to make quite seemless LAME in some way, using the latest version of LAME. Just something to consider.

Not sure why all, Fraunhofer MP3 and AAC, and LAME MP3 made in Wavelab all exhibit more clicks at splices than lossy files made in other programs, but maybe the answer could be found by file comparison and examination within the files.

After testing this some more, I think I can say the cleanest encode in Wavelab, tick wise for splices, is LAME MP3 CBR. All the others, MP3 and AAC, click pretty badly. LAME MP3 CBR still ticks, but it’s fairly subtle.

The surprising thing to me is that some other programs have managed to do this absolutely perfectly with all their encodes. Specifically iTunes, Apple MFiT droplet, and xRecode. All of their encodes: MP3 AAC CBR VBR are completely perfectly seamless using sine waves (which are probably the most revealing signals for this) when they’re played back in iTunes and in Foobar 2000. So at least a few companies out there have figured out how to do this perfectly.

Also, all of the Wavelab MP3 VBRs are recognized as CBR in Foobar 2000, and the Fraunhofer MP3 VBRs are often recognized with wrong times, as has been pointed out in the past.

I really think that these things should be looked at again, maybe the VBRs need VBR headers, I don’t know. And the CBRs shouldn’t tick at all.

I love Wavelab, but the lossy files really do have these problem that other programs don’t seem to have anymore.

I put the latest version of LAME in Wavelab, but it made no difference with the ticks.

One other thing I found is that Amazon MP3s and xRecode MP3s (LAME) always include Delay, Padding, and MP3 Accurate Length properties when viewed in Foobar 2000. Wavelab MP3s don’t.

Maybe if somebody has Sonnox, they could try the Fraunhofer’s there. I would hope they don’t tick or click.

This is all interesting but I think the real question is what is the best practice for preparing the WAV files that are used for digital distribution. I’m not convinced that very brief fade outs/ins is the best answer. I think the only way to know is to find a live/seamless record that behaves well on the most platforms (Apple Music, Spotify, Amazon etc.) and then ask that mastering engineer what they did regarding the track markers and transitions.

When I have to send reference mp3 or AAC files to a client for an album that has songs that overlap or crossfade, I tend to encode AAC from Sonnox ProCodec because AAC has a metadata field called “Gapless” that can be selected. I’ve asked PG about implementing this in WaveLab but didn’t hear (or remember) a response.

I’m not sure exactly how effective the “Gapless” option is but it’s been awhile since anybody complained about an issue on there reference lossy files.

Sorry Justin, I have to disagree. iTunes (and hopefully Amazon) now encode perfectly, so there should be no practice to follow. The encodes in iTunes and xRecode are perfect regardless of whether the splices are at zero-crossing or not.

The file results sold in the stores will be perfect no matter what the mastering engineer does, because the master wavs are encoded perfectly by Apple and (probably) Amazon and the others. The problem now is that Wavelab can’t make perfect reference files, and until that is possible, you can’t make decisions about any of this. I think things have changed considerably for the better in other programs since this first came up years ago.

These things really need to be looked at and fixed first in Wavelab: The clicks at splices and the VBR problems. I don’t see VBR mis-timings or VBR misinterpreted as CBR in any other program’s encodes, apparently because they’ve gotten past that, maybe with VBR headers. And for the clicks, possibly Enc_Delay, Enc_Padding, MP3_Accurate_Length Properties, and any Gapless Properties. That would leave just the Fraunhofer AACs in Wavelab, which still click for no apparent reason compared to other program’s AAC encodes.

If anybody’s interested, convert sine wave test wavs with splices to MP3 and AAC in iTunes (VBR or CBR) and play those in a playlist in any player. They should transition perfectly without clicks or gaps. If they don’t (like gaps in Spotify when playing anything), that should be complained to Spotify because it’s not right on their end.

PG, can these things be looked at again?

Yes, I’m all about having WaveLab produce more accurate results when encoding to mp3/AAC from the montage so that projects with overlapping/continuous audio sound correct regardless of what format you render.

I was just referring to the question of how to prepare the master WAV files and/or DDP because I think that is what should be used to audition the master. If the mp3s can be perfect too, then that’s a nice bonus and should be fixed on the WaveLab side.

I just can’t advocate doing quick fade outs/ins to trick media players and our ears to not hear a glitch if you are rendering reference mp3s for clients. This seems like a solution for a non-issue.

I agree. I admire orangeoctane’s hard work on this, but because Wavelab reference mp3s are not as perfect as they could be in this regard, it’s a fix for a specific Wavelab issue. Sorry to say that but it’s true. If you converted to MP3 or AAC in iTunes and sent that to the client, it would be perfect (without doing any fading/zero-crossing stuff), and it would be exactly how it’s going to be in the iTunes store anyway. Because Apple’s going to do the conversion from wav to AAC in the end anyway.

I have Sonnox ProCodec. Later today I’ll take a continuous sine wave and chop it up into WAVs with markers quantized to nearest CD frame and then encode with ProCodec. As a test, I can encode from the montage in WaveLab too.

Thanks Justin. I have Codec Toolbox but need to do a bunch of stuff to use it again (like install it and find the iLok), which hopefully I’ll do in the next couple of days.

One last thing I always forget about: Ogg, which is what Spotify is going to convert to. Last time I checked in Wavelab it was pretty good but not totally tickless. I think I used Foobar 2000 or JRiver as the player. If there are any gapless adjustments in that, it would be good, but if Spotify currently plays everything with gaps (haven’t tested that myself), that’s something they should change, because I know Ogg can do better than that.

Here are my results if you want to check them in various players:

The original WAV files are included here which were rendered from the WaveLab montage. They playback without clicks or ticks in WaveLab, and I assume others. I didn’t quantize any CD Track Splice Makers to zero crossings. The original montage and test tone file are there as well if you want to open it and have a look.

The zip file contains a few things:

-320kbps mp3 files rendered from the WaveLab montage

-AAC files generated from the seamless WAV files in ProCodec with iTunes+ setting and tagged as “gapless”

-320kbps CBR mp3s generated from the seamless WAV files in ProCodec

-220kbps VBR mp3s generated from the seamless WAV files in ProCodec

-A picture of the Sonnox ProCodec settings

-The original WAV files of each track rendered from the montage that appear to be sample perfect with no clicks/pops.

-The WaveLab montage file and original test tone file.

{quote}convert sine wave test wavs with splices to MP3{quote}

Not sure what you mean with “splice”. If I convert a sine to mp3 or aac with WaveLab, I don’t see a “tick” problem.

Sorry PG I’m using shorthand to describe, but that was the word used in the thread title. If you take a 60 second sine wave, split it up into 6 tracks with CD markers, render as 6 separate lossy files, and then put those in a playlist in any player, the files will click as they play from one to the next in the playlist. That’s the problem with Wavelab lossy files that has been completely eliminated in some other programs doing lossy encoding (like xRecode (LAME MP3 and QAAC AAC) and lossy encoding/conversion in iTunes).

Or render the 6 tracks in Wavelab to WAV and convert to lossy in the batch processor. You get the same problem.

@Bob

When you encode the lossy files with iTunes and don’t hear the click between tracks, do you still see a pad of silence roughly 20 milliseconds?

It would be interesting to know if some apps have an updated encoder that doesn’t add the silence pad, or if they are just putting info some info that tells the media player that the songs are meant to be gapless.

The delay and padding silences seem to be there at beginning and end, but the same file can look like it has completely different amounts of silence if you open it in Wavelab, Reaper, or Audacity, which I’ve heard is to be expected when decoded with different decoders in different programs.

One of the iTunes encoded MP3s looks like it has no front gap at all when decoded in Reaper, but when decoded in Audacity it looks like it has 20ms front gap, even though I’m pretty sure they’re both using the latest version of LAME to do the decoding.

Thanks for the files. I haven’t had time to check anything, but I will.

padding is an option that is planned to add in a future WaveLab.

PG, I don’t quite understand. I thought encoders already did delay at start and padding at end, like LAME with a fixed value of 576 delay at start.
http://wiki.hydrogenaud.io/index.php?title=Gapless_playback#How_to_add_or_repair_gap_metadata_in_MP3s
Would additional padding or descriptions of the properties be added by Wavelab to make transitions between tracks with continuous program seamless in most players, as is apparently done in iTunes and xRecode MP3 and AAC encoding?

These are properties shown for an xRecode LAME MP3 when the file is read in Foobar 2000, showing delay, padding, and “accurate length” (not sure what that property means). Would it seem those property values are stored in the files? I’m pretty sure they’re not measurements taken by Foobar, because I’ve seen them in LAME made by xRecode, XLD, and formerly by Amazon LAME (before they started using Lavf), but the properties are not seen in Wavelab LAME. The properties don’t appear in Wavelab LAME encodes, even if I put the latest version of LAME in Wavelab to encode.
xRecode LAME in Foobar 2000.PNG

Justin, sorry to be so long, but from what I can tell, your Sonnox iTunes+ AAC files are seamless in iTunes and Foobar, because Sonnox uses the built-in Apple chain to make them. The Sonnox MP3s are pretty good but they sometimes tick, so are not perfect imo.

For examples of perfectly seamless files, I’ve found the ones made in iTunes and in xRecode are perfectly seamless in iTunes and in the Foobar player. Any other players I’ve tried (besides Spotify, which is seamless with it’s online content, but not with local files) are all over the place, so I can’t personally worry about all the other players.

What I think I’ve found is that Apple, Amazon, and Spotify all make seamless files from the mastering studio’s master wavs, regardless of zero crossing or anything else the mastering studio might want to try. Play Eric Clapton Live in San Diego or Dark Side Of The Moon in Spotify, they’re seamless. And Apple and Amazon do the same with their files - they all play seamlessly in iTunes and Foobar. The Amazon player isn’t seamless because it plays with gaps between the files, but the MP3 files Amazon makes are seamless in iTunes and Foobar.

Imo, the mastering studio doesn’t have to do anything special to get seamless lossy files in the stores or in Spotify because Apple, Amazon, and Spotify are all making the lossy files perfectly themselves. I’ve confirmed this with my own live files that are on all three, and which received no special treatment, and have plenty of non-zero crossings.

But unfortunately the mastering studio can’t make seamless lossy reference files for the client in Wavelab because the Wavelab files (as they are now) are not seamless in any player. For examples of how to do it right I would examine the xRecode and iTunes encodes, MP3 and AAC. Or the Amazon and iTunes store files.

Somebody else might get different results, but that’s what I got.

Thanks for looking at this Bob, this was my suspicion as well which is why if my clients want reference mp3 or AAC files from me and it’s an album with songs that overlap or run together, I usually make AAC files in Sonnox ProCodec because the mp3 files from WaveLab will surely not be seamless.

I’ll have to look info Foobar and some others as well in the meantime.

Continuing my rant on this…

If you want to make seamless MP3 and AAC reference files of albums that have continuous or crossfaded transitions of tracks, convert from WAV to MP3/AAC in iTunes (or Foobar or xRecode). They’ll all take 24bit or even 32bit or 64bit float WAV as input for the conversions. You’ll get the same quality (or better if you select 320k AAC) as is in the stores. In the case of AAC, the same Apple chain (src, codec, settings) as they use for MFiT. And they’ll play seamlessly in iTunes and Foobar 2000.
(the other players I tried and said were not so perfect with seamless were JRiver, Clementine, Media Monkey, VLC and the Amazon player.) ymmv, but I think they could all use some work.

I don’t know if Wavelab MP3 and AAC will ever be any better at this, and I think there’s a good chance that other mastering programs are possibly no better in this regard, so I’m not really singling out Wavelab. I don’t have any other mastering programs to try anymore.

All I know is that iTunes, Foobar, xRecode, Amazon, and Spotify get it right in their encoding. Foobar, xRecode, and Amazon with LAME for MP3, and Foobar and xRecode with Apple via QAAC for AAC.

Sonnox gets it right with iTunes+ AAC on Mac probably because they’re using the Apple chain for that, but their MP3s, and probably their AAC on Windows (guessing from the MP3s) could possibly be made better.

It would be nice to get fixes for this in Wavelab. All the MP3 and AAC made in Wavelab (LAME and Fraunhofer) click at transitions in any player.

One resource, besides the files themselves and the wikipedia and hydrogenaudio gapless articles, is this post about how and where iTunes stores it’s information:

and the wikipedia and hydrogenaudio articles:
http://wiki.hydrogenaud.io/index.php?title=Gapless_playback