Niveau sonore (loudness) différent entre chaque morceau + Compression possible?
  • Bonjour à tous,
    Je sais qu'il est possible de normaliser les pistes pour contrer la différence de mastering entre chaque piste mais est-il possible de mettre en place un compresseur, limiter, gate (type dsp) en sortie du flux d'airtime pour donner plus de pêche au niveau sonore général de la radio?
  • 2 Comments sorted by
  • Vote Up0Vote Down Albert FRAlbert FR
    Posts: 1,978Member, Airtime Moderator
    possible pour le live, a partir du moment ou on a un compresseur hardware avant sa carte son, mais malheureusement pas encore intégré dans Airtime

    le seul truc que fait airtime pour l'instant c'est de la normalisation
    c'est pour cette raison qu'il est intéressant d'encoder un fichier avec un kb/s supérieur à ce qui est diffusé

    ex 192kb/s pour une diff en 128kb/s
  • Bonjour,
    Je découvre Airtime aujourd'hui et c'est une très bonne surprise. J'ai utilisé le logiciel SamBC auparavant et l'opportunité d'utiliser une solution libre est très intéressante.

    La plupart des fonctions que je recherche sont là, c'est vraiment un super projet. Cependant, je suis assez concerné par le traitement du son. Pour une radio, ça me semble même essentiel. La normalisation, c'est un bon point, mais ce n'est pas toujours suffisant. Je réfléchis alors aux solutions envisageables, notamment l'utilisation de Jack pour sortir le flux sonore d'Airtime, le traiter avec un plugin et le repiquer ensuite...

    Mais je vois aussi dans la documentation que le traitement de son serait possible directement grâce à Liquidsoap. Je jette un oeil au fichier de script, mais c'est encore assez obscure pour moi...

    J'ai trouvé quelques lignes de code sur Github. Pensez-vous qu'il serait envisageable de les intégrer pour traiter le son "en interne" ? 

     # Audio processing

    # Gate the input for starters, stops noise from clobbering things in silent periods.
    source = ladspa.gate(source, threshold = -60.0, attack = 0.15, hold = 1.0, decay = 200.0, range = -25.0)
    # Multiband compression - split up, compress, recombine, sky does it all, but is not very configurable. 3-band.
    source = sky(source)
    # Now overall compression, faster attack, harder ratio, mostly RMS based.
    source = compress(source, attack = 5.0, gain = 8.0, knee = 10.0, ratio = 5.0, release = 100.0, threshold = -18.0, rms_window = 0.7)
    # Normalize, with a higher threshold to stop suck-up.
    source = normalize(source, target = -1.0, threshold = -65.0)
    # Limiter, this one's a scaling one which limits nicely and without artefacting mostly
    source = ladspa.tap_limiter(source, limit_level = -0.5)
    # And a final limiter - this should never really get hit, but stops anything nasty hitting the DAC. Highly peak-focused.
    source = limit(source, threshold = -0.2, attack = 2.0, release = 25.0, rms_window = 0.02)
    # Stick a meter on this. This is queryable via telnet. Force the source name.
    source = server.rms(source, id="input_source")


    C'est une question de débutant, désolé, je suis plus habitué au hardware justement, ou à d'autres environnements pour le traitement de son :-)

    Merci beaucoup.

    Post edited by John Elberstein at 2013-11-22 20:13:12