forked from breakfastquay/rubberband
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathCHANGELOG
156 lines (109 loc) · 5.34 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
Changes in Rubber Band v1.9.2
* Introduce a built-in FFT option to be a good default when no
requirements point to a particular external library preference
* Fix potential crash following some reconfigure options. Thanks
to Michael Tyson for reporting this
* Ensure Accelerate is listed in generated pkg-config if required
* Check for existence of sincos in configuration
* Fix host identification when cross-compiling
The API is unchanged and the library is binary compatible with
version 1.7.
Changes in Rubber Band v1.9.1
* Switch build system from Makefiles and Visual Studio project to
Meson/Ninja for all platforms. There are still Makefiles and VS
projects included in otherbuilds/ for those who wish to use them to
build the static library directly
* Make various fixes to improve sound quality when pitch-shifting
dynamically in real-time (requires libsamplerate)
* Fix floating-point exception when a very very long stretch factor
is presented
* Move the two directories that together provide the .NET interface
(rubberband-sharp and rubberband-dll) into their own subdir (dotnet)
* Ensure the library builds and runs correctly on ARM Mac (Apple
Silicon, M1), and also on Windows using the Visual C++ Clang
front-end
The API is unchanged and the library is binary compatible with
version 1.7.
Changes in Rubber Band v1.9
* Fix incorrect numbering of pitch speed/quality flags in the
auxiliary C wrapper header. The effect of this was that code using
the C wrapper that intended to select the higher-quality
pitch-shift mode was actually choosing the higher-speed mode, and
vice versa. (The third mode - high-consistency, commonly used in
real-time applications - was correct.) Thanks to Michael Bradshaw
for reporting this.
* Add a .NET interface, generously contributed by Jonathan Gilbert
under a BSD-like licence
* Improve error handling in command-line utility
* Fix failure to build with FFTW_SINGLE_ONLY defined
* Fix some compiler warnings
* Install the JNI target (with make install) only if it has actually
been built, avoiding an error otherwise
The API is unchanged except for the fix noted above, as a result of
which the minor version number has been increased. The library is
binary compatible with version 1.7.
Changes in Rubber Band v1.8.2
* Fix a number of small memory leaks
* Make stretcher more robust to being fed invalid input (with NaNs)
* Include iOS build file
* Various platform build fixes and improvements
The API is unchanged and the library is binary compatible with
version 1.7.
Changes in Rubber Band v1.8.1
* Fix a crash in formant-preserving pitch shift for some build targets
The API is unchanged and the library is binary compatible with
version 1.7.
Changes in Rubber Band v1.8
* Add build support for Win32/MSVC, Android, and various libraries
* Add Java JNI interface
The API is unchanged and the library is binary compatible with
version 1.7.
Changes in Rubber Band v1.7
* Add the centre-focus option as an alternative processing mode for
stereo (using mid-side arrangement)
* Several bug fixes
The library is binary compatible with version 1.6 for forward
compatibility (values have been added to an existing enum). Code
written to use 1.7 is not necessarily compatible with 1.6.
Changes in Rubber Band v1.6
* Add Smoothing option. This uses a window-presum FFT, introducing
time-domain aliasing which is then smoothed using a sinc window.
This can be used in combination with any of the existing processing
control options. This will soften transients but the result may
still be more pleasant for some material that is not very amenable
to being time stretched.
* Fix silent channel of output when processing with band-limited
transients option
* Include libresample support
The library is binary compatible with version 1.5 for forward
compatibility (values have been added to an existing enum). Code
written to use 1.6 is not necessarily compatible with 1.5.
Changes in Rubber Band v1.5
* Add a more reliable transient detection mode, and make the mode
selectable using OptionDetectorXXX flags -- the new method is
the default
* Band-limit transient detectors to avoid being distracted by
inaudible garbage
* Add a key-frame mapping facility for variable stretch ratio
management during offline stretches
The library is binary compatible with version 1.4 for forward
compatibility (a function has been added and an enum changed, but no
existing entry points have changed). Code written to use 1.5 is not
necessarily compatible with 1.4.
Changes in Rubber Band v1.4
* Fix a hang when faced with some very peculiar stretch factors
* Fix some incorrect threading condition usage
* Some code rearrangement
* Fix build on Solaris
The library is binary compatible with version 1.3.
Changes in Rubber Band v1.3
* Fix a bug that may cause incorrect output during the first process
block of some audio files, when processing in offline mode
* Fix a small number of build issues and more minor bugs
The library is binary compatible with version 1.2.
Changes in Rubber Band v1.2
* Add an initial "formant preservation" option when pitch shifting
* Real-time pitch shifting now uses a faster method by default, with
less variation in CPU usage
* The code is more amenable to compiler auto-vectorization (through
e.g. gcc --ftree-vectorize).