Chris Cannam
478d9233fe
Fix calculation of recovery value now that divergence is recalculated afresh on each update
2021-05-14 08:46:37 +01:00
Chris Cannam
d06b4efc16
Toward more accurate timing in the face of varying pitch ratio
2021-05-13 18:04:43 +01:00
Chris Cannam
955a32fc7e
Copyright dates
2021-01-08 17:13:52 +00:00
Chris Cannam
3ddc35f7ae
Resampler code pulled back in from bqresample, with safer api
2020-10-21 15:05:14 +01:00
Chris Cannam
c1108834c1
In this emergency, increase the buffer size by a factor rather than only by a constant amount - because if this arises because of an overlong increment being broken down into littler bits, we would end up doing it again and again, which is much more expensive. This makes a huge performance difference in cases where a time map ends up mapping very little input into a great expanse of output
2020-09-22 10:35:50 +01:00
Chris Cannam
8df9558868
In this emergency, increase the buffer size by a factor rather than only by a constant amount - because if this arises because of an overlong increment being broken down into littler bits, we would end up doing it again and again, which is much more expensive. This makes a huge performance difference in cases where a time map ends up mapping very little input into a great expanse of output
2020-09-22 10:35:50 +01:00
Chris Cannam
d65f5ebe34
Fix potential discontinuity when window size is reduced due to change in ratio
2020-09-21 13:48:45 +01:00
Chris Cannam
4728c79862
Fix potential discontinuity when window size is reduced due to change in ratio
2020-09-21 13:48:45 +01:00
Chris Cannam
e2b62687d6
Rejig includes for alloca in particular - more logic in sysutils, remove from individual files (include sysutils instead), also indent includes in sysutils for a bit more clarity
2020-01-16 11:28:47 +00:00
Chris Cannam
bfb69779af
Dates
2020-01-16 10:20:23 +00:00
Chris Cannam
bbf45fa887
Copyright dates
2018-03-07 13:10:19 +00:00
Chris Cannam
24560ba3ec
Copyright dates
2015-07-09 15:26:08 +01:00
Chris Cannam
6f86b96391
Win32/64 build fixes
2015-06-29 14:50:33 +01:00
Chris Cannam
8bcd90fab0
Copyrights
2014-05-29 18:00:22 +01:00
Chris Cannam
05e14a6a7d
Pull out ms buffer onto the heap (was being used after end of block in which it was allocated on the stack)
2013-05-15 10:55:11 +01:00
Chris Cannam
6aa75133d6
Avoid an alloca. Allocation is borderline acceptable here, this is very much an edge case
2013-05-15 10:36:10 +01:00
Chris Cannam
97fb6da962
Use the appropriate type for this
2013-05-15 10:35:30 +01:00
Chris Cannam
82d1f570da
Enforce no-null-args to FFTs; avoid corresponding potential crash in formant preservation code
2012-10-28 10:23:42 +00:00
Chris Cannam
93c38b50a0
Update to new combined build
2012-09-09 16:57:42 +01:00
Chris Cannam
4ecb1fa6f1
Minor and mostly immaterial bits
2011-12-09 18:18:32 +00:00
Chris Cannam
c26dc1dc88
* Add centre-focus option (mid/side processing)
...
* Simplify RingBuffer and add explicit memory locks
* Fix hang with certain unfortunate combinations of parameters
* Bump version to 1.7
2011-11-25 11:11:59 +00:00
Chris Cannam
c45acda473
* Fix failure to remember that we have constructed an interpolator
...
window already (#25 ). Also avoid using alloca for substantial buffers
* Lose FFT::getFloatTimeBuffer and getDoubleTimeBuffer -- it's too
unclear when it's safe to use them and it's safer to control sizes externally.
In RB with smoothing on, these buffers were incorrectly being used for window-si
zed calculations (larger than FFT-sized).
* Fix some incorrect buffer resize sizes
* Build fixes for OS/X
2011-03-19 12:41:38 +00:00
Chris Cannam
0b8c1bd90b
* Pull across from main repo: Fix silent channel of output when processing with band-limited transients option; include libresample support. Also update copyright dates.
2011-01-07 21:46:36 +00:00
Chris Cannam
99ba629361
* More work on framing, interpolation and scaling for longer window than FFT size.
...
This adds the --smoothing option to the command line tool and SmoothingOn/Off
options to the API, introducing a double-length window with presum FFT and
time-domain smoothing. Behaviour elsewhere _should_ be unchanged.
2010-05-29 22:07:54 +01:00
Chris Cannam
49cf25d724
* Further work on handling distinct analysis and synthesis window and FFT sizes
2010-05-25 21:49:05 +01:00
Chris Cannam
3ed58ba356
* Separate out analysis and synthesis window sizes from FFT size.
...
This is an internal change only, so far -- results should be
unchanged from 1.5.0.
2010-05-16 10:44:38 +01:00
Chris Cannam
87dc720243
Update from main repo.
...
* 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
2010-03-24 09:44:51 +00:00
Chris Cannam
abf577ee9d
* Some code rearrangement
...
* Threading fixes (corrections to condition usage)
* Avoid a potential hang when faced with some peculiar stretch factors
* More modular calls out to vectorizable functions
* Solaris build fixes
* Bump version number
2009-09-17 13:01:21 +00:00
Chris Cannam
00ff759247
* Avoid virtual method hiding warnings
...
* Avoid potential deadlock in thread join when processing has been abandoned
2009-02-26 22:26:02 +00:00
Chris Cannam
c5a293da33
* fix bug in initial state of accumulator; fix compiler warnings
2009-01-28 11:19:00 +00:00
Chris Cannam
0da1cfd87a
* update from personal repo (including some significant fixes)
2008-11-26 22:31:55 +00:00
Chris Cannam
a96c85befc
* Change terminology: peak locking -> lamination (we no longer do peak locking)
...
* Adjustments to lamination code
2008-07-08 16:32:52 +00:00
Chris Cannam
55b9516fff
* minor reversion
2008-07-08 15:41:21 +00:00
Chris Cannam
f0cc46653d
* build fixes
2008-07-08 15:32:52 +00:00
Chris Cannam
057481ea41
* Work around a patent (also producing better results, in many cases)
...
* Add aligned allocation functions in sysutils
2008-07-08 15:00:22 +00:00
Chris Cannam
d6d4af1539
* Add warning if -c option and something conflicting with it are both given
...
* Fixes for mingw32 compile
* Fix a couple of compiler warnings
2008-07-07 18:54:18 +00:00
Chris Cannam
f894f7c66f
* update from personal repo
2008-07-04 19:31:23 +00:00
Chris Cannam
86462dbd9f
* Fix under/overruns in ladspa plugin
2008-07-04 14:19:32 +00:00
Chris Cannam
1e2cae8e2d
* Add library API version to headers
...
* Add phase reset on silence (doesn't appear to make much difference)
* Fix mistake in LRDF file
2008-07-02 21:20:22 +00:00
Chris Cannam
6b277bd8dd
* Add OptionPitchHighConsistency
2008-07-01 20:49:24 +00:00
Chris Cannam
7e7e998ce5
* Avoid using STL map in process()!
...
* Exceptions in resampler
2008-07-01 14:54:31 +00:00
Chris Cannam
c70480bb3c
* Update for newer take on the C wrapper API
...
* Add library versioning and DESTDIR support
2008-07-01 10:25:17 +00:00
Chris Cannam
160143461d
* C API version
2008-06-09 20:46:37 +00:00
Chris Cannam
1d41c952e8
Update from personal repository.
...
* Added 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).
2008-05-22 16:54:27 +00:00
Chris Cannam
52a10829ef
* Fix buffer overrun in process (reported by Jesse Chappell)
2008-01-28 17:27:05 +00:00
Chris Cannam
92b63b086a
* More documentative bits
2007-12-10 22:20:07 +00:00
Chris Cannam
d4ff782668
* Share dblbuf with FFT object to avoid a copy; fix reset(); add spectral
...
difference audio curve; some tidying; add FLOAT_ONLY FFT option
2007-12-10 15:47:06 +00:00
Chris Cannam
b3c4ce045f
* Allow building on Win32 with MinGW
2007-11-28 11:50:47 +00:00
Chris Cannam
ceec06a697
* Named conditions; one data condition per channel
2007-11-26 21:51:05 +00:00
Chris Cannam
d58531e2ca
* Timed waits -- avoid unfortunate worst cases
2007-11-26 21:08:15 +00:00