Commit Graph

58 Commits

Author SHA1 Message Date
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
a5e2bfa444 Fix some (benign) shadowing warnings 2022-09-20 09:30:48 +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
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
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
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
d211121701 Ah, this was still in use in Scavenger. It can stay for now 2022-07-14 17:49:22 +01:00
Chris Cannam
dc74c993cf Add profile points; switch to microseconds 2022-07-14 10:02:39 +01:00
Chris Cannam
7179c2626c Update Profiler to use std::chrono 2022-07-14 09:42:10 +01:00
Chris Cannam
75c1bdc015 Fix speex build 2022-06-30 14:00:14 +01:00
Chris Cannam
9845e4bb38 Make this a default implementation of Logger rather than a special case in Log 2022-06-23 09:52:23 +01:00
Chris Cannam
5137b19407 Wire up Log throughout 2022-06-22 11:33:36 +01:00
Chris Cannam
e8b63bd10d These can just be overloads for log, which at least avoids us using log2 as a method name here 2022-06-22 09:10:02 +01:00
Chris Cannam
7434abe664 More on logging 2022-06-21 17:03:24 +01:00
Chris Cannam
35653f3a86 Start reworking log output 2022-06-21 16:06:16 +01:00
Chris Cannam
e546767a6d Rename/rejig so as to have just a single Impl and then R2 and R3 stretcher classes 2022-06-21 10:25:08 +01:00
Chris Cannam
326f9b721d Add RTENTRY macro for STOAT testing 2022-06-15 17:22:32 +01:00
Chris Cannam
bbb5db3087 Windows dedicated build updates 2022-06-14 17:03:33 +01:00
Chris Cannam
2c57d0ee30 Fix compiler warnings 2022-06-14 16:52:09 +01:00
Chris Cannam
b160475b07 Fix some compiler warnings 2022-06-14 15:15:55 +01:00
Chris Cannam
9dbf53026a Fix failure to calculate offline stretch correctly when a zero-chunk region is found; provide alternate projection calculation method for R3 without stop-the-world phase resets 2022-06-13 17:16:03 +01:00
Chris Cannam
182e2b0e3b Put binForFrequency/frequencyForBin in a common place 2022-06-13 10:08:05 +01:00
Chris Cannam
c50397128a Fix failure to reset m_fill on reset 2022-06-10 17:07:23 +01:00
Chris Cannam
63bcfb0e22 Tidy up 2022-06-10 16:44:04 +01:00
Chris Cannam
5dcc499cf9 Now update MovingMedian behaviour to match bsq code (i.e. make it "more" correct) 2022-06-10 16:39:32 +01:00
Chris Cannam
0bfa94a76a Restore MovingMedian to the simpler single filter and provide ..Stack separately. Seems little point in coalescing memory there, now we have separate ring buffers anyway 2022-06-10 13:09:48 +01:00
Chris Cannam
6723ca3636 Use SingleThreadRingBuffer for MovingMedian 2022-06-10 12:57:08 +01:00
Chris Cannam
6940ad29d8 Introduce a histogram filter for filtering discrete values 2022-06-10 12:35:15 +01:00
Chris Cannam
75b1c9abb5 Fixes to MovingMedian edge-cases and related tests 2022-06-08 11:39:16 +01:00
Chris Cannam
0b8b0742c1 A few signal-bits tests 2022-06-08 10:35:51 +01:00
Chris Cannam
0bc0d7deb0 Avoid compiler warning 2022-06-07 11:12:39 +01:00
Chris Cannam
1bfd02c6f3 Simplify by using MovingMedianStack to implement MovingMedian 2022-06-07 10:06:30 +01:00
Chris Cannam
0cd622d0da Create a MovingMedianStack to contain a stack of filters with contiguous addressing - does not appear to be notably beneficial, though I quite like the api 2022-06-07 09:50:33 +01:00
Chris Cannam
a564a7c812 Minor tidy 2022-06-07 09:06:37 +01:00
Chris Cannam
459be9fbad Tiny simplification 2022-06-07 09:02:00 +01:00
Chris Cannam
b8c7289c45 Further small improvement to moving median 2022-06-07 08:53:42 +01:00
Chris Cannam
d7163b36f6 Quicker moving median (max one call to lower_bound, we're copying the elements between the two values anyway so we might as well compare against them too) - this checks out 2022-06-07 08:50:25 +01:00
Chris Cannam
7519ef47cc Toward minimising MovingMedian a bit 2022-06-06 21:53:54 +01:00
Chris Cannam
c3309f56c1 Remove debug output 2022-05-25 14:43:31 +01:00
Chris Cannam
a04b6adb10 Niemitalo window 2022-05-25 14:43:05 +01:00