cannam@95: cannam@95: Changes in Rubber Band v1.8.1 cannam@95: cannam@95: * Fix a crash in formant-preserving pitch shift for some build targets cannam@95: cannam@95: The API is unchanged and the library is binary compatible with cannam@95: version 1.7. cannam@95: cannam@95: cannam@95: Changes in Rubber Band v1.8 cannam@95: cannam@95: * Add build support for Win32/MSVC, Android, and various libraries cannam@95: * Add Java JNI interface cannam@95: cannam@95: The API is unchanged and the library is binary compatible with cannam@95: version 1.7. cannam@95: cannam@95: cannam@95: Changes in Rubber Band v1.7 cannam@95: cannam@95: * Add the centre-focus option as an alternative processing mode for cannam@95: stereo (using mid-side arrangement) cannam@95: * Several bug fixes cannam@95: cannam@95: The library is binary compatible with version 1.6 for forward cannam@95: compatibility (values have been added to an existing enum). Code cannam@95: written to use 1.7 is not necessarily compatible with 1.6. cannam@95: cannam@95: cannam@95: Changes in Rubber Band v1.6 cannam@95: cannam@95: * Add Smoothing option. This uses a window-presum FFT, introducing cannam@95: time-domain aliasing which is then smoothed using a sinc window. cannam@95: This can be used in combination with any of the existing processing cannam@95: control options. This will soften transients but the result may cannam@95: still be more pleasant for some material that is not very amenable cannam@95: to being time stretched. cannam@95: * Fix silent channel of output when processing with band-limited cannam@95: transients option cannam@95: * Include libresample support cannam@95: cannam@95: The library is binary compatible with version 1.5 for forward cannam@95: compatibility (values have been added to an existing enum). Code cannam@95: written to use 1.6 is not necessarily compatible with 1.5. cannam@95: cannam@95: cannam@95: Changes in Rubber Band v1.5 cannam@95: cannam@95: * Add a more reliable transient detection mode, and make the mode cannam@95: selectable using OptionDetectorXXX flags -- the new method is cannam@95: the default cannam@95: * Band-limit transient detectors to avoid being distracted by cannam@95: inaudible garbage cannam@95: * Add a key-frame mapping facility for variable stretch ratio cannam@95: management during offline stretches cannam@95: cannam@95: The library is binary compatible with version 1.4 for forward cannam@95: compatibility (a function has been added and an enum changed, but no cannam@95: existing entry points have changed). Code written to use 1.5 is not cannam@95: necessarily compatible with 1.4. cannam@95: cannam@95: cannam@95: Changes in Rubber Band v1.4 cannam@95: cannam@95: * Fix a hang when faced with some very peculiar stretch factors cannam@95: * Fix some incorrect threading condition usage cannam@95: * Some code rearrangement cannam@95: * Fix build on Solaris cannam@95: cannam@95: The library is binary compatible with version 1.3. cannam@95: cannam@95: cannam@95: Changes in Rubber Band v1.3 cannam@95: cannam@95: * Fix a bug that may cause incorrect output during the first process cannam@95: block of some audio files, when processing in offline mode cannam@95: * Fix a small number of build issues and more minor bugs cannam@95: cannam@95: The library is binary compatible with version 1.2. cannam@95: cannam@95: cannam@95: Changes in Rubber Band v1.2 cannam@95: cannam@95: * Add an initial "formant preservation" option when pitch shifting cannam@95: * Real-time pitch shifting now uses a faster method by default, with cannam@95: less variation in CPU usage cannam@95: * The code is more amenable to compiler auto-vectorization (through cannam@95: e.g. gcc --ftree-vectorize). cannam@95: