Commit Graph

734 Commits

Author SHA1 Message Date
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
a278acc5d2 Print note, and use finer mode 2022-05-26 17:42:53 +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
b07f74e5b9 Add faster/finer option 2022-05-26 15:07:43 +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
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
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
Chris Cannam
a9a0b4851a Fix single-file build 2022-05-24 17:35:14 +01:00
Chris Cannam
d45831fcc5 Add the overlooked fftshift (that explains it!); carry out polar/cartesian conversion only for bins of interest 2022-05-24 16:54:05 +01:00
Chris Cannam
c4a78b4b55 Use doubles throughout (simpler, faster) 2022-05-24 15:39:28 +01:00
Chris Cannam
49ac04ceab Some work on phase updates 2022-05-24 15:21:13 +01:00
Chris Cannam
2b401e5cbe Overlap/add fixes. Some phase problems still here 2022-05-24 12:00:54 +01:00
Chris Cannam
cd0ee3e4f6 Tidy, and avoid warnings from over-reading from ring buffer 2022-05-23 20:55:56 +01:00
Chris Cannam
89c8683aaf Calculate actual ratios and hops 2022-05-23 17:59:40 +01:00
Chris Cannam
9d82d58c36 Scaling fixes 2022-05-23 17:36:26 +01:00
Chris Cannam
fb9edfb20d Fix the consume logic so that it actually completes (though wrongly still, at this point) 2022-05-23 16:45:41 +01:00
Chris Cannam
5cc4833820 Flesh out the implementation a bit 2022-05-23 15:04:34 +01:00