John van Ommen wrote:
I wrote a script that upsamples 16/44 MP3s to 24bit 48khz MP3s. These MP3s work in my car (24/96 JVC KD-SH99) and on my PC (24/96 Echo MIA soundcard.)
The script is quite elegant, I can convert a few hundred MP3s overnight.
Probably doesn't sound as good as a kilobuck audiophile upsampler, but I do hear a slight improvement in the treble on the 24/48 mp3s.
How does your script upsample 16/44 MP3s to 24/48?
MP3 files have a fixed sample rate and can be decoded to any precision.
Rob, The script does the following things: 1. decoded the MP3 using the 24bit output of Fraunhofer's l3dec, which is the most accurate decoder, according to a article that compared about every decoder out there. 2. Converts the 24 bit raw file to a WAV using conv2wav 3. Uses the Japanese program SSRC to upsample the 24/44.1 WAV to 24/48, and it also normalizes the file 4. And it finally converts the humungous WAV file to a VBR MP3.
I have a outboard digital to analog converter, and the clock is showing that the data is indeed 24/48. I'd produce 24/96 MP3s, but there's no support for that. The difference isn't night and day, but in a A/B comparison, the 24/48 MP3s have a more believable treble.
Now if I could just afford one of these:
John van Ommen AIM = Magestik6
P.S. Here's my Perl script. You'll need SSRC, l3dec, and lame in your path for it to work.
# $songname is the mp3 passed to the script $songname = $ARGV[0]; # $shortpath is the 8.3 filename of $songname $shortpath = Win32::GetShortPathName ($songname); # strip the ".mp3" off the end of the filename $shortpath = substr($shortpath, 0, -4); $songname = substr($songname, 0, -4);
# convert the MP3 file to a 24 bit raw file with l3dec.exe system ("l3dec $shortpath.mp3 $shortpath.raw -h24"); system ("del $shortpath.mp3"); # convert the 24 bit raw file to a wav file using conv2wav.exe system ("conv2wav $shortpath.raw $shortpath.wav"); # delete the raw file system ("del $shortpath.raw"); # convert the 44.1/24 wave file to a 48/24 wave file using ssrc, and dither & normalize the output file system ("ssrc --rate 48000 --bits 24 --twopass --normalize --dither 3 $shortpath.wav temp.wav"); # delete the old wav file system ("del $shortpath.wav"); system ("lame --nspsytune --vbr-mtrh -V0 -mj -h -b112 --lowpass 19.5 --athtype 3 --ns-sfb21 2 -Z -X0 temp.wav temp.mp3"); system ("del temp.wav"); rename ("temp.mp3","$songname 24-48.mp3");
-----Original Message----- From: mad-user-admin@lists.mars.org [mailto:mad-user-admin@lists.mars.org]On Behalf Of Rob Leslie Sent: Friday, December 28, 2001 4:45 PM To: mad-user@lists.mars.org Cc: John van Ommen Subject: Re: [mad-user] hey! new to this and I wanna say
John van Ommen wrote:
I wrote a script that upsamples 16/44 MP3s to 24bit 48khz MP3s. These
MP3s
work in my car (24/96 JVC KD-SH99) and on my PC (24/96 Echo MIA
soundcard.)
The script is quite elegant, I can convert a few hundred MP3s overnight.
Probably doesn't sound as good as a kilobuck audiophile upsampler, but I
do
hear a slight improvement in the treble on the 24/48 mp3s.
How does your script upsample 16/44 MP3s to 24/48?
MP3 files have a fixed sample rate and can be decoded to any precision.
-- Rob Leslie rob@mars.org
Rob, The script does the following things: 1. decoded the MP3 using the 24bit output of Fraunhofer's l3dec, which is the most accurate decoder, according to a article that compared about every decoder out there. 2. Converts the 24 bit raw file to a WAV using conv2wav 3. Uses the Japanese program SSRC to upsample the 24/44.1 WAV to 24/48, and it also normalizes the file 4. And it finally converts the humungous WAV file to a VBR MP3.
I have a outboard digital to analog converter, and the clock is showing that the data is indeed 24/48. I'd produce 24/96 MP3s, but there's no support for that. The difference isn't night and day, but in a A/B comparison, the 24/48 MP3s have a more believable treble.
Now if I could just afford one of these: http://www.partsconnection.on.ca/pages/d2d.html or even one of these: http://www.stereophile.com/showarchives.cgi?259
John van Ommen AIM = Magestik6
P.S. Here's my Perl script. You'll need SSRC, l3dec, and lame in your path for it to work.
# $songname is the mp3 passed to the script $songname = $ARGV[0]; # $shortpath is the 8.3 filename of $songname $shortpath = Win32::GetShortPathName ($songname); # strip the ".mp3" off the end of the filename $shortpath = substr($shortpath, 0, -4); $songname = substr($songname, 0, -4);
# convert the MP3 file to a 24 bit raw file with l3dec.exe system ("l3dec $shortpath.mp3 $shortpath.raw -h24"); system ("del $shortpath.mp3"); # convert the 24 bit raw file to a wav file using conv2wav.exe system ("conv2wav $shortpath.raw $shortpath.wav"); # delete the raw file system ("del $shortpath.raw"); # convert the 44.1/24 wave file to a 48/24 wave file using ssrc, and dither & normalize the output file system ("ssrc --rate 48000 --bits 24 --twopass --normalize --dither 3 $shortpath.wav temp.wav"); # delete the old wav file system ("del $shortpath.wav"); system ("lame --nspsytune --vbr-mtrh -V0 -mj -h -b112 --lowpass 19.5 --athtype 3 --ns-sfb21 2 -Z -X0 temp.wav temp.mp3"); system ("del temp.wav"); rename ("temp.mp3","$songname 24-48.mp3");
-----Original Message----- From: mad-user-admin@lists.mars.org [mailto:mad-user-admin@lists.mars.org]On Behalf Of Rob Leslie Sent: Friday, December 28, 2001 4:45 PM To: mad-user@lists.mars.org Cc: John van Ommen Subject: Re: [mad-user] hey! new to this and I wanna say
John van Ommen wrote:
I wrote a script that upsamples 16/44 MP3s to 24bit 48khz MP3s. These
MP3s
work in my car (24/96 JVC KD-SH99) and on my PC (24/96 Echo MIA
soundcard.)
The script is quite elegant, I can convert a few hundred MP3s overnight.
Probably doesn't sound as good as a kilobuck audiophile upsampler, but I
do
hear a slight improvement in the treble on the 24/48 mp3s.
How does your script upsample 16/44 MP3s to 24/48?
MP3 files have a fixed sample rate and can be decoded to any precision.
-- Rob Leslie rob@mars.org