"Fossies" - the Fresh Open Source Software Archive

Member "audacity-minsrc-2.3.2/lib-src/libsoxr/README" (28 Aug 2018, 2866 Bytes) of package /linux/misc/audacity-minsrc-2.3.2.tar.xz:


As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers. Alternatively you can here view or download the uninterpreted source code file. See also the last Fossies "Diffs" side-by-side code changes report for "README": 2.2.2_vs_2.3.1.

    1 SoX Resampler Library       Copyright (c) 2007-18 robs@users.sourceforge.net
    2 
    3 The SoX Resampler library `libsoxr' performs one-dimensional sample-rate
    4 conversion -- it may be used, for example, to resample PCM-encoded audio.
    5 For higher-dimensional resampling, such as for visual-image processing, you
    6 should look elsewhere.
    7 
    8 It aims to give fast¹ and very high quality² results for any constant
    9 (rational or irrational) resampling ratio.  Phase-response, preserved
   10 bandwidth, aliasing, and rejection level parameters are all configurable;
   11 alternatively, simple `preset' configurations may be selected.  A
   12 variable-rate resampling mode of operation is also included.
   13 
   14 The resampler is currently available either as part of `libsox' (the audio
   15 file-format and effect library), or stand-alone as `libsoxr' (this package).
   16 The interfaces to libsox and libsoxr are slightly different, with that of
   17 libsoxr designed specifically for resampling.  An application requiring
   18 support for other effects, or for reading-from or writing-to audio files or
   19 devices, should use libsox (or other libraries such as libsndfile or
   20 libavformat).
   21 
   22 Libsoxr provides a simple API that allows interfacing using the most
   23 commonly-used sample formats and buffering schemes: sample-formats may be
   24 either floating-point or integer, and multiple channels either interleaved
   25 or split in separate buffers.  The API is documented in the header file
   26 `soxr.h', together with sample code found in the 'examples' directory.
   27 
   28 For compatibility with the popular `libsamplerate' library, the header file
   29 `soxr-lsr.h' is provided and may be used as an alternative API.³  Note
   30 however, that libsoxr does not provide a full emulation of libsamplerate
   31 and that using this approach, only a sub-set of libsoxr's features are
   32 available.
   33 
   34 The design was inspired by Laurent De Soras' paper `The Quest For The
   35 Perfect Resampler', http://ldesoras.free.fr/doc/articles/resampler-en.pdf;
   36 in essence, it combines Julius O. Smith's `Bandlimited Interpolation'
   37 technique (https://ccrma.stanford.edu/~jos/resample/resample.pdf) with FFT-
   38 based over-sampling.
   39 
   40 Note that for real-time resampling, libsoxr may have a higher latency
   41 than non-FFT based resamplers.  For example, when using the `High Quality'
   42 configuration to resample between 44100Hz and 48000Hz, the latency is
   43 around 1000 output samples, i.e. roughly 20ms (though passband and FFT-
   44 size configuration parameters may be used to reduce this figure).
   45 
   46 For build and installation instructions, see the file `INSTALL'; for
   47 copyright and licensing information, see the file `LICENCE'.
   48 
   49 For support and new versions, see https://soxr.sourceforge.net
   50 ________
   51 ¹ For example, multi-channel resampling can utilise multiple CPU-cores.
   52 ² Bit-perfect within practical occupied-bandwidth limits.
   53 ³ For details of that API, see http://www.mega-nerd.com/SRC/api.html.