Commit Graph

115 Commits

Author SHA1 Message Date
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
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
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
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
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
Chris Cannam
9ecc601a2c Implement reset 2022-05-27 11:17:20 +01:00
Chris Cannam
580d28afd2 Correct the use of in/out hop vs prev in/out hop 2022-05-27 10:06:31 +01:00
Chris Cannam
08eeb17a98 Merge 2022-05-26 17:46:23 +01:00
Chris Cannam
84cd061e9d Avoid duplicate bin in the different scales 2022-05-26 17:46:13 +01:00
Chris Cannam
2c23d52c94 Clarify 2022-05-26 17:42:45 +01:00
Chris Cannam
dd8d328ffb Merge 2022-05-26 15:09:40 +01:00
Chris Cannam
83f2b7607b An attempt to do the right thing when the hop changes - but this is not enough 2022-05-26 15:08:07 +01:00
Chris Cannam
fa004562f7 Tidy, and format comments 2022-05-25 16:25:03 +01:00
Chris Cannam
4c878340df This is a little faster, and I can't tell the difference at first listen, nor think of a good reason why it should be worse. To be tested. 2022-05-25 16:24:51 +01:00
Chris Cannam
a04b6adb10 Niemitalo window 2022-05-25 14:43:05 +01:00
Chris Cannam
630a790ef8 Use atomics for inhop and ratio, and read inhop once at start of consume in case it changes within 2022-05-25 14:10:41 +01:00
Chris Cannam
7d91fdb1b6 Logging to cerr from a potentially RT context is bad even as a gross default just because it's so slow. I know we do it from R2 but I don't like it 2022-05-25 13:54:11 +01:00
Chris Cannam
eb017476ca Avoid resetting m_prevOuthop on every set-ratio call (client may call this very repeatedly) 2022-05-25 13:51:23 +01:00
Chris Cannam
54515122b2 Implement resampling 2022-05-25 13:47:40 +01:00
Chris Cannam
f5b381e086 Pull out per-channel analysis and resynthesis functions 2022-05-25 11:26:16 +01:00
Chris Cannam
47476b9088 Tidy 2022-05-25 11:16:06 +01:00
Chris Cannam
973a334f75 Add readahead for segmenters 2022-05-25 11:14:19 +01:00
Chris Cannam
680393c5c6 Comments 2022-05-25 09:43:08 +01:00
Chris Cannam
eb79336e93 Introduce a resampler (not used yet) 2022-05-24 17:49:50 +01:00
Chris Cannam
9ed4be5144 Fix some non-realtime-safe operations reported by Stoat 2022-05-24 17:35:23 +01:00