Commit Graph

58 Commits

Author SHA1 Message Date
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
Chris Cannam
48d640f696 * fix a threading issue 2007-11-26 11:00:47 +00:00
Chris Cannam
fe9dc561ef * Fix outbuf size issues, and other misc troubles 2007-11-21 21:48:16 +00:00