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

Bienvenue à Sandy

leave a comment »

Souhaitons la bienvenue à Sandy, nouvelle recrue de l’équipe, fruit des travaux de ma collègue Lidwine pour une tête artificielle low-cost.

Sandy avant intervention

Sandy avant intervention

La tête est une tête d’entraînement pour élèves coiffeurs, les oreilles sont des oreilles pour apprentissage de l’acupuncture.

Sandy est passée dans les mains de l’atelier menuiserie de France Télévisions, ils aiment les clous ! (Et coller le silicone n’est pas aisé).

Sandy équipée de ses micros

Sandy équipée de ses micros

Maintenant, il faut tester les résultats …

Written by manu

18/04/2014 at 10:09

Publié dans Dans le cambouis

Tagged with ,

libebur128 modulaire

leave a comment »

Depuis quelques jours, l’excellente bibliothèque libebur128 a été séparée en deux dépôts git : la bibliothèque elle même, et loudness-scanner, l’application qui permet de mesurer des fichiers par l’intermédiaire de modules externes comme libsndfile ou FFmpeg.

Cela permet de simplifier la compilation pour ceux qui ne souhaitent que la bibliothèque. On peut aussi voir dans les discussions qu’il y aura peut-être bientôt un paquet debian.

Written by manu

26/11/2013 at 19:09

Publié dans Outils

Tagged with , ,

Mesure loudness avec des logiciels libres

leave a comment »

La vidéo de la présentation que j’ai eu le plaisir de présenter aux RMLL2013. Au menu : libebur128, FFmpeg et freelcs. En anglais (enfin … presque).

La présentation peut être trouvée ici.

Written by manu

18/07/2013 at 22:42

Publié dans Outils

Tagged with , ,

Mesure loudness avec FFmpeg

leave a comment »

J’ai eu la bonne surprise de découvrir que FFmpeg propose désormais un filtre ebur128 ! Pour en bénéficier, il vous faudra utiliser (au moins) la version 1.1 de FFmpeg, qui n’est peut-être pas encore installée par votre gestionnaire de paquets favori.

Étant donné que j’étais impatient de tester cette nouvelle fonctionnalité,  j’ai fait une installation (non standard) de FFmpeg à partir des sources de la version 1.2 « Magic ».

Ce filtre propose deux modes d’utilisation : production d’un rapport dans le Terminal, ou création d’une fenêtre affichant graphiquement la mesure.

Mode Terminal :

(J’ai supprimé une partie des lignes).

manu@debian-wheezy:~/Sources/ffmpeg-1.2$ ./ffmpeg -nostats
 -i '/home/manu/Musique/seq-3341-3-16bit.wav' -filter_complex ebur128 -f null -
ffmpeg version 1.2 Copyright (c) 2000-2013 the FFmpeg developers
 built on Apr 28 2013 08:32:29 with gcc 4.7 (Debian 4.7.2-5)
 configuration: --enable-gpl
 libavutil 52. 18.100 / 52. 18.100
 libavcodec 54. 92.100 / 54. 92.100
 libavformat 54. 63.104 / 54. 63.104
 libavdevice 54. 3.103 / 54. 3.103
 libavfilter 3. 42.103 / 3. 42.103
 libswscale 2. 2.100 / 2. 2.100
 libswresample 0. 17.102 / 0. 17.102
 libpostproc 52. 2.100 / 52. 2.100
[wav @ 0x34b6020] max_analyze_duration 5000000 reached at 5013333 microseconds
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, wav, from '/home/manu/Musique/seq-3341-3-16bit.wav':
 Duration: 00:01:00.00, bitrate: 1536 kb/s
 Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s16, 1536 kb/s
Output #0, null, to 'pipe:':
 Metadata:
 encoder : Lavf54.63.104
 Stream #0:0: Audio: pcm_s16le, 48000 Hz, stereo, s16, 1536 kb/s
Stream mapping:
 Stream #0:0 (pcm_s16le) -> ebur128
 ebur128 -> Stream #0:0 (pcm_s16le)
