Commit Graph

724 Commits

Author SHA1 Message Date
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
Chris Cannam
af97c70e69 Construct channel data 2022-05-20 16:48:44 +01:00
Chris Cannam
9d646b9708 Introduce phase advance 2022-05-20 15:29:52 +01:00
Chris Cannam
42826e6a76 Obtain Guide configuration 2022-05-19 17:28:38 +01:00
Chris Cannam
cf602218f5 Add Guide 2022-05-19 16:31:21 +01:00
Chris Cannam
5584ccc059 Make comparator configurable (for troughs) 2022-05-19 15:25:33 +01:00
Chris Cannam
e9ad04e2b4 Reorganise into faster (R2) and finer (R3) 2022-05-19 13:34:51 +01:00
Chris Cannam
e9264ae909 Add peak finder 2022-05-19 13:13:47 +01:00
Chris Cannam
4241c0f6a4 Add bin segmenter 2022-05-19 09:16:13 +01:00
Chris Cannam
d6aa3a59c2 Begin some R3 work 2022-05-18 17:51:20 +01:00
Chris Cannam
80473f8735 Remove elastic/loose processing support 2022-05-18 14:12:57 +01:00