How does Libretime handle song crossfades?

Hi again,

You may have seen my previous post regarding the possibility of using my existing database of songs. I’ve got a second question which relates to how Libretime handles crossfading between songs in a playlist?

Having listened to how Libretime behaves between songs it has imported I’m still unclear exactly how it works and it seems inconsistent and messy - I understand this may be a fault of the import audio analysis.

Does the cue-out time have any impact and what is the behaviour when libretime reaches that point in time within a file? Does it start the next song or act as an end of file marker? I’ve seen the default fade in/fade out/ crossfade option within the settings. When would these settings take precedence?

My database of songs contains existing metadata including a fade point for each song. In systems I’ve used previously when playback gets to this point in time it would trigger the start the next song - this song would overlap the tail of the currently playing song. With correctly set markers this can result in a smooth consistent and professional sounding playlist.

I’m hoping that Libretime follows this same standard and that my fade point can be transferred to the cue-out field so it will trigger the next song in the same manner?



I’m not 100% sure. I think that the cue-in and cue-out points are derived from silan silence detection and they could be overridden with custom values from your track metadata although I doubt this is done currently by the import process. You will need to look at the python code in airtime_analyzer. Also the cue function would be handled by airtime_playout python script and possibly with the airtime-liquidsoap. These are written in python and OCAML and unless someone else knows off-hand your best bet is going to be look into the code and share what you find. Since very few of the original authors are around this is generally the process we have to take to determine how things work under the hood so to speak. Best of luck and keep us updated with any specific questions or progress.

Thanks Robbt.

Following my success today adding songs directly to the database (see my other thread) I can confirm that the cue-out time does indeed work to the standard I described above without any script changes (which is a relief as my coding is nowhere near as advanced as the talented people who have contributed to this project so far!

So I’m guessing previous experience of messy transitions was probably due to the silan silence detection during import. When setting the metadata direct in the database the transitions sound smooth.