<div class="gmail_quote">On Tue, Apr 20, 2010 at 6:34 PM, Ken Restivo <span dir="ltr">&lt;<a href="mailto:ken@restivo.org">ken@restivo.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Kind of a general mastering question, but obligatory Linux screenshots of JAPA are included, I promise.<br>
<br>
I&#39;ve noticed with some professional cd&#39;s/oggs/mp3s I have, the high end is rolled off at around 20Khz.<br>
<br>
Some roll off hard core:<br>
<a href="http://storage.restivo.org.s3.amazonaws.com/rolloffs/hardrolloff.png" target="_blank">http://storage.restivo.org.s3.amazonaws.com/rolloffs/hardrolloff.png</a><br>
<br>
Some have a softer, gentler rolloff, but they still roll everything off:<br>
<a href="http://storage.restivo.org.s3.amazonaws.com/rolloffs/softerrolloff.png" target="_blank">http://storage.restivo.org.s3.amazonaws.com/rolloffs/softerrolloff.png</a></blockquote><div><br></div><div>The roloff is done to prevent Nyquist artefects from being audible -- the 44.1KHz CD sampling rate means you can&#39;t have anything above 22.05Khz or you&#39;ll hear it as aliasing: <a href="http://en.wikipedia.org/wiki/Nyquist_frequency#The_aliasing_problem">http://en.wikipedia.org/wiki/Nyquist_frequency#The_aliasing_problem</a> . LPF&#39;s aren&#39;t perfect, and can cause other annoying artifacts such as phasing or ringing as they progress to the theoretically ideal brickwall filter ( <a href="http://en.wikipedia.org/wiki/Brickwall_filter#Brick-wall_filters">http://en.wikipedia.org/wiki/Brickwall_filter#Brick-wall_filters</a> ). So some recordings might choose a gentler slope, rolling off at a lower frequency in order to hit the drop-dead at 22.05Khz. This may account for the observations made.</div>
<div><br></div><div>The other issue is that MP3 encoders themselves have filters built-in in order to prevent aliasing artifacts at low bitrates. For example, in Fedora&amp;Ubuntu the &quot;stock&quot; sound-juicer/rhythmbox/etc settings cut-off at 16Khz, even if you up the bitrate. I fix this by setting  &#39;gconf-editor /system/gstreamer/0.10/audio/profiles/mp3/pipeline&#39;  to:</div>
<div><br></div><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
audio/x-raw-int,rate=44100,channels=2 ! lame name=enc mode=0 vbr=4 vbr-quality=0 quality=0 vbr-min-bitrate=192 vbr-max-bitrate=320 lowpass-freq=20500 ! id3v2mux</blockquote><div> </div><div>Note the lame(1) arguments that affect the LPF:</div>
<div><br></div><div><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
       --lowpass freq</blockquote><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
              Set a lowpass filtering frequency in kHz.  Frequencies above the</blockquote><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
              specified one will be cutoff.</blockquote><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
<br></blockquote><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
       --lowpass-width freq</blockquote><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
              Set the width of the lowpass filter.  The default value  is  15%</blockquote><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
              of the lowpass frequency.</blockquote></div><div><br></div><div>Note that many built-in settings in LAME automatically set the HF roloff frequency. Particularly, with VBR, the issue is that the bitrate is changing: if you have VBR from 128k-320kbps, you need to set the filter for <a href="http://15.5Khz.in">15.5Khz.in</a> order to prevent aliasing at the lowest bitrates: ( <a href="http://lame.sourceforge.net/gpsycho.php">http://lame.sourceforge.net/gpsycho.php</a> )</div>
<div><br></div><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
Lowpass filtering based on the compression ratio. For high compression ratios, low pass filtering will improve the results. The exact amount of filtering needed depends on the music and personal preferences - the formula to decide how much lowpass filtering to use may need some tuning. At 256kbs, no filterings is done. At 128kbs, the lowpass filter is around 15.5khz.</blockquote>
<div> </div><div>Note that I set the min VBR at 192k so I can move my filter up to around 20Khz. As the default 15.5K cutoff sounds nasty.</div><div><br></div><div> -- Niels</div><div><a href="http://nielsmayer.com">http://nielsmayer.com</a></div>
</div>