I've just recently started using SoX (v 14.3.1), mostly because I was curious about it, but I also have heard and read very good things about the sample rate conversion. I can usually find my way around a command line app without too much difficulty, but I'm certainly no expert at the command line.
a few questions...
(1) My primary use of SoX will be to resample audio. Output will always be 16 bit / 44.1 kHz. Input will be 16/48 (from DAT transfers), 24/48, or 24/96 (from new recordings). SoX came with a sample batch converter file. This was the sample:
cd %~dp0
mkdir converted
FOR %%A IN (%*) DO sox %%A "converted/%%~nxA" rate -v 44100
pause
I modified it slightly when doing Tim's Hampton '03 recordings, and I changed it to this:
cd %~dp0
FOR %%A IN (%*) DO sox %%A "K:/transfers/ph2003-01-04.u89.flac16/%%~nxA" rate -v -s 44100
pause
in this example, I had already created the output directory.
my question is more about the resampling options. the
-v tells it to resample at "very high" quality.
I added the
-s option, for "Steep filter (band-width = 99%)"
this is what the documentation says:
The −s ‘steep filter’ option changes resampling band-width from the default 95% (based on the
3dB point), to 99%. The −b option allows the band-width to be set to any value in the range
74−99.7 %, but note that band-width values greater than 99% are not recommended for normal use as they can cause excessive transient echo.
the docs also say:
By default, all algorithms have a ‘linear’ phase response; for ‘medium’, ‘high’ and ‘very high’, the phase response is configurable (see below).
ok, so my basic question is, are the
-v -s options what I want for the best quality? I don't need to specify
-L, because the linear phase response is already the default for
-v, yes? Should I change any options? if so, what?
(2) from what I read about dither, it seems that the default behavior for SoX is to apply dither to get down to 16 bit. I assume leaving the default dither settings is fine? is there anything that I would want to change?
(3)
some DATs that I transfer were originally recorded with pre-emphasis.
SoX can remove the pre-emphasis, with the
deemph command.
the basic example they give is:
sox track1.wav track1-deemph.wav deemph
now, let's say I have a 16 bit / 48 kHz wav file, and I want to remove the pre-emphasis, and then resample to 44.1 kHz. all together in one step, with dither applied just once, at the very end. I think this is possible. but how do I do it?
(4)
does SoX handle files over 2 gig? Let's say I record a show at 24/96. and the first set was 2.5 hours in length, and I have several files that are ~5 gigs in all (autosplit during the show by my recorder). Can I use SoX to join the files together? and then resample the 5 gig 24/96 file down to 16/44.1? can I do this all in one step? Can I also normalize each channel independently also at the same time?
Thanks for looking, and thanks for any and all help.
- Jason