Commit Graph

373 Commits

Author SHA1 Message Date
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
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
Chris Cannam
4cff174166 Avoid a compiler warning 2022-05-04 18:02:55 +01:00
Chris Cannam
55c6ed21f9 Add header for TARGET_OS_* 2022-01-25 13:52:27 +00:00
Chris Cannam
347fc3e00d Ensure we don't overrun the mid-side preprocessing buffer 2022-01-25 13:29:23 +00:00
Chris Cannam
bad529f81e Copyright date 2022-01-04 17:50:15 +00:00
Chris Cannam
b3c920a35e Fix build failure in cross-compile to Win64 2021-10-26 16:45:07 +01:00
Chris Cannam
7be734f75b Fix compiler warnings with VC++ 2021-10-20 13:35:06 +01:00
Chris Cannam
c7af48f474 Add header required for min/max with VC2017 2021-10-20 10:55:16 +01:00
Chris Cannam
674f44dcba Minor tidy 2021-10-14 10:03:37 +01:00
Chris Cannam
e868ff32de Remove some hopefully unnecessary references to global namespace 2021-10-12 16:27:19 +01:00
Chris Cannam
1f8173b619 Further relative paths 2021-10-04 12:29:48 +01:00
Chris Cannam
61f7b5f8e6 Update includes so they don't require include path to be set 2021-10-04 12:21:39 +01:00
Chris Cannam
66354796b8 Pull in multi-channel resampler fix (not directly relevant to RB) 2021-09-30 15:36:21 +01:00
Chris Cannam
c8087b7d43 Merge from default branch 2021-08-23 11:57:56 +01:00
Chris Cannam
ad27ad1b24 Fix failure to pack Nyquist bins correctly in vDSP FFT - though these functions are not actually used by Rubber Band, they're just here for symmetry 2021-07-05 19:28:05 +01:00
Chris Cannam
b199400e8b Fix failure to resize buffer on reconfigure - thanks to Michael Tyson 2021-06-01 08:49:54 +01:00
Chris Cannam
d22cbf3098 Comments 2021-05-14 15:25:54 +01:00
Chris Cannam
27a2980a56 Restore original behaviour of pre-fill/start-skip 2021-05-14 15:10:24 +01:00
Chris Cannam
a218ad42fa Constrain to +/- 2 octaves (+ semitones) as it's less demanding of block size; minor tidying 2021-05-14 14:26:52 +01:00
Chris Cannam
a3aff961e4 Avoid identifying transients when the divergence is particularly high already, so as not to pile on further 2021-05-14 14:24:54 +01:00
Chris Cannam
d9dfc0a84c Start updating LADSPA plugin for proper timing 2021-05-14 11:35:08 +01:00
Chris Cannam
478d9233fe Fix calculation of recovery value now that divergence is recalculated afresh on each update 2021-05-14 08:46:37 +01:00