Olli
17a63e99d5
Fix bug with too small initial skipFract value
...
Fix bug with too small initial skipFract value with certain processing
parameter set: replaces assert with assignment that corrects the
situation.
2021-03-03 18:11:45 +02:00
Olli
6533514372
Improve soundtouch.clear() so that it really clears TDStretch & RateTransposer states
...
Improve soundtouch.clear() so that it really clears all TDStretch &
RateTransposer state variables. Before this clear() left last processed
sample or fractional position state uncleared, which caused slightly
different result if same stream was processed again after clear().
2021-01-30 19:02:08 +02:00
Olli
81b0d74727
Correct initial skip value
...
... so that with nominal tempo the expected best sequence overlapping
location lays in middle of the correlation window. This will ensure that
with output should be similar to input when tempo adjustment is zero.
2021-01-28 21:32:35 +02:00
Olli
f38cfa6850
Call "clear()" after changing anti-alias filter on/off
...
Call "clear()" after changing anti-alias filter on/off to prefill
buffers appropriately.
2021-01-28 20:19:06 +02:00
Olli Parviainen
762f56024b
Updated versions and documents for release 2.2
2020-10-15 18:23:34 +03:00
Olli Parviainen
bf3cec0244
Improvements to help compiler autovectorization
...
Refactored FIRfilter and TDStretch hot-spot routines to help compiler
perform more efficient autovectorization.
Benchmarked:
- 2x/3x improvement in gcc-generated x86 SIMD code execution
times for SSE2/AVX instruction extensions accordingly, when
hand-tuned SSE intrinsics were disabled. Hand-tuned SSE code
still is slightly faster than gcc-produced AVX.
- 2.4x improvement for cumulative ARM NEON tunings when compared to
previous SoundTouch release.
Signed-off-by: Olli Parviainen <oparviai'at'iki.fi>
2020-10-13 20:46:23 +03:00
Olli Parviainen
a911a1e986
Bugfix in integer version of calcCrossCorrAccumulate()
...
Using "unsigned long" for "lnorm" variable that was yet made negative in very first step caused incorrect calculation result. Corrected the type to "long".
Signed-off-by: Olli Parviainen <oparviai@iki.fi>
2020-10-03 16:58:00 +03:00
Olli Parviainen
3e74d1d18f
Fixed characters in source code comments that ought to be ±
2020-07-08 19:13:30 +03:00
Olli Parviainen
f382149086
Compensate initial buffering of anti-alias filter and intepolator.
...
This avoids losing first few dozen of samples from beginning of the stream.
Signed-off-by: Olli Parviainen <oparviai at iki.fi>
2020-06-30 14:16:03 +03:00
Olli Parviainen
3d7bf376fd
Tuning for ARM NEON
...
Tuning to enable ARM NEON SIMD performance improvements:
- NEON detection in configure file
- Remove manual loop unrolling, gcc autovectorization does better job
without manually unrolled loops.
- Avoid unaligned pointer accesses when using NEON
2020-06-21 20:38:00 +03:00
Rémi Verschelde
fe15975a21
BPMDetect: Make conversion from size_t to int explicit
...
Fixes warning C4267 on MSVC.
This assumes that `beats.size()` should never overflow `int` - if that
could happen, the API should likely be changed to handle it gracefully.
2020-04-28 10:48:47 +02:00
Olli Parviainen
a046b6971d
Windows build: Retargeted to Visual Studio 2019 and Windows 10. Removed obsolete /Gm build option.
...
Signed-off-by: Olli Parviainen <oparviai at iki.fi>
2020-02-02 18:58:46 +02:00
Olli Parviainen
244fbeac24
BPM PeakFinder: Fix possible reading past end of array.
...
Increase minor version accordingly.
2019-01-07 18:55:36 +02:00
Olli Parviainen
2b2585bc74
Enable using multiple CPUs in Visual Studio build for faster build
2018-12-04 21:11:17 +02:00
Olli
eef1220d72
BPMDetect: Change correlation loop 'sum' variable type from double to float, because double causes big performance penalty for autovectorized code.
2018-12-02 22:33:55 +02:00
olli
9205fc971e
Bump version to 2.1.2 to correct incorrect version info in configure.ac
2018-12-02 10:43:00 +02:00
Olli
b9659b64c6
Updated readme & version info to 2.1.1
2018-11-14 19:25:34 +02:00
Olli
7f594f8b7d
New take on CVE-2018-17097 i.e. avoiding writing beyond end of buffer in case of 24-bit samples
2018-10-31 18:36:05 +02:00
Olli
41a2cd3e6b
Merge branch 'master' of gitlab.com:soundtouch/soundtouch
2018-10-28 16:05:26 +02:00
Olli
09e04252dd
Fix CVE-2018-17097 by rounding working buffer size up to nearest 4-byte boundary. Replaced also tab characters with spaces in indentation.
2018-10-28 16:04:15 +02:00
Olli
59129fa33d
Eliminate assert condition by reading # sample elements that are multiple of num-of-channels
2018-10-28 15:49:50 +02:00
Olli
a1c400eb2c
Fix issue CVE-2018-17096: Replace assert with runtime exception
2018-10-28 15:32:58 +02:00
ggfan
bdbe1bf551
Adding gradle build for Android example
2018-09-20 07:35:02 -07:00
Olli
1e9c3bce2d
Bump version to 2.1
2018-09-08 18:52:10 +03:00
olli
46531e5b92
Improved WavFile header/fact not-too-small check
2018-08-13 19:42:58 +03:00
oparviainen
e024068905
Fixed WavFile header/fact not-too-small check
2018-08-13 19:16:16 +03:00
oparviainen
c38f0506da
Removed commented code, style cleanup
2018-08-12 20:51:24 +03:00
oparviainen
cca9271e98
Merge branch 'master' of https://gitlab.com/soundtouch/soundtouch
2018-08-12 20:25:12 +03:00
oparviainen
9e02d9b04f
Added minimum size check for WAV header block lengh values
2018-08-12 20:24:37 +03:00
oparviainen
107f2c5d20
Replaced illegal-number-of-channel assertions with run-time exception
2018-08-12 20:00:56 +03:00
Olli
4b6060adfe
Merge branch 'update-vs-extra-dist' into 'master'
...
Update Visual Studio files on EXTRA_DIST
See merge request soundtouch/soundtouch!3
2018-08-08 17:58:56 +00:00
Olli
1f7f681f9d
Merge branch 'add-interpolate-h-to-noinst-headers' into 'master'
...
Add Interpolate*.h to noinst_HEADERS
See merge request soundtouch/soundtouch!4
2018-08-08 17:57:50 +00:00
Olli
81cf74cf4c
Merge branch 'misc-typos' into 'master'
...
MIsc. source comment typos
See merge request soundtouch/soundtouch!5
2018-08-08 17:55:28 +00:00
oparviainen
f71db0d2c3
Added <cfloat> header file, resolved compiler warnings
2018-08-08 19:53:14 +03:00
luz.paz
0093b63141
MIsc. source comment typos
...
Found via `codespell -q 3`
2018-07-27 12:26:56 -04:00
Isamu Mogi
6ee56b1c17
Add Interpolate*.h to noinst_HEADERS
...
This fixes following error on `make distcheck`
```
Making all in SoundTouch
CXX AAFilter.lo
CXX FIRFilter.lo
CXX FIFOSampleBuffer.lo
CXX RateTransposer.lo
../../../../source/SoundTouch/RateTransposer.cpp:39:10: fatal error: 'InterpolateLinear.h' file not found
^~~~~~~~~~~~~~~~~~~~~
1 error generated.
```
2018-06-02 15:55:07 +09:00
Isamu Mogi
6b6c36d3e1
Update Visual Studio files on EXTRA_DIST
...
This fixes following error on `make dist`:
```
make[6]: *** No rule to make target `SoundTouch.dsp', needed by `distdir-am'. Stop.
```
2018-06-02 15:53:05 +09:00
Olli
007481d711
BPM algorithm work - improved beat analysis routine and added individual beat detection
2018-05-16 18:58:19 +03:00
Olli
47f74e83ef
Merged typo correction patch
2018-05-12 18:40:56 +03:00
Olli
c4154b063f
Corrected typos in source code comments
2018-05-12 18:39:43 +03:00
Olli
3f2ad229bb
Migrated MS Visual Studio build scripts to VS2015
2018-05-10 23:54:07 +03:00
Olli
3feea728d5
Minor updates. Removed obsoleted files.
2018-05-10 21:57:49 +03:00
Olli
e765f8146f
Removed Subversion $Id$, $Date$ etc autoupdate tags
2018-05-10 21:51:49 +03:00
oparviai
30b017d112
SoundTouchDLL: adapt gcc compilation settings for x86/x64/arm platforms
2017-11-30 18:07:41 +00:00
oparviai
20e4bf0b04
Added BPM functions to Pascal interface of SoundTouch DLL
2017-11-26 09:10:41 +00:00
oparviai
ec9ba968f5
Added BPMDetect functions to SoundTouchDll API
2017-11-10 16:38:36 +00:00
oparviai
407f516e0d
GNU compilation of SoundTouchDll that has easy function importing interfaces for java, mono etc
2017-11-03 20:08:10 +00:00
oparviai
05a3403137
Refactored C# interface & example
2017-10-30 16:53:17 +00:00
oparviai
80281c8e1b
Disable anti-alias filter if SOUNDTOUCH_PREVENT_CLICK_AT_RATE_CROSSOVER is defined
2017-09-07 17:04:02 +00:00
oparviai
5f8720dae6
Added & to catch() clause to handle exception as reference
2017-08-29 16:10:45 +00:00