Commit Graph

768 Commits

Author SHA1 Message Date
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
10e2c13551 Tidy 2022-06-09 17:25:23 +01:00
Chris Cannam
78b491fb4c Perform phase resets when squashing as well as stretching 2022-06-09 17:23:26 +01:00
Chris Cannam
2298b67869 Avoid recalculating window scale factor every time 2022-06-09 16:39:30 +01:00
Chris Cannam
bc764c62ea Restrict range a little more 2022-06-09 16:25:11 +01:00
Chris Cannam
14394141b0 Comment out debug 2022-06-09 16:00:27 +01:00
Chris Cannam
a7353d7161 Tidy 2022-06-09 15:39:06 +01:00
Chris Cannam
4a9574b7ee Backed out changeset b1275ea1b6c8
This makes very little perceptible difference, possibly for the worse, and it is more complicated
2022-06-09 15:26:16 +01:00
Chris Cannam
41e726b510 Remove debug out 2022-06-09 15:07:47 +01:00
Chris Cannam
4457247749 Synchronise frequency channel cutoffs across channels. Not the most elegant way to do this I think 2022-06-09 14:56:20 +01:00
Chris Cannam
ab284f0047 Rather than using trough picker, make the division frequencies drift downhill 2022-06-09 14:29:51 +01:00
Chris Cannam
70a7b6d688 Some (temporary) debug etc 2022-06-09 14:16:49 +01:00
Chris Cannam
022bb6d40c Fix segmentation logic 2022-06-09 14:16:40 +01:00
Chris Cannam
6257457320 Small correction to Peak; expand and fix tests 2022-06-09 09:03:20 +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
95a1d6df25 Start to bring in unit tests 2022-06-08 09:57:12 +01:00
Chris Cannam
36f993b9a6 Reduce p level for trough picker. The behaviour here is not what I'd hoped 2022-06-07 14:13:24 +01:00
Chris Cannam
07b339df13 Try a peak p-factor of 1 for the previous peaks 2022-06-07 12:12:06 +01:00
Chris Cannam
b8b650cd5c Show fps as int (avoiding scientific notation) 2022-06-07 11:19:29 +01:00
Chris Cannam
0bc0d7deb0 Avoid compiler warning 2022-06-07 11:12:39 +01:00
Chris Cannam
8ed709d274 Don't run median filters for higher frequencies than we're going to use anyway 2022-06-07 11:05:50 +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
c31839ef93 Use fixed (faster) resampler settings in offline mode 2022-06-07 09:06:52 +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
ef2d39b3af Or is this the right thing? I'm having trouble deciding 2022-06-06 17:50:22 +01:00
Chris Cannam
48174ded20 Ensure we have full magnitude range available in classify scale even when ratio has changed and the readahead isn't valid - necessary to avoid noise on ratio change when formant shifting 2022-06-06 17:44:22 +01:00
Chris Cannam
6ef77ef7aa Tidy 2022-06-06 17:10:12 +01:00
Chris Cannam
100a7c0ba6 Go back to running formants only within the necessary range 2022-06-06 17:06:52 +01:00
Chris Cannam
4fb7b0ad47 And per-channel formants 2022-06-06 16:51:02 +01:00
Chris Cannam
ec7a2b1b51 Experiment with formant shifting before the peaks/phase work 2022-06-06 16:37:44 +01:00
Chris Cannam
9a7a977fa0 Tidy 2022-06-06 14:49:01 +01:00
Chris Cannam
c728a650e9 Remove unused array 2022-06-06 14:17:17 +01:00
Chris Cannam
0ceca73636 Settle on these values for the moment 2022-06-06 14:00:09 +01:00
Chris Cannam
f8abd07438 Tidy, and try without a high formant limit 2022-06-06 13:09:29 +01:00
Chris Cannam
baab6ae66e Further formant experiments 2022-06-06 12:08:52 +01:00
Chris Cannam
c33582a8c4 Fix failure to initialise options 2022-06-05 18:50:52 +01:00
Chris Cannam
2673983220 I think this check was only necessary because of our wrong handling of pitch scale 2022-05-27 15:29:28 +01:00
Chris Cannam
ce64122ffe Wire up formant option; some tidying 2022-05-27 15:16:10 +01:00
Chris Cannam
7febc09dbc Fix accidental time stretch coming along with pitch shift 2022-05-27 15:03:40 +01:00
Chris Cannam
f13d96a474 First cut at formant preservation 2022-05-27 14:58:42 +01:00
Chris Cannam
4d4bc7b4c3 Short-circuit slightly (in output, not so much in efficiency) when ratio is 1 2022-05-27 11:45:28 +01:00