Update docs for library support
This commit is contained in:
67
COMPILING.md
67
COMPILING.md
@@ -239,66 +239,67 @@ resampler or libsamplerate.
|
|||||||
|
|
||||||
### FFT libraries supported
|
### FFT libraries supported
|
||||||
|
|
||||||
|
The choice of FFT library makes no difference to output quality, only
|
||||||
|
to CPU usage.
|
||||||
|
|
||||||
```
|
```
|
||||||
Library Build option CPP define Notes
|
Library Build option CPP define Notes
|
||||||
---- ------------ ---------- -----
|
---- ------------ ---------- -----
|
||||||
|
|
||||||
Built-in -Dfft=builtin -DUSE_BUILTIN_FFT
|
Built-in -Dfft=builtin -DUSE_BUILTIN_FFT Default except on macOS/iOS.
|
||||||
Default except on macOS/iOS.
|
|
||||||
Can be distributed with either
|
|
||||||
the Rubber Band GPL or
|
|
||||||
commercial licence.
|
|
||||||
|
|
||||||
Accelerate -Dfft=vdsp -DHAVE_VDSP Default on macOS/iOS.
|
Accelerate -Dfft=vdsp -DHAVE_VDSP Default on macOS/iOS.
|
||||||
Best option on these platforms.
|
Best option on these platforms.
|
||||||
|
|
||||||
FFTW3 -Dfft=fftw -DHAVE_FFTW3 GPL.
|
FFTW3 -Dfft=fftw -DHAVE_FFTW3 A bit faster than built-in,
|
||||||
A bit faster than built-in,
|
|
||||||
a bit slower than Accelerate.
|
a bit slower than Accelerate.
|
||||||
|
GPL licence.
|
||||||
|
|
||||||
SLEEF -Dfft=sleef -DHAVE_SLEEF Usually very fast. Not as widely
|
SLEEF -Dfft=sleef -DHAVE_SLEEF Usually very fast. Not as widely
|
||||||
distributed as FFTW3. Requires
|
distributed as FFTW3. Requires
|
||||||
both libsleef and libsleefdft.
|
both libsleef and libsleefdft.
|
||||||
Can be distributed with either
|
BSD-ish licence.
|
||||||
the Rubber Band GPL or
|
|
||||||
commercial licence.
|
|
||||||
|
|
||||||
KissFFT -Dfft=kissfft -DHAVE_KISSFFT
|
KissFFT -Dfft=kissfft -DHAVE_KISSFFT Single precision.
|
||||||
Single precision.
|
Only advisable when using
|
||||||
Only indicated for use with
|
|
||||||
single-precision sample type
|
single-precision sample type
|
||||||
(see below).
|
(see below).
|
||||||
Bundled, can be distributed with
|
BSD-ish licence.
|
||||||
either the Rubber Band GPL or
|
|
||||||
commercial licence.
|
|
||||||
|
|
||||||
Intel IPP -Dfft=ipp -DHAVE_IPP Proprietary, can only be used with
|
Intel IPP -Dfft=ipp -DHAVE_IPP Very fast on Intel hardware.
|
||||||
|
Proprietary, can only be used with
|
||||||
Rubber Band commercial licence.
|
Rubber Band commercial licence.
|
||||||
```
|
```
|
||||||
|
|
||||||
### Resampler libraries supported
|
### Resampler libraries supported
|
||||||
|
|
||||||
|
The choice of resampler affects both output quality, when
|
||||||
|
pitch-shifting, and CPU usage.
|
||||||
|
|
||||||
```
|
```
|
||||||
Library Build option CPP define Notes
|
Library Build option CPP define Notes
|
||||||
---- ------------ ---------- -----
|
------- ------------ ---------- -----
|
||||||
|
|
||||||
Built-in -Dfft=builtin -DUSE_BQRESAMPLER
|
Built-in -Dfft=builtin -DUSE_BQRESAMPLER Default.
|
||||||
Default.
|
Intended to give high quality
|
||||||
Can be distributed with either
|
for time-varying pitch shifts
|
||||||
the Rubber Band GPL or
|
in real-time mode.
|
||||||
commercial licence. Intended to
|
Not the fastest option.
|
||||||
give best quality for time-varying
|
|
||||||
pitch shifts in real-time mode.
|
|
||||||
Newer than, and not as well-tested
|
|
||||||
as, libsamplerate.
|
|
||||||
|
|
||||||
libsamplerate -DHAVE_LIBSAMPLERATE
|
libsamplerate -Dresampler=libsamplerate -DHAVE_LIBSAMPLERATE Good choice in most cases.
|
||||||
-Dresampler=libsamplerate Good choice in most cases.
|
High quality and usually a bit
|
||||||
|
faster than the built-in option.
|
||||||
|
BSD-ish licence.
|
||||||
|
|
||||||
Speex -DUSE_SPEEX
|
libspeexdsp -Dresampler=libspeexdsp -DHAVE_LIBSPEEXDSP Very fast.
|
||||||
-Dresampler=speex Can be distributed with
|
May not be artifact-free for
|
||||||
either the Rubber Band GPL or
|
time-varying pitch shifts.
|
||||||
commercial licence.
|
BSD-ish licence.
|
||||||
|
|
||||||
|
Bundled Speex -Dresampler=speex -DUSE_SPEEX Older Speex code, bundled for
|
||||||
|
compatibility with some existing
|
||||||
|
projects.
|
||||||
|
Avoid for new projects.
|
||||||
```
|
```
|
||||||
|
|
||||||
## 8. Other supported #defines
|
## 8. Other supported #defines
|
||||||
|
|||||||
Reference in New Issue
Block a user