Commit Graph

738 Commits

Author SHA1 Message Date
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
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