On Tue, Apr 20, 2010 at 6:34 PM, Ken Restivo <ken(a)restivo.org> wrote:
Kind of a general mastering question, but obligatory
Linux screenshots of
JAPA are included, I promise.
I've noticed with some professional cd's/oggs/mp3s I have, the high end is
rolled off at around 20Khz.
Some roll off hard core:
http://storage.restivo.org.s3.amazonaws.com/rolloffs/hardrolloff.png
Some have a softer, gentler rolloff, but they still roll everything off:
http://storage.restivo.org.s3.amazonaws.com/rolloffs/softerrolloff.png
The roloff is done to prevent Nyquist artefects from being audible -- the
44.1KHz CD sampling rate means you can't have anything above 22.05Khz or
you'll hear it as aliasing:
http://en.wikipedia.org/wiki/Nyquist_frequency#The_aliasing_problem . LPF's
aren't perfect, and can cause other annoying artifacts such as phasing or
ringing as they progress to the theoretically ideal brickwall filter (
http://en.wikipedia.org/wiki/Brickwall_filter#Brick-wall_filters ). 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.
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&Ubuntu the "stock" sound-juicer/rhythmbox/etc settings cut-off at
16Khz, even if you up the bitrate. I fix this by setting
'gconf-editor /system/gstreamer/0.10/audio/profiles/mp3/pipeline' to:
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
Note the lame(1) arguments that affect the LPF:
--lowpass freq
Set a lowpass filtering frequency in kHz. Frequencies above
the
specified one will be cutoff.
--lowpass-width freq
Set the width of the lowpass filter. The default value is
15%
of the lowpass frequency.
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
15.5Khz.in order to prevent aliasing at the lowest bitrates: (
http://lame.sourceforge.net/gpsycho.php )
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.
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.
-- Niels
http://nielsmayer.com