THD+N : audio, broadcast et à-côtés

r128x, mesure loudness sous Mac OS X

with 2 comments

Pour ceux que l’installation de libebur128 rebute malgré mes conseils, j’ai essayé d’utiliser cette bibliothèque pour développer une application Mac OS X en ligne de commande qui puisse être utilisée sans devoir installer des bibliothèques supplémentaires.

r128x utilise donc libebur128 pour les mesures Integrated Loudness et Loudness Range, et fait appel aux services de CoreAudio pour lire les fichiers audio et effectuer le sur-échantillonage nécessaire à la mesure True Peak. Licence open source.

Il y a un exécutable Intel téléchargeable directement ici.

Publicités

Written by manu

16/09/2012 at 12:56

Publié dans Outils

Tagged with , ,

freelcs : correction du loudness open source

leave a comment »

Lors des RMLL 2012, j’ai eu l’occasion de découvrir freelcs, un serveur de correction du loudness sur des fichiers. Cette application met en place un serveur auprès duquel vous pouvez déposer des fichiers audio. Ces fichiers sont ensuite analysés et éventuellement corrigés pour atteindre un niveau cible de -23 LUFS. L’application produit en même temps un graphique du loudness du fichier.

Cette application a été développée par un salarié de la télévision publique Finlandaise Yle.

Pour le moment, installeur sous Ubuntu 12.04 LTS avec une documentation détaillée.

Written by manu

16/07/2012 at 08:10

Publié dans Outils

Tagged with , ,

Learning Core Audio

leave a comment »

Attendu depuis longtemps, enfin disponible en téléchargement pour la modique somme de 25$, Learning Core Audio, A Hands-On Guide to Audio Programming for Mac and iOS devrait combler ceux qui sont rebutés par l’hermétisme de la documentation Apple concernant Core Audio.

Written by manu

11/04/2012 at 07:19

Publié dans Programmation

Installer libebur128 sur Mac

leave a comment »

Il y a quelque temps, j’avais mentionné cette bibliothèque opensource, libebur128.

Depuis, le projet a migré sur github et je ne trouve plus de binaires téléchargeables. Ayant quelques centaines de fichiers à mesurer prochainement, je me suis lancé dans l’installation de la bibliothèque et des applications associées sur mon MacBook Pro.

Edit du 17/09/2012 : si MacPorts vous rebute, allez voir par ici une version Mac OS X.

Edit du 18/05/2013 : Cette procédure ne fonctionne plus aujourd’hui. Il y a des problèmes de liens vers les bibliothèques, sans que j’arrive à comprendre d’où ça vient.

Edit du 23/05/2013 : Un contournement qui semble fonctionner (bien que tout cela reste à éclaircir) : après avoir effectué la configuration (cmake ..), ouvrez le fichier libebur128/build/CMakeCache.txt. Aux alentours de la ligne 1277, remplacez

LIBAVFORMAT_LDFLAGS:INTERNAL=-L/opt/local/lib;-lavformat

par

LIBAVFORMAT_LDFLAGS:INTERNAL=-L/opt/local/lib;-lavformat;-lavcodec;-lavutil

puis make.

(Fin des edits)

Point de départ : un MacBook Pro 2011 i7 sous Snow Leopard (X.6.8), muni des outils développeurs Apple.

Les dépendances

La bibliothèque elle-même ne requiert aucun autre élément, mais pour utiliser les applications, il faut :

  • glib
  • gtk
  • taglib

Pour pouvoir lire un certain nombre de fichiers, j’ai aussi installé :

  • ffmpeg (pour lire l’audio dans des fichiers vidéo)
  • libsndfile (pour les fichiers wav)

Heureusement, il y a une solution simple pour installer tout cela sur Mac, c’est MacPorts.

Je vous rappelle que pour utiliser MacPorts, il faut avoir les outils développeurs Apple installés.

Donc, installer les outils développeurs si ce n’est pas déjà fait puis installer MacPorts (un installeur mpkg standard Mac).

Une fois MacPorts installé, il faut utiliser le Terminal (/Applications/Utilitaires/Terminal) pour installer les logiciels cités :


sudo port install glib2

sudo port install gtk2

sudo port install taglib

sudo port install ffmpeg

sudo port install libsndfile

Hop, c’est terminé pour les dépendances. Il reste néanmoins à installer l’utilitaire cmake pour faciliter la compilation :

sudo port install cmake

Récupérer les sources

Pour récupérer les sources, le plus simple est d’utiliser git installé en standard sur votre Mac.

