Hi, Thanks for these details!
Le sam. 2 févr. 2019 à 11:17, John Warburton <j...@johnwarburton.net> a écrit : > > On Sat, Feb 2, 2019 at 3:52 PM Romain Beauxis <romain.beau...@gmail.com> wrote: > > You're using smart_crossfade, right? > > Thank you for asking. I have not experimented with smart_crossfade. > > Incidentally, has some code changed regarding "amplify"? My playlist > contains gains (see below) in dB but, as of 1.4.0-alpha1, those > requesting amplification (not attenuation) distort heavily. They do > not distort in 1.3.6. There shouldn't be any chance on that part of the code. I'm happy to investigate anything that looks wrong if you can share some of your script/a way to reproduce. > Instead of using smart_crossfade, each track is individually > transferred from its original file to a mezzanine format and, in doing > so, a script detects the position in each track where (1) its opening > audio exceeds a certain threshold, and (2) the last point in the track > where the EBU R.128 volume dips lower than a set level below the > track's average volume (again, EBU R.128 measure). > > The script also detects the additional gain necessary to achieve > similar levels, and annotates this using liq_cue_in, liq_start_next, > etc. > > Code for annotation: > https://github.com/Warblefly/TrackBoundaries/blob/master/cue_playlist.py > > This information then feeds liquidsoap's "crossfade" function, with > fade_out and fade_in set to 0.01 (very short), so that the tracks > themselves do their own fading, if any exists. > > In this way, smart_crossfade isn't needed because (1) the incoming and > outgoing volume of each track determines the exact moment the next > track begins, and (2) the output audio processing allows an incoming > loud track to over-ride an outgoing quiet track. > > However, some tracks fade out over a very long time, and I ought to > fade those more quickly e.g. over 5". > > I realise you have worked hard on the smart_crossfade algorithm, and I > need to read up on it more than I have done. > > http://warblefly.sytes.net:8000/audio.aac That looks like a lot of awesome work! Nothing in what you described wouldn't work with smart_crossfade. Essentially, you could write a transition function that receives these metadata and creates the appropriate transition with crossfade of the right length and etc. I'd be happy to show an example if you want to share more of your script. The reason I'm considering removing the simple crossfade is that I believe that, appart for some details (such as the override metadata for transition length), smart_crossfade can do everything that crossfade can do. Having two different operators makes it confusing in the documentation and for new users.. Romain
_______________________________________________ Savonet-users mailing list Savonet-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/savonet-users