Is there any program to dither and noise shape audio? I need something that applies it to the file and allows for truncation to arbitrary bit depths (ie 10-bit padded to 16 with dither + strong ATH noise shaping). foobar2000 only lets me do so for playback.
That's the only free tool besides foobar that I have in my holster that might do the job...
<Features> This program converts sampling rate of PCM wav file. Also, this program hasa function to apply dither to its output and extend perceived dynamic range. Sampling rates of 44.1kHz and 48kHz are populary used, but ratio of thesetwo frequency is 147:160, and it's not a small numbers. Therefore, samplingrate conversion without degradation of sound quality requires filter with verylarge order, and it's difficult to achive both quality and speed. This programachived relatively fast and high quality with two different kinds of filterscombined skillfully.<Usage>ssrc [<options>] <input wav file> <output wav file>Usage of options are as follows : --rate <sampling rate> Specify sampling rate of output file. --att <value(dB)> Attenuate volume of output by specified value. --twopass Perform two pass processing so that clipping is avoided. At the first pass, the program converts sampling rate of input file and write to a temporary file in float numbers while scanning clippings. At the second pass, the program attenuate the volume so that clipping is prevented, and write to the output file. --normalize Normalize the wave file. --dither [<type>] Apply dithers to the output file. type 0 : no dither type 1 : no noise shaping type 2 : triangular dither type 3 : ATH based noise shaping --bits Specify quantization bit length. 8, 16 and 24bits are supported. --quiet Nothing is displayed except error. --pdf <type> [<amp>] Select probability distribution function and amplitude of noise. type 0 : rectangular type 1 : triangular type 2 : Gaussian --profile Specify profile "standard" profile : the default setting "fast" profile : about x2 speed, not so bad quality Only PCM coded wav files are used as input and output files. Input and output sampling frequency must satisfy a certain condition, but(probably) conversions between all populary used sampling frequencies aresupported. If sampling frequencies of input and output are same, sampling rateconversion is not performed and only conversion of quantization bit lengthwith optional dithering are done.
(...) but I really do need the noise shaping along with dithering.
1 - a z^-1 + b z^-2 - c z^-3 + d z^-4 - e z^-5 + f z^-6H(z) = ------------------------------------------------------- 1 + a z^-1 + b z^-2 + c z^-3 + d z^-4 + e z^-5 + f z^-6witha= 1.45619118675708b= 2.24132454071640c= 1.76666007562633d= 1.14160366651250e= 0.43188674232519f= 0.09261200141284
Edit. Quick search revealed this software.
--dither [<type>] dithering type 0 : no dither type 1 : no noise shaping type 2 : triangular dither type 3 : ATH based noise shaping type 4 : less dither amplitude than type 3 --pdf <type> [<amp>] select p.d.f. of noise type 0 : rectangular type 1 : triangular type 2 : Gaussian
Quote from: Egor on 23 August, 2006, 12:10:34 AMEdit. Quick search revealed this software....looks promising, but only supports FIR noise shaping filters (no IIR filters)
The hiss from the dithering is stronger than the noise from quantization error.
Quote from: SebastianG on 23 August, 2006, 03:58:49 AM...looks promising, but only supports FIR noise shaping filters (no IIR filters)Silly question: Why is that a problem?
...looks promising, but only supports FIR noise shaping filters (no IIR filters)
rectangular dither: +/- 0.5 -0.00 dB (obviously)rectangular dither: +/- 0.4 -0.86 dBrectangular dither: +/- 0.3 -1.67 dBrectangular dither: +/- 0.2 -2.37 dBrectangular dither: +/- 0.15 -2.64 dBrectangular dither: +/- 0.1 -2.84 dBrectangular dither: +/- 0.05 -2.97 dBrectangular dither: +/- 0.0 -3.01 dB
Edit: I think it's possible to prove that a certain dither level (below the alredy known-to-be-safe levels) is secure given the impulse response of the noise shaper -- me needs to think more about it.
I wonder if the Lipshitz and Vanderkooy vs James Angus arguments about DSD (1-bit systems) ever mentioned this? It could have been crucial if true, because it could demolish Lipshitz and Vanderkooy's argument against DSD (which, put simply, is that to avoid distortion, you have to fill the one bit you have with dither, thus leaving no room for a signal!).I used to have some of the papers, but can't find them now.Cheers,David.