Press [q] to stop, [?] for help
[Parsed_ebur128_0 @ 0x34b8660] t: 0.0999792 M:-120.7 S:-120.7 I: -70.0 LUFS LRA: 0.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 0.199979 M:-120.7 S:-120.7 I: -70.0 LUFS LRA: 0.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 0.299979 M:-120.7 S:-120.7 I: -70.0 LUFS LRA: 0.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 0.399979 M: -40.0 S:-120.7 I: -40.0 LUFS LRA: 0.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 0.499979 M: -40.0 S:-120.7 I: -40.0 LUFS LRA: 0.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 0.599979 M: -40.0 S:-120.7 I: -40.0 LUFS LRA: 0.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 0.699979 M: -40.0 S:-120.7 I: -40.0 LUFS LRA: 0.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 0.799979 M: -40.0 S:-120.7 I: -40.0 LUFS LRA: 0.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 0.899979 M: -40.0 S:-120.7 I: -40.0 LUFS LRA: 0.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 0.999979 M: -40.0 S:-120.7 I: -40.0 LUFS LRA: 0.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 1.09998 M: -40.0 S:-120.7 I: -40.0 LUFS LRA: 0.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 1.19998 M: -40.0 S:-120.7 I: -40.0 LUFS LRA: 0.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 1.29998 M: -40.0 S:-120.7 I: -40.0 LUFS LRA: 0.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 1.39998 M: -40.0 S:-120.7 I: -40.0 LUFS LRA: 0.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 1.49998 M: -40.0 S:-120.7 I: -40.0 LUFS LRA: 0.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 1.59998 M: -40.0 S:-120.7 I: -40.0 LUFS LRA: 0.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 1.69998 M: -40.0 S:-120.7 I: -40.0 LUFS LRA: 0.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 1.79998 M: -40.0 S:-120.7 I: -40.0 LUFS LRA: 0.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 1.89998 M: -40.0 S:-120.7 I: -40.0 LUFS LRA: 0.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 1.99998 M: -40.0 S:-120.7 I: -40.0 LUFS LRA: 0.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 2.09998 M: -40.0 S:-120.7 I: -40.0 LUFS LRA: 0.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 2.19998 M: -40.0 S:-120.7 I: -40.0 LUFS LRA: 0.0 LU
...
(snip)
...
[Parsed_ebur128_0 @ 0x34b8660] t: 59.5 M: -40.0 S: -40.0 I: -23.0 LUFS LRA: 17.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 59.6 M: -40.0 S: -40.0 I: -23.0 LUFS LRA: 17.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 59.7 M: -40.0 S: -40.0 I: -23.0 LUFS LRA: 17.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 59.8 M: -40.0 S: -40.0 I: -23.0 LUFS LRA: 17.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 59.9 M: -40.0 S: -40.0 I: -23.0 LUFS LRA: 17.0 LU
[Parsed_ebur128_0 @ 0x34b8660] t: 60 M: -40.0 S: -40.0 I: -23.0 LUFS LRA: 17.0 LU
size=N/A time=00:01:00.00 bitrate=N/A
video:0kB audio:11250kB subtitle:0 global headers:0kB muxing overhead -100.000191%
Summary:
Integrated loudness:
 I: -23.0 LUFS
 Threshold: -37.5 LUFS
Loudness range:
 LRA: 17.0 LU
 Threshold: -47.4 LUFS
 LRA low: -40.0 LUFS
 LRA high: -23.0 LUFS

Mode graphique :

manu@debian-wheezy:~/Sources/ffmpeg-1.2$ ./ffplay -f lavfi -i
 "amovie='/home/manu/Musique/seq-3341-3-16bit.wav',ebur128=video=1:meter=18 [out0][out1]"
ffplay version 1.2 Copyright (c) 2003-2013 the FFmpeg developers
 built on Apr 28 2013 10:59:36 with gcc 4.7 (Debian 4.7.2-5)
 configuration: --enable-gpl --enable-nonfree
 libavutil 52. 18.100 / 52. 18.100
 libavcodec 54. 92.100 / 54. 92.100
 libavformat 54. 63.104 / 54. 63.104
 libavdevice 54. 3.103 / 54. 3.103
 libavfilter 3. 42.103 / 3. 42.103
 libswscale 2. 2.100 / 2. 2.100
 libswresample 0. 17.102 / 0. 17.102
 libpostproc 52. 2.100 / 52. 2.100
[wav @ 0x2b76320] max_analyze_duration 5000000 reached at 5013333 microseconds
[Parsed_amovie_0 @ 0x2b514c0] Channel layout is not set in output stream 0, guessed channel layout is 'stereo'
[lavfi @ 0x2b51d80] Estimating duration from bitrate, this may be inaccurate
Input #0, lavfi, from 'amovie='/home/manu/Musique/seq-3341-3-16bit.wav',ebur128=video=1:meter=18 [out0][out1]':
 Duration: N/A, bitrate: N/A
 Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 640x480 [SAR 1:1 DAR 4:3], 48k tbr, 48k tbn, 48k tbc
 Stream #0:1: Audio: pcm_f64le, 48000 Hz, stereo, dbl, 6144 kb/s
[Parsed_ebur128_1 @ 0x2b4ffc0] Summary:vq= 0KB sq= 0B f=0/0

Integrated loudness:
 I: -23.0 LUFS
 Threshold: -37.5 LUFS

Loudness range:
 LRA: 17.0 LU
 Threshold: -47.4 LUFS
 LRA low: -40.0 LUFS
 LRA high: -23.0 LUFS

Et vous obtenez un graphique :

capture écran mesure r128 avec FFmpeg

Écran mesure r128 avec FFmpeg

Pour le moment, il n’est pas possible de mesurer le true-peak.

Written by manu

28/04/2013 at 12:23

Publié dans Outils

Tagged with , ,

r128x avec interface graphique

leave a comment »

Le projet r128x vient d’être mis à jour avec une version graphique. Ce logiciel permet les mesures de loudness, lra et true-peak de fichiers audio sous Mac OS x.6 et au delà. Il est distribué sous licence GPL.

Written by manu

14/04/2013 at 06:08

Publié dans Outils

Tagged with ,

La recommandation ITU BS.1770 passe en version 3

leave a comment »

Cet été, la recommandation ITU BS.1770 est passée en version 3, pouvez la trouver ici. Principale nouveauté : précisions sur le mesure true-peak par la fourniture de coefficients de filtres pour un signal à 48 KHz de fréquence d’échantillonnage.

Cela devrait permettre à terme une meilleure cohérence des mesures true-peak sur différents outils.

Written by manu

06/10/2012 at 11:49

Publié dans Standards

Tagged with ,