Hi,

I just listened a bit to my music through smart_crossfade, with the
latest SVN version of liquidsoap. Precisely, I ran:
  liquidsoap 'output.ao(mksafe(normalize(
    
smart_crossfade(fade_in=15.,start_next=15.,fade_out=15.,playlist("~/media/audio")))))'

Just as in your script, normalization is after crossfading. This is a
bad idea, I think, because you want the crossfade to act according to
the volume level that you'll effectively hear. It's better to
normalize the playlist, then apply smart transitions on the normalized
volume. In fact, it'd be even better to not use the dynamic
normalization, and something like replaygain instead (cf.
http://savonet.sourceforge.net/doc-0.3.7/replay_gain.html).

Nevertheless I listened to it, and observed the logs. I found a minor
bug. When a sequencing transition starts (i.e. no transition) it is
usually followed by another one 15 seconds later. It's not something
one car hear, I think, but it's stupid. I fixed it.

Except for that I didn't hear any bug. But I did hear some bad choices
in the transitions. I had a track with almost 2 seconds of silence at
the end, followed by a loudly-starting rock. The result was:

2008/06/15 16:01:26 [src_8170:3] Analysis: -141.864481dB /
-12.537607dB (15.01s / 2.02s)
2008/06/15 16:01:26 [smart_crossfade:3] No transition: just sequencing.

Indeed, if you look at the code of smart_crossfade in utils.liq,
you'll see that the crossing transitions are not used unless the
levels of the two tracks are close enough, which is not the case here.

It was tricky to find some criterions and tweak the level values that
seemed to make smart_crossfade good. To some extent it actually
depends on ones tastes. I might try to tweak it again at some point,
notably to handle well the example above. But I encourage you to look
at it and change it for your own use. And a custom smart_cross can
also be useful: at dolebrai.net we use jingles to separate tracks in
some cases where no transition seems to make sense.

What I still do not understand is why it changed for you with the
recent upgrade of liquidsoap, unless you really had a very old one
before.

In any case, I'd welcome more discussion on that topic. In particular,
instead of huge logs, a couple files available on the net together
with a very simple test (just like my one-liner above, prefereable
without normalize which probably doesn't play an interesting role
here) could be useful.

Cheers,
-- 
David

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Savonet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-users

Reply via email to