Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Soxr with custom native Visual Studio project build tools. Soxr: A library for performing one-dimensional sample-rate conversion. http://sourceforge.net/projects/soxr/
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
SoX Resampler Library Copyright (c) 2007-13 email@example.com The SoX Resampler library `libsoxr' performs one-dimensional sample-rate conversion -- it may be used, for example, to resample PCM-encoded audio. For higher-dimensional resampling, such as for visual-image processing, you should look elsewhere. It aims to give fast¹ and very high quality² results for any constant (rational or irrational) resampling ratio. Phase-response, preserved bandwidth, aliasing, and rejection level parameters are all configurable; alternatively, simple `preset' configurations may be selected. An experimental, variable-rate resampling mode of operation is also included. The resampler is currently available either as part of `libsox' (the audio file-format and effect library), or stand-alone as `libsoxr' (this package). The interfaces to libsox and libsoxr are slightly different, with that of libsoxr designed specifically for resampling. An application requiring support for other effects, or for reading-from or writing-to audio files or devices, should use libsox (or other libraries such as libsndfile or libavformat). Libsoxr provides a simple API that allows interfacing using the most commonly-used sample formats and buffering schemes: sample-formats may be either floating-point or integer, and multiple channels either interleaved or split in separate buffers. The API is documented in the header file `soxr.h', together with sample code found in the 'examples' directory. For compatibility with the popular `libsamplerate' library, the header file `soxr-lsr.h' is provided and may be used as an alternative API.³ Note however, that libsoxr does not provide a full emulation of libsamplerate and that using this approach, only a sub-set of libsoxr's features are available. The design was inspired by Laurent De Soras' paper `The Quest For The Perfect Resampler', http://ldesoras.free.fr/doc/articles/resampler-en.pdf; in essence, it combines Julius O. Smith's `Bandlimited Interpolation' technique (https://ccrma.stanford.edu/~jos/resample/resample.pdf) with FFT- based over-sampling. Note that for real-time resampling, libsoxr may have a higher latency than non-FFT based resamplers. For example, when using the `High Quality' configuration to resample between 44100Hz and 48000Hz, the latency is around 1000 output samples, i.e. roughly 20ms (though passband and FFT- size configuration parameters may be used to reduce this figure). For build and installation instructions, see the file `INSTALL'; for copyright and licensing information, see the file `LICENCE'. For support and new versions, see http://soxr.sourceforge.net ________ ¹ For example, multi-channel resampling can utilise multiple CPU-cores. ² Bit-perfect within practical occupied-bandwidth limits. ³ For details of that API, see http://www.mega-nerd.com/SRC/api.html.