Commit Graph

717 Commits

Author SHA1 Message Date
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
Chris Cannam
9379908982 Avoid excessive outhop when pitch shifting a long way 2022-05-27 11:34:35 +01:00