[Edit]

On me susurre dans l’oreillette que non, git n’est pas installé en standard sur Snow Leopard. J’avais du l’installer un jour et oublier. Il y a deux options pour installer git sur Snow Leopard :

Avec MacPorts en utilisant le commande


sudo port install git-core

Ou en utilisant un paquet Mac que l’on trouve chez git-osx-installer.

[/Edit]

Lancer le Terminal, normalement par défaut vous êtes dans votre $HOME. Puis :


git clone https://github.com/jiixyj/libebur128

cd libebur128/

git submodule init

git submodule update

Voilà, vous disposez des sources mises à jour.

Compilation

Vous êtes normalement toujours dans le répertoire libebur128/. Saisissez maintenant :


mkdir build

cd build

cmake ..

make

Si tout se passe bien, vous avez terminé !

Utilisation

Si vous êtes toujours dans le répertoire build/, saisissez :


./loudness scan -l -p dbtp /chemin/vers/unfichier.wav

Et voilà, de bien beaux résultats.

Loudness,      LRA,  True peak
-23.0 LUFS,  0.0 LU, -22.9 dBTP, seq-3341-1-16bit.wav

Written by manu

11/12/2011 at 09:52

Publié dans Outils

Tagged with , ,

Harmonisation des niveaux d’intensité sonore dans un bouquet de programmes

leave a comment »

Si vous êtes intéressés par l’harmonisation des niveaux d’intensité sonore entre différents services d’un bouquet de programmes, je vous propose le document pdf ci-joint qui tente de présenter les aspects pratiques de la solution décrite dans le document EBU Tech 3344.

csa-tech3344-v3-29-11-2011

 

Written by manu

01/12/2011 at 11:01

Publié dans Outils

Tagged with ,

Le seuil relatif de mesure

leave a comment »

Je vais essayer ici de préciser la notion de seuil relatif de mesure qui est mentionnée dans le billet sur les bases de la R128.

Voici un schéma explicatif :

Schéma explicatif seuil relatif

Schéma explicatif seuil relatif

Sur ce schéma, on voit deux exemples de signaux différents : l’un présente un long passage dont les niveaux sont relativement faibles, tandis que le deuxième a des niveaux plus constants. L’axe horizontal représente le temps, l’axe vertical représente les valeurs des mesures de loudness short-term.

On voit bien sur le premier signal que le passage faible a tendance à «tirer vers le bas» le niveau d’intensité sonore mesuré sans seuil relatif de l’ensemble de la séquence. Mais ces passages sont-ils vraiment représentatifs du programme ? Il s’agit peut-être d’un championnat de golf, durant lequel les passages où les commentateurs s’expriment sont entrecoupés de longues plages d’ambiance lorsque le joueur s’apprête à jouer ? Ces ambiances sont volontairement (relativement) faibles. Si on mesure le niveau d’intensité sonore sans seuil relatif, on va être conduit à remonter les niveaux pour parvenir au niveau cible. Le principe du seuil de mesure relatif est de décider que les passages relativement faibles (la zone bleue) seront ignorés pour la mesure du niveau d’intensité sonore.

Ce seuil de mesure est relatif, c’est à dire qu’il est lié au niveau moyen de la séquence. Sur le deuxième exemple, qui présente des niveaux plus réguliers, les zones ignorées lors de la mesure avec seuil sont moins importantes, et on voit bien que la différence entre la mesure avec seuil relatif et la mesure sans seuil est bien moindre. Dans l’absolu, dans le cas d’un signal présentant très peu de dynamique, ces deux mesures peuvent être identiques, mais c’est un cas particulier.

Written by manu

06/11/2011 at 08:07

Publié dans Standards

Tagged with , ,

EBU R128 : Évolutions

leave a comment »

Depuis la publication du billet EBU R128 : Bases, il y a eu quelques modifications :

  • Ajout de la notion de seuil de mesure dans la recommandation ITU-R BS.1770 qui est passée en version 2.
  • Passage du seuil relatif de -8 LU à -10 LU.
  • Validation du chevauchement des blocs lors de la mesure du gated integrated loudness à 75%.

Le bon côté, c’est que les standards sont maintenant cohérents entre ITU-R et EBU, ce qui évite quelques confusions.

La mesure du True Peak reste décrite de manière théorique sans fixer de paramètres explicites, nous verrons à l’avenir si cela permet de garantir la cohérence des mesures de True Peak entre différents équipements.

Written by manu

08/10/2011 at 11:18

Publié dans Standards

Tagged with , ,