[vorbis-dev] Idea for gapless tracks

Beni Cherniavsky cben at crosswinds.net
Sun Jan 7 03:33:17 PST 2001

Marshall Eubanks wrote:
> Davy Durham wrote:
> > Beni Cherniavsky wrote:
> >
> > > Instead of smoothing you can cross-mix, which is implemented in many
> > > players anyway.  If you need sample-precision you can extrapolate both
> > > signals a little with the spectrums they have at their begginings /
> > > ends.  Maybe you can use the extra samples that the encoder puts in
> > > and marks to be cropped - you can add a flag to encoder to force it
> > > leaving so minimal extra samples on both ends - but I'm afraid that
> > > this abuses the specification, since another encoder is permitted to put
> > > any garbage he wants there.  So better put it in the player.
> > > In any case I'm not sure whether it would sound better :-)
> >
> > I was going to suggest this, but wouldn't this change the length (which for some reason
> > may be undesirable to any degree)?
> >
You need overlap for crossmixing, that's what the extrapolation is for.

> This also want really fix the real problem - large changes in level between adjacent
> audio samples will causes clicks or pops, regardless of whether they are within a ADU or
> at ADU boundaries.
What's ADU?

> I think you are really thinking of a mix segue where one track fades out while another starts.
> No doubt a human DJ could do this, but what about automatic joins ?  (This is how
> we came across the problem.)
Yes.  Isn't it the normal meaning of "crossmixing"?  Anyway, this can be
done automatically with a fixed amount of overlap - some milliseconds should
do.  (OT: there is a plugin for Winamp that chooses the crossmixed amount
automatically according to the volume levels of the two sounds).  This should
surely not be audible if you join two parts of the same sound.  If you join
two unrelated sounds, this can make the join smoother, possibly even make
unaudible, depending on how bad is the level change and how long is the
crossmixed segment.  Of course this introduces an artifact - it replaces the
click by a slope.  Maybe this can be improved by crossmixing different length
at different frequencies, in the spirit of wavelets  (has anybody ever done
such a thing?  This seems more like "cross-equalizing" - does vorbis allow
fast and easy equalization in the decoder?).

Beni Cherniavsky <cben at crosswinds.net>
                 (also scben at t2,cben at tx in Technion)

  No, No! You're not thinking; you're just being logical.
                                             - Niels Bohr

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'vorbis-dev-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.

More information about the Vorbis-dev mailing list