Commit Graph

46 Commits

Author SHA1 Message Date
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
Chris Cannam
d2fe49c20c * Sort out resynthesis gain; add crispness parameter to pitch shifter plugin 2007-11-21 19:57:49 +00:00
Chris Cannam
7c4fcd85da * Improvements to offline phase reset point detection
* Better support for higher sample rates
* Save and restore FFTW wisdom (needs work still)
* More tidying, options and argument overhauls
2007-11-20 20:17:13 +00:00
Chris Cannam
e9cb6dbc37 * More rationalisation -- lock becomes phase reset in most cases
* Update Vamp plugin parameters and outputs
2007-11-19 20:13:39 +00:00
Chris Cannam
f327e0c415 * Rationalise naming: block -> window or chunk 2007-11-18 21:38:18 +00:00
Chris Cannam
35dc16b611 * Various tweaks to improve performance at large ratios 2007-11-16 22:22:01 +00:00
Chris Cannam
94f85c2db4 * bandlimited transient reset -- needs testing & refinement 2007-11-09 13:19:29 +00:00
Chris Cannam
1d7dbbdb05 ... 2007-11-08 15:02:47 +00:00
Chris Cannam
597c96a200 * Initial import 2007-11-06 21:41:16 +00:00