Commit Graph

413 Commits

Author SHA1 Message Date
Chris Cannam
afd1b1f86c Ensure we consume when called with final=true and no samples - this was the default behaviour in R2 and also initially in R3 but changed when resample-before modes were added 2023-02-20 15:25:27 +00:00
Chris Cannam
0fb8b19ab5 Working on further tests 2023-02-20 09:53:20 +00:00
Chris Cannam
b317d0e81a Fix handling of final block in speex resampler - there is no guarantee a single pad call will return enough data on its own either 2023-01-17 12:34:50 +00:00
Chris Cannam
cc3e265b26 Update copyright dates 2023-01-10 11:10:06 +00:00
Chris Cannam
549906e033 Remove the last occurrences of "using namespace std" 2023-01-10 11:04:50 +00:00
Chris Cannam
c871f92b2e Merge 2022-11-16 10:13:20 +00:00
Chris Cannam
3960bca0ab Make this exception optional on NO_EXCEPTIONS, as the others are (required for Android) 2022-11-16 10:12:41 +00:00
Chris Cannam
50eb332ec8 Fixes suitable for mingw32 builds 2022-11-08 08:32:05 +00:00
Chris Cannam
52fc576500 Remove obsolete file 2022-09-30 10:36:35 +01:00
Chris Cannam
1bd266cdb6 Defend against NaN/Inf and negative ratios 2022-09-30 10:36:29 +01:00
Chris Cannam
50b231ee23 Merge 2022-09-29 16:26:46 +01:00
Chris Cannam
11d5deff62 Reverting these tweaked values to their 3.0 state - this change wasn't an obvious improvement and just meant that the output no longer matched the last round of listening tests, so revert it 2022-09-29 15:57:11 +01:00
Chris Cannam
f194becadf Use number of actually-populated bands, not total number 2022-09-29 15:45:47 +01:00
Chris Cannam
de56cd114a Update the resampler logic to follow that of R2 more - ignore the pitch hq/hs setting in offline mode entirely. The alternative is too tricky to handle elegantly in the command line tool, which I think means too complicated 2022-09-29 11:19:21 +01:00
Chris Cannam
1dc6abdb96 Remove libresample support. It hasn't been exercised in years and nobody should be using it in preference to the other options 2022-09-27 08:47:33 +01:00
Chris Cannam
9e423cdd8c Handle non-ideal sample rates in R3; document sample rate parameter 2022-09-26 16:02:13 +01:00
Chris Cannam
57d59b4c7a Eliminate the mlock logic entirely. It's caused a couple of issues lately and it turns out it wasn't even used! 2022-09-26 10:11:16 +01:00
Chris Cannam
020702e7ea Fix include path. Very poor that this wasn't exercised by my build or CI runs 2022-09-26 09:37:55 +01:00
Chris Cannam
56058cc288 Fix plainly dumb error 2022-09-20 10:27:16 +01:00
Chris Cannam
a5e2bfa444 Fix some (benign) shadowing warnings 2022-09-20 09:30:48 +01:00
Chris Cannam
e90f377600 Don't use drand48, it doesn't always exist and since we don't care about the quality of output, it's not worth testing for 2022-09-20 09:30:34 +01:00
Chris Cannam
2eb9a20052 There's no longer any good reason to do this; remove it 2022-09-09 11:22:53 +01:00
Chris Cannam
92362bdba0 Resample in chunks as well, to avoid overrunning resample buffer 2022-09-02 15:08:29 +01:00
Chris Cannam
021de9d51c Add resample-before mode 2022-09-02 14:49:34 +01:00
Chris Cannam
deb84a5f78 Update build files 2022-09-02 13:11:15 +01:00
Chris Cannam
8c817265d5 Pick more rational rational values 2022-09-02 12:07:41 +01:00
Chris Cannam
2025c51d64 Use extracted pickNearestRational; ensure the max rational is actually the max for both num and denom 2022-09-02 12:06:45 +01:00
Chris Cannam
a525654d6a Pull out nearest-rational into mathmisc so it can be used in other places than BQResampler 2022-09-02 12:06:11 +01:00
Chris Cannam
ee3091ab75 Merge from branch speexdsp 2022-09-02 11:12:35 +01:00
Chris Cannam
e0a6fc686d Add support for external libspeexdsp 2022-09-02 11:10:44 +01:00
Chris Cannam
4336d47a02 With longer process sizes we can end up with insufficient space in the inbuf, but enough in the outbuf following the previous retrieve call for a consume to be possible before writing to the inbuf 2022-09-01 10:41:25 +01:00
Chris Cannam
20d22f76d6 Don't pass debug level through to FFT - it doesn't respect the log target 2022-08-30 18:55:33 +01:00
Chris Cannam
53eca719fb Apply gradual phase-reset on unity in the R2 stretcher (R3 already does this) 2022-08-18 16:41:43 +01:00
Chris Cannam
e58c6018c5 This appears benign and should be slightly quicker 2022-08-18 15:24:24 +01:00
Chris Cannam
c9565266f2 Adjust the limits, with performance in mind - to be auditioned 2022-08-18 14:27:57 +01:00
Chris Cannam
8fee46b704 Add SLEEF FFT support 2022-08-09 15:50:02 +01:00
Chris Cannam
f81598c166 Backed out changeset c03ab2acf74e
No, that worked very badly in practice. Revisit
2022-08-08 17:02:08 +01:00
Chris Cannam
f027a59fa4 I don't like adjusting the rational approximation - it changes (even if only nominally) the effective ratio based on quality. I think this is more appropriate 2022-08-08 16:55:53 +01:00
Chris Cannam
6ecc973d41 Keep a structure with recommended limits for inhop/outhop in current configuration; skip readahead entirely when inhop is greater than a certain limit - allowing us to reduce start delay further in short-window mode 2022-08-05 14:58:12 +01:00
Chris Cannam
4aea160ec3 Indentation only 2022-08-04 16:58:00 +01:00
Chris Cannam
3eae190a85 This is not actually usually a serious problem, unlike the <1 case which can be genuinely troublesome 2022-08-04 16:31:23 +01:00
Chris Cannam
63ebc45107 ... I said, in RatioOftenChanging mode 2022-08-04 13:34:31 +01:00
Chris Cannam
76ee5998f1 Permit rational precision to vary by quality setting in RatioOftenChanging mode 2022-08-04 13:31:33 +01:00
Chris Cannam
7833e1bff1 Avoid kick analysis in single-window mode; comment update 2022-08-04 12:08:15 +01:00
Chris Cannam
5b26e90a58 Fix to windowing offsets 2022-08-04 11:19:13 +01:00
Chris Cannam
fe9e86bc3c Per-channel window source buffer, & connect it up 2022-08-04 10:31:36 +01:00
Chris Cannam
d1386b0a0c Provide a separate window source buffer to simplify single/multi window logic 2022-08-04 10:02:09 +01:00
Chris Cannam
2fa0e1162e Toward properly expressing the window sizes in Guide when in single-window mode, so as to separate the time-domain frame length from the longest FFT within R3Stretcher and allow us to use a shorter time-domain frame. Not working correctly in single-window mode yet. 2022-08-03 14:16:17 +01:00
Chris Cannam
9fff2836c6 Avoid RatioMostlyFixed in RealTime mode, it can lead to unpleasant surprises 2022-08-02 16:22:24 +01:00
Chris Cannam
d211121701 Ah, this was still in use in Scavenger. It can stay for now 2022-07-14 17:49:22 +01:00