1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns=
"http://www.w3.org/1999/xhtml" dir=
"ltr">
5 <meta http-equiv=
"Content-Type" content=
"text/html;charset=utf-8" />
6 <title>Petter Reinholdtsen: Measuring and adjusting the loudness of a TV channel using bs1770gain
</title>
7 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/style.css" />
8 <link rel=
"stylesheet" type=
"text/css" media=
"screen" href=
"http://people.skolelinux.org/pere/blog/vim.css" />
15 <a href=
"http://people.skolelinux.org/pere/blog/">Petter Reinholdtsen
</a>
23 <div class=
"title">Measuring and adjusting the loudness of a TV channel using bs1770gain
</div>
24 <div class=
"date">11th June
2015</div>
25 <div class=
"body"><p>Television loudness is the source of frustration for viewers
26 everywhere. Some channels are very load, others are less loud, and
27 ads tend to shout very high to get the attention of the viewers, and
28 the viewers do not like this. This fact is well known to the TV
29 channels. See for example the BBC white paper
30 "
<a href=
"http://downloads.bbc.co.uk/rd/pubs/whp/whp-pdf-files/WHP202.pdf">Terminology
31 for loudness and level dBTP, LU, and all that
</a>" from 2011 for a
32 summary of the problem domain. To better address the need for even
33 loadness, the TV channels got together several years ago to agree on a
34 new way to measure loudness in digital files as one step in
35 standardizing loudness. From this came the ITU-R standard BS.1770,
36 "<a href=
"http://www.itu.int/rec/R-REC-BS.1770/en">Algorithms to
37 measure audio programme loudness and true-peak audio level
</a>".</p>
39 <p>The ITU-R BS.1770 specification describe an algorithm to measure
40 loadness in LUFS (Loudness Units, referenced to Full Scale). But
41 having a way to measure is not enough. To get the same loudness
42 across TV channels, one also need to decide which value to standardize
43 on. For European TV channels, this was done in the EBU Recommondaton
44 R128, "<a href=
"https://tech.ebu.ch/docs/r/r128.pdf">Loudness
45 normalisation and permitted maximum level of audio signals
</a>", which
46 specifies a recommended level of -23 LUFS. In Norway, I have been
47 told that NRK, TV2, MTG and SBS have decided among themselves to
48 follow the R128 recommondation for playout from 2016-03-01.</p>
50 <p>There are free software available to measure and adjust the loudness
51 level using the LUFS. In Debian, I am aware of a library named
52 <a href="https://tracker.debian.org/pkg/libebur128
">libebur128</a>
53 able to measure the loudness and since yesterday morning a new binary
54 named <a href="http://bs1770gain.sourceforge.net
">bs1770gain</a>
55 capable of both measuring and adjusting was uploaded and is waiting
56 for NEW processing. I plan to maintain the latter in Debian under the
57 <a href="https://qa.debian.org/developer.php?email=pkg-multimedia-maintainers%
40lists.alioth.debian.org
">Debian
58 multimedia</a> umbrella.</p>
60 <p>The free software based TV channel I am involved in,
61 <a href="http://www.frikanalen.no/
">Frikanalen</a>, plan to follow the
62 R128 recommondation ourself as soon as we can adjust the software to
63 do so, and the bs1770gain tool seem like a good fit for that part of
64 the puzzle to measure loudness on new video uploaded to Frikanalen.
65 Personally, I plan to use bs1770gain to adjust the loudness of videos
66 I upload to Frikanalen on behalf of <a href="http://www.nuug.no/
">the
67 NUUG member organisation</a>. The program seem to be able to measure
68 the LUFS value of any media file handled by ffmpeg, but I've only
69 successfully adjusted the LUFS value of WAV files. I suspect it
70 should be able to adjust it for all the formats handled by ffmpeg.</p>
73 <div class="tags
">Tags: <a href="http://people.skolelinux.org/pere/blog/tags/english
">english</a>, <a href="http://people.skolelinux.org/pere/blog/tags/frikanalen
">frikanalen</a>, <a href="http://people.skolelinux.org/pere/blog/tags/multimedia
">multimedia</a>, <a href="http://people.skolelinux.org/pere/blog/tags/video
">video</a>.</div>
91 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2015/
01/
">January (7)</a></li>
93 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2015/
02/
">February (6)</a></li>
95 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2015/
03/
">March (1)</a></li>
97 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2015/
04/
">April (4)</a></li>
99 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2015/
05/
">May (3)</a></li>
101 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2015/
06/
">June (3)</a></li>
108 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
01/
">January (2)</a></li>
110 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
02/
">February (3)</a></li>
112 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
03/
">March (8)</a></li>
114 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
04/
">April (7)</a></li>
116 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
05/
">May (1)</a></li>
118 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
06/
">June (2)</a></li>
120 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
07/
">July (2)</a></li>
122 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
08/
">August (2)</a></li>
124 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
09/
">September (5)</a></li>
126 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
10/
">October (6)</a></li>
128 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
11/
">November (3)</a></li>
130 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2014/
12/
">December (5)</a></li>
137 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
01/
">January (11)</a></li>
139 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
02/
">February (9)</a></li>
141 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
03/
">March (9)</a></li>
143 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
04/
">April (6)</a></li>
145 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
05/
">May (9)</a></li>
147 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
06/
">June (10)</a></li>
149 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
07/
">July (7)</a></li>
151 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
08/
">August (3)</a></li>
153 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
09/
">September (5)</a></li>
155 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
10/
">October (7)</a></li>
157 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
11/
">November (9)</a></li>
159 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2013/
12/
">December (3)</a></li>
166 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
01/
">January (7)</a></li>
168 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
02/
">February (10)</a></li>
170 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
03/
">March (17)</a></li>
172 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
04/
">April (12)</a></li>
174 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
05/
">May (12)</a></li>
176 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
06/
">June (20)</a></li>
178 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
07/
">July (17)</a></li>
180 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
08/
">August (6)</a></li>
182 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
09/
">September (9)</a></li>
184 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
10/
">October (17)</a></li>
186 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
11/
">November (10)</a></li>
188 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2012/
12/
">December (7)</a></li>
195 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
01/
">January (16)</a></li>
197 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
02/
">February (6)</a></li>
199 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
03/
">March (6)</a></li>
201 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
04/
">April (7)</a></li>
203 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
05/
">May (3)</a></li>
205 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
06/
">June (2)</a></li>
207 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
07/
">July (7)</a></li>
209 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
08/
">August (6)</a></li>
211 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
09/
">September (4)</a></li>
213 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
10/
">October (2)</a></li>
215 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
11/
">November (3)</a></li>
217 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2011/
12/
">December (1)</a></li>
224 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
01/
">January (2)</a></li>
226 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
02/
">February (1)</a></li>
228 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
03/
">March (3)</a></li>
230 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
04/
">April (3)</a></li>
232 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
05/
">May (9)</a></li>
234 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
06/
">June (14)</a></li>
236 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
07/
">July (12)</a></li>
238 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
08/
">August (13)</a></li>
240 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
09/
">September (7)</a></li>
242 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
10/
">October (9)</a></li>
244 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
11/
">November (13)</a></li>
246 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2010/
12/
">December (12)</a></li>
253 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
01/
">January (8)</a></li>
255 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
02/
">February (8)</a></li>
257 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
03/
">March (12)</a></li>
259 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
04/
">April (10)</a></li>
261 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
05/
">May (9)</a></li>
263 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
06/
">June (3)</a></li>
265 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
07/
">July (4)</a></li>
267 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
08/
">August (3)</a></li>
269 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
09/
">September (1)</a></li>
271 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
10/
">October (2)</a></li>
273 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
11/
">November (3)</a></li>
275 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2009/
12/
">December (3)</a></li>
282 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2008/
11/
">November (5)</a></li>
284 <li><a href="http://people.skolelinux.org/pere/blog/archive/
2008/
12/
">December (7)</a></li>
295 <li><a href="http://people.skolelinux.org/pere/blog/tags/
3d-printer
">3d-printer (13)</a></li>
297 <li><a href="http://people.skolelinux.org/pere/blog/tags/amiga
">amiga (1)</a></li>
299 <li><a href="http://people.skolelinux.org/pere/blog/tags/aros
">aros (1)</a></li>
301 <li><a href="http://people.skolelinux.org/pere/blog/tags/bankid
">bankid (4)</a></li>
303 <li><a href="http://people.skolelinux.org/pere/blog/tags/bitcoin
">bitcoin (8)</a></li>
305 <li><a href="http://people.skolelinux.org/pere/blog/tags/bootsystem
">bootsystem (15)</a></li>
307 <li><a href="http://people.skolelinux.org/pere/blog/tags/bsa
">bsa (2)</a></li>
309 <li><a href="http://people.skolelinux.org/pere/blog/tags/chrpath
">chrpath (2)</a></li>
311 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian
">debian (109)</a></li>
313 <li><a href="http://people.skolelinux.org/pere/blog/tags/debian edu
">debian edu (153)</a></li>
315 <li><a href="http://people.skolelinux.org/pere/blog/tags/digistan
">digistan (10)</a></li>
317 <li><a href="http://people.skolelinux.org/pere/blog/tags/dld
">dld (15)</a></li>
319 <li><a href="http://people.skolelinux.org/pere/blog/tags/docbook
">docbook (13)</a></li>
321 <li><a href="http://people.skolelinux.org/pere/blog/tags/drivstoffpriser
">drivstoffpriser (4)</a></li>
323 <li><a href="http://people.skolelinux.org/pere/blog/tags/english
">english (279)</a></li>
325 <li><a href="http://people.skolelinux.org/pere/blog/tags/fiksgatami
">fiksgatami (23)</a></li>
327 <li><a href="http://people.skolelinux.org/pere/blog/tags/fildeling
">fildeling (12)</a></li>
329 <li><a href="http://people.skolelinux.org/pere/blog/tags/freeculture
">freeculture (15)</a></li>
331 <li><a href="http://people.skolelinux.org/pere/blog/tags/freedombox
">freedombox (9)</a></li>
333 <li><a href="http://people.skolelinux.org/pere/blog/tags/frikanalen
">frikanalen (15)</a></li>
335 <li><a href="http://people.skolelinux.org/pere/blog/tags/h264
">h264 (19)</a></li>
337 <li><a href="http://people.skolelinux.org/pere/blog/tags/intervju
">intervju (42)</a></li>
339 <li><a href="http://people.skolelinux.org/pere/blog/tags/isenkram
">isenkram (10)</a></li>
341 <li><a href="http://people.skolelinux.org/pere/blog/tags/kart
">kart (19)</a></li>
343 <li><a href="http://people.skolelinux.org/pere/blog/tags/ldap
">ldap (9)</a></li>
345 <li><a href="http://people.skolelinux.org/pere/blog/tags/lenker
">lenker (8)</a></li>
347 <li><a href="http://people.skolelinux.org/pere/blog/tags/lsdvd
">lsdvd (2)</a></li>
349 <li><a href="http://people.skolelinux.org/pere/blog/tags/ltsp
">ltsp (1)</a></li>
351 <li><a href="http://people.skolelinux.org/pere/blog/tags/mesh network
">mesh network (8)</a></li>
353 <li><a href="http://people.skolelinux.org/pere/blog/tags/multimedia
">multimedia (34)</a></li>
355 <li><a href="http://people.skolelinux.org/pere/blog/tags/norsk
">norsk (262)</a></li>
357 <li><a href="http://people.skolelinux.org/pere/blog/tags/nuug
">nuug (176)</a></li>
359 <li><a href="http://people.skolelinux.org/pere/blog/tags/offentlig innsyn
">offentlig innsyn (17)</a></li>
361 <li><a href="http://people.skolelinux.org/pere/blog/tags/open311
">open311 (2)</a></li>
363 <li><a href="http://people.skolelinux.org/pere/blog/tags/opphavsrett
">opphavsrett (52)</a></li>
365 <li><a href="http://people.skolelinux.org/pere/blog/tags/personvern
">personvern (86)</a></li>
367 <li><a href="http://people.skolelinux.org/pere/blog/tags/raid
">raid (1)</a></li>
369 <li><a href="http://people.skolelinux.org/pere/blog/tags/reactos
">reactos (1)</a></li>
371 <li><a href="http://people.skolelinux.org/pere/blog/tags/reprap
">reprap (11)</a></li>
373 <li><a href="http://people.skolelinux.org/pere/blog/tags/rfid
">rfid (3)</a></li>
375 <li><a href="http://people.skolelinux.org/pere/blog/tags/robot
">robot (9)</a></li>
377 <li><a href="http://people.skolelinux.org/pere/blog/tags/rss
">rss (1)</a></li>
379 <li><a href="http://people.skolelinux.org/pere/blog/tags/ruter
">ruter (4)</a></li>
381 <li><a href="http://people.skolelinux.org/pere/blog/tags/scraperwiki
">scraperwiki (2)</a></li>
383 <li><a href="http://people.skolelinux.org/pere/blog/tags/sikkerhet
">sikkerhet (41)</a></li>
385 <li><a href="http://people.skolelinux.org/pere/blog/tags/sitesummary
">sitesummary (4)</a></li>
387 <li><a href="http://people.skolelinux.org/pere/blog/tags/skepsis
">skepsis (4)</a></li>
389 <li><a href="http://people.skolelinux.org/pere/blog/tags/standard
">standard (47)</a></li>
391 <li><a href="http://people.skolelinux.org/pere/blog/tags/stavekontroll
">stavekontroll (3)</a></li>
393 <li><a href="http://people.skolelinux.org/pere/blog/tags/stortinget
">stortinget (9)</a></li>
395 <li><a href="http://people.skolelinux.org/pere/blog/tags/surveillance
">surveillance (33)</a></li>
397 <li><a href="http://people.skolelinux.org/pere/blog/tags/sysadmin
">sysadmin (2)</a></li>
399 <li><a href="http://people.skolelinux.org/pere/blog/tags/usenix
">usenix (2)</a></li>
401 <li><a href="http://people.skolelinux.org/pere/blog/tags/valg
">valg (8)</a></li>
403 <li><a href="http://people.skolelinux.org/pere/blog/tags/video
">video (52)</a></li>
405 <li><a href="http://people.skolelinux.org/pere/blog/tags/vitenskap
">vitenskap (4)</a></li>
407 <li><a href="http://people.skolelinux.org/pere/blog/tags/web
">web (36)</a></li>
413 <p style="text-align: right
">
414 Created by <a href="http://steve.org.uk/Software/chronicle
">Chronicle v4.6</a>