Smarc is a fast and high quality audio rate converter. It allows conversion between any samplerate. Smarc is a command-line program and a C library to be integrated in other applications.
Features
- signal rate conversion between any sample rates.
- optimized for conversion between standard audio sample rates.
- command-line tool to convert audio files
- C library to integrate smarc converter into other applications.
- Initially designed to convert audio, but also any 1-D signals such as EEG, seismic signals, etc.
- Convert sample rate using polyphase decimation and interpolation filters. This method guarantees high-quality for upsampling and downsampling.
- Internal filters can be tuned to emphasize speed or quality.
Official website (http://audio-smarc.sourceforge.net/)
Official download page (http://sourceforge.net/projects/audio-smarc/files/)
Well, I've read through the "internals" document (15 pages).
It contains an alarming number of typos. Some parts are still in French.
I did not find anything revolutionary. There seem to be just some speed and memory-related optimizations.
... For others ratios, the decompostion is automatically computed but the result is often not optimal
and a manual help is recommanded, in this way one can manually defined a better decomposition.
This quote from the conclusion is not too convincing.
Seems good and fast. 2x slower than SoX or zita, but that's still fast IMHO
Swept
(http://i.imgur.com/mslsO.png)
1kHz
(http://i.imgur.com/CRFYO.png)
At 150 dB none artifact
Above images are from default settings. One can use "--rs=180" and get clear picture at almost same speed
BTW, frequency response (passband) for 96000 -> 44100 conversion (smarc -r 44100 in.wav out.wav):
(http://img98.imageshack.us/img98/613/clipboard01cw.png)
Yeah, like default value for stop band is 140, ripple factor is set to 0.1
It seems it can go down to 0.001:
(http://i.imgur.com/I1zG8.png)