audio processing using liquidsoap
  • Hi, has anyone had any success on recent versions of airtime using processing on liquid soap? (Not replaygain)

    I'm looking to color my audio a little bit so it's not quite so flat.

    If you have, post what you did below!
  • 10 Comments sorted by
  • We tried to use the liquidsoap normalize audio processing, as well as compression or both together (nrj), but we had no satisfactory results. Impossible to get good settings working well for our whole music database. Some settings work fine with some musical genres, less with others. Ultimately, the only satisfactory solution we found is to process all the audio files uphill using mp3gain. I precise that our aim was not to 'color' the sound, but to bring all our database in some homogeneity, so that the listeners don't have to turn up or down the volume when listening to the radio. This way, mp3gain works very well, it doesnt only up or down the volume via normalization or compression, it uses algorithmes to determine how tracks will sound to human ears. And as the tracks are processed once uphill, it doesn't overload continuously cpu with live audio processing.
  • I know there are a couple of topics for this around... but no one has posted what they've done to the config to achieve their results... That's what I'm looking for. 
  • Does Netflix re-color all of their movies?
  • They compress them, but that's about it. Completely different ball of wax though. 
  • Nah, it's definitely the same ball of wax, friend ;)
  • For anyone interested, here's what I followed: 

    EDIT: Put the steps in. Removed dead URL. 

    $ sudo apt-get install liquidsoap-plugin-ladspa
    $ sudo apt-get install ladspa-sdk multimedia-audio-plugins

    And here's my ls_script.liq:


    enable_replaygain_metadata ()
    #jingles
    promotions = playlist ("/srv/airtime/ids")

    #music
    music = playlist(mode='randomize',reload=1,reload_mode="rounds", "/srv/airtime/music")

    #throwbacks
    throwbacks = playlist(mode='randomize',reload=1,reload_mode="rounds", "/srv/airtime/throwbacks")

    throwbackids = playlist ("/srv/airtime/throwbackids")


    default = rotate(weights=[1,4,1,1,4], [promotions, music, throwbackids, throwbacks, music])
    default = crossfade(start_next=2.,fade_out=2.,fade_in=2.,default)
    default = amplify(1.,override="replay_gain",default)

    ## Audio processing
    default = ladspa.gate(default, threshold = -60.0, attack = 0.15, hold = 1.0, decay = 200.0, range = -25.0)
    default = sky(default)
    default = normalize(default, target = -1.0, threshold = -65.0)
    default = ladspa.tap_limiter(default, limit_level = -0.5)
    default = limit(default, threshold = -0.2, attack = 2.0, release = 25.0, rms_window = 0.02)


    Post edited by Nolan Wagner at 2016-04-02 22:08:36
  • All of the other stations use 1. -- so you should use 11. -- louder is always better  \m/
  • Vote Up0Vote Down Voisses TechVoisses Tech
    Posts: 1,423Member
    Why would you hold a compression for 11ms and decay it in 200ms, it would sound like an echo and when you are just trying to compress -60db.

    Instead of use a gate here a hard limiter might be better for such low  threshold.Just a thought


    and if you use normalizer here it must be hell to push that out at the output

    Remember Airtime uses replaygain which is based on the metadata so one song that sound lound when it crossfade you suppose to hear a hard slap

    still maintain 
    • No real gain for internet stream
    • its cumbersome to tune this across genre
    • best if you remix mp3 or losses codecs

    I spent days trying to tune mine and had to use

    ladspa.parametric1

    to get it finally sounding somewhat good to me

    Good replacement for stereo tools but trust me if I am an FM station .Not wasting time with it.

    Cause t can run a dual core processor up to 70%:40% on processor 1 and 2 respectively.

    Its like you waiting for it to crash and lock up







    Anyone reading this a find it funny about my grammar , I make no apology ,Go get a translator.
    "The Problem with education today is that it takes a university degree to switch on a light bulb"
    "You learn from your mistakes but wise people learn from others mistakes avoid Making mistakes there is not sufficient rooms to make them"
    "Innuendo","If's","Assumptions" and "Fear" are for politician.Who,What,where,When and How are for those seeking knowledge and care about Humanity.
    "I might be in Mud but that does not Make me a Wild Hog(pig)"
    “Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
    "The only thing that remains constant is change itself"
    May the force be with you,until our path or destiny bring us in tandem.
  • This is mostly normalization.... It sounds fine. I'm running this on a quad core Xeon Server (3.1 Ghz) with 16 GB RAM, this hardware isn't going to lock up. In fact, liquidsoap is only using 25% CPU, and has only been using that for about a month now. 

    Listen for yourself and see what you think: http://stream.yupradio.com/mp3

    Definitely open to any tweaks which may help. 
    Post edited by Nolan Wagner at 2015-05-04 22:39:39

  • \m/