<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div apple-content-edited="true" class=""><br class="">
</div><div class="">HI All,</div><div class=""><br class="webkit-block-placeholder"></div><div class="">I’ve been talking to Robert more about this, and also I emailed JJ to get word from the horses mouth.</div><div class=""><br class=""></div><div class="">It seems I miss-spoke in my blog post - mp3 and AAC encoders (and from the Spotify comments, Ogg/Vorbis also) should encode in floating-point, and store the data with what JJ refers to as <i class="">“scalefactor information (kind of like a coarse floating point)” </i></div><div class=""><br class=""></div><div class="">In other words, a well-written encoder won’t “bake in” the clipping (my bad). But of course, we can’t assume that all encoders are well-written :-/</div><div class=""><br class=""></div><div class="">Robert and JJ both agree that not all decoders operate in floating-point and Eelco’s information confirms this to be true for Spotify, sadly - so this may be the source of the bad experiences we’ve all had. If a decoder resolves to fixed-point without adjusting for headroom and before normalising, the clipping may as well be "baked-in”, as far as the final result is concerned :-/</div><div class=""><br class=""></div><div class="">(iTunes <b class="">does</b> use floating-point, but also employs a limiter to prevent clipping, apparently…! I’m going to try and find out where this limiter is placed in the chain - I bet you a cup of really hot tea that it’s right after the decoder :-/ ) </div><div class=""><br class=""></div><div class="">I’m clarifying a few details with JJ and will then update my post - the bottom line is that avoiding high peaks is still good advice, although not quite for the reasons I originally posted about.</div><div class=""><br class=""></div><div class="">We learn new stuff every day !</div><div class=""><br class=""></div><div class="">Ian</div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div>
<br class=""><div><blockquote type="cite" class=""><div class="">On 13 Oct 2018, at 12:23, Bob Katz <<a href="mailto:bobkatz@digido.com" class="">bobkatz@digido.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" class="">
<div text="#000000" bgcolor="#FFFFFF" class=""><p class="">Yes, Thomas, you have shown this many times and this is true. But
it seems the clipping does not happen in the encoder if the
encoder and decoder are floating point (as most are). The clipping
actually occurs not in the decoder either, but when the output
material of the decoder is converted to fixed point. Which is why
Robert from Fraunhofer protested when Ian Shepherd made the
contention that the clipping is "baked in". <br class="">
</p><p class="">It would not take much effort to prove this. I've got clients in
all day. I'm not sure if I'll have time to demonstrate (or
disprove) this contention before AES NY. Regardless, I agree with
you, I would not recommend encoding material that would clip. So
for me this is a purely academic exercise. <br class="">
</p><p class=""><br class="">
</p><p class="">Best wishes,</p><p class=""><br class="">
</p><p class=""><br class="">
</p><p class=""><br class="">
</p><p class="">Bob<br class="">
</p>
<br class="">
<div class="moz-cite-prefix">On 10/12/18 12:41 PM, Thomas Lund
wrote:<br class="">
</div>
<blockquote type="cite" cite="mid:45FEAFFB-A5C3-4A46-9850-1DA3537214A4@lund.one" class="">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" class="">
<div class="">Companeros,</div>
<div class=""><br class="">
</div>
<div class="">With lossy encoders, clipping can happen in the M/S
domain, even if e.g. the S signal is nowhere near clipping, but
the M component is. I’ve played several listening examples of
that on panels with you, Bob and Bob. Sample rate converters is
another place where you can’t take pre-attenuation let alone
headroom for granted.</div>
<div class=""><br class="">
</div>
<div class="">Better to stay below 0 dBTP, and to keep checking
M/S.</div>
<div class=""><br class="">
</div>
<div class="">cheers,</div>
<div class="">Thomas</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<br class="">
<div class="">
<blockquote type="cite" class="">
<div class="">On 12 Oct 2018, at 18.34, Bob Katz <<a href="mailto:bobkatz@digido.com" class="" moz-do-not-send="true">bobkatz@digido.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" class="">
<div text="#000000" bgcolor="#FFFFFF" class=""><p class="">Thanks, Eelco, for that confidential
information. You have a good contact at Spotify. Keep on
pushing them to stop that egregious peak limiting!</p>
Even though with a floating point codec, the clipping is
NOT officially "baked in", I would always advise engineers
to protect the path ahead of the encoder. It's the safest
and probably the best place to deal with future clipping
down the line. Apple performs the encodes and adds
metadata. Engineers and producers do NOT send AAC files to
Apple. And you won't find Apple changing data, even if it
would prevent clipping down the line. Apple would NOT
attenuate a master in front of the encode. This is a
mastering engineer's prerogative. <br class=""><p class="">And the chances of expecting a playback device
to inspect ahead of time for overshoot during a
streaming session are slim and none. Think about it, the
real time decoder would have to have foreknowledge that
the codec was going to overshoot, and know ahead of time
to attenuate the whole song before it had started. It's
just not practical. And I don't believe in adding peak
limiting to already-mastered and approved material. At
the least it changes the producer's intent, at worst it
distorts and just goes one step closer to sucky
broadcast-style processing.<br class="">
</p><p class="">So I would not change my practices because of
this discovery. Prevention is the best way to a cure.</p><p class=""><br class="">
</p><p class="">Bob</p><p class=""><br class="">
</p>
<br class="">
<div class="moz-cite-prefix">On 10/12/18 12:10 PM, Grimm |
Eelco wrote:<br class="">
</div>
<blockquote type="cite" cite="mid:A49C70CA-88AF-4176-9090-6D06748E1509@grimmaudio.com" class="">
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" class="">
<div class="">Hi Kevin and Bob,</div>
<div class=""><br class="">
<blockquote type="cite" class="">
<div class="">
<div text="#000000" bgcolor="#FFFFFF" class=""><p class="">Robert from Fraunhofer was just
complaining because Ian claimed that the
clipping was "baked in" to the encoder. Which
is untrue to the best of my knowledge. The
encoder/decoder are in a closed floating point
relationship and so if you intercept the
decode in the floating point domain, attenuate
it and dither it to 24 bits and then send it
on to the DAC or file or whatever, there will
be no clipping. </p>
</div>
</div>
</blockquote>
<br class="">
</div>
<div class="">I got a reply from my Spotify contact.
Please treat this as confidential information!</div>
<div class=""><br class="">
</div>
<div class="">
<div class="">"I've also found out the float/int
situation, and unfortunately it was as I feared,
we're using int:s throughout the pipeline. The
decoder(s) is/are float, but we clamp them to int
right after the decode step. This is also, for sure,
on our roadmap to change, but no promises on
timeline there either, I'm afraid."</div>
</div>
<br class="">
<div class="">So at the moment there’s not much they can
do. But at least they are aware of the problem and the
opportunities now.</div>
<div class=""><br class="">
</div>
<div class="">All the best,</div>
<div class="">Eelco</div>
<div class=""><br class="">
</div>
<br class="">
<fieldset class="mimeAttachmentHeader"></fieldset>
<br class="">
<pre class="" wrap="">_______________________________________________
MLA mailing list
<a class="moz-txt-link-abbreviated" href="mailto:MLA@grimmaudio.nl" moz-do-not-send="true">MLA@grimmaudio.nl</a>
<a class="moz-txt-link-freetext" href="http://grimmaudio.nl/mailman/listinfo/mla_grimmaudio.nl" moz-do-not-send="true">http://grimmaudio.nl/mailman/listinfo/mla_grimmaudio.nl</a>
</pre>
</blockquote>
<br class="">
<div class="moz-signature">-- <br class="">
<meta http-equiv="content-type" content="text/html;
charset=utf-8" class="">
<div class="moz-signature">
<div class="moz-signature">
<div class="moz-signature">
<title class=""></title>
<div class="moz-signature">
<div class="moz-signature">
<div class="moz-signature">
<pre class="moz-signature" cols="80"><font class="" face="Courier">
If you want good sound on your album, come to
Bob Katz 407-831-0233 </font><font class="" face="Courier">DIGITAL DOMAIN MASTERING STUDIO
Author: <b class="">Mastering Audio </b></font><font class="" face="Courier">
<a href="http://www.digido.com/" class="" moz-do-not-send="true">Digital Domain Website</a>
No trees were killed in the sending of this message. However a large number
of electrons were terribly inconvenienced.<font class="" color="#ff0000">
</font></font></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
_______________________________________________<br class="">
MLA mailing list<br class="">
<a href="mailto:MLA@grimmaudio.nl" class="" moz-do-not-send="true">MLA@grimmaudio.nl</a><br class="">
<a class="moz-txt-link-freetext" href="http://grimmaudio.nl/mailman/listinfo/mla_grimmaudio.nl">http://grimmaudio.nl/mailman/listinfo/mla_grimmaudio.nl</a><br class="">
</div>
</blockquote>
</div>
<br class="">
</blockquote>
<br class="">
<div class="moz-signature">-- <br class="">
<meta http-equiv="content-type" content="text/html; charset=utf-8" class="">
<div class="moz-signature">
<div class="moz-signature">
<div class="moz-signature">
<title class=""></title>
<div class="moz-signature">
<div class="moz-signature">
<div class="moz-signature">
<pre class="moz-signature" cols="80"><font face="Courier" class="">
If you want good sound on your album, come to
Bob Katz 407-831-0233 </font><font face="Courier" class="">DIGITAL DOMAIN MASTERING STUDIO
Author: <b class="">Mastering Audio </b></font><font face="Courier" class="">
<a href="http://www.digido.com/" class="">Digital Domain Website</a>
No trees were killed in the sending of this message. However a large number
of electrons were terribly inconvenienced.<font color="#ff0000" class="">
</font></font></pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
_______________________________________________<br class="">MLA mailing list<br class=""><a href="mailto:MLA@grimmaudio.nl" class="">MLA@grimmaudio.nl</a><br class="">http://grimmaudio.nl/mailman/listinfo/mla_grimmaudio.nl<br class=""></div></blockquote></div><br class=""></body></html>