From the forum:
http://forum.sourcefabric.org/index.php?t=rview&goto=10909#msg_10909
Re the proposal, first I don't understand the difference between options
1 and 2, as they kinda sound the same to me.
re the question, no, fading in really is not used.
The problem is that the term crossfade when used in this context really
is a misnomer, as no (or very little) actual fading is done.
Overlapping would be a better term.
Unfortunately, your proposal will not work well as it is too simplistic.
"crossfading" is more about starting the next item at the right time
than anything else. You can't just use a fixed time point for the
segway. Some tracks fade out, some come to a dead stop, and many have
seconds of silence at the end and even at the beginning.
I've used both the SQR Crossfade plugin for Winamp
(
http://www.winamp.com/plugin/sqrsoft-advanced-crossfading-ou tput/32368)
and the crossfading settings in Stationplaylist Studio
(
http://stationplaylist.com). Both have a trigger level in DB that the
first song must reach before the second song will start. Both have
minimum and maximum lengths of time from the end of the first track that
the second will start. And both have a minimum DB level for both the beginning
and end of the track in order to kill gaps.
I'm still getting to grips with the Stationplaylist settings, but I
managed to get the SQR Crossfader to sound pretty good, even to the
point where I can play IDs back-to-back and they won't step on each
other.
I've not sampled many of the open implementations of crossfading out
there. Ices0 (
http://icecast.org/ices.php) has an implementation of
what not to do. It has a fixed crossfade duration and both fades out
and fades in. To get anywhere near a decent result, I had to set
crossfade duration to 1 second, and even that is not ideal. I can't
immediately find a stream where I know this is enabled, but set this up
with a playlist and some short station IDs and you'll soon see why it
doesn't work well. In fact, I actually turned it off completely on some
setups where I'd originally had it turned on.
Pytone seems to have a similar implementation, judging by the config
file. I've not tried it out though. MPd can apparently crossfade, but
I've not looked to see how detailed or configurable it is.
I think I recall XMMS (version 1) having a crossfade plugin, but again
I've not tried it. It seems that a propper crossfader has been on the
XMMS2 Google Summer of Code todo list for the last few years, including
this year.
One system which does have very nice crossfading and dynamic compression
is the system I was looking to use Airtime instead of - PRS
(
http://sourceforge.net/projects/prsradio/). I don't know how it does
it though - it seems to be hard-coded because I don't know of any way to
configure it. I'm reluctant to use this software because it's largely
unmaintained and sometimes its stability is questionable. I've been
making enhancements to the web UI, but I'm not a C programmer or have
any great expertise in audio processing, so the playout side is fairly
incomprehensible to me. Still, it may help you in some way. I'm about
to try deploying it on a new site, I can post the link if I get it going
so you can hear what it sounds like.