Commit Graph

31 Commits

Author SHA1 Message Date
Chris Cannam
7833e1bff1 Avoid kick analysis in single-window mode; comment update 2022-08-04 12:08:15 +01:00
Chris Cannam
5b26e90a58 Fix to windowing offsets 2022-08-04 11:19:13 +01:00
Chris Cannam
fe9e86bc3c Per-channel window source buffer, & connect it up 2022-08-04 10:31:36 +01:00
Chris Cannam
d1386b0a0c Provide a separate window source buffer to simplify single/multi window logic 2022-08-04 10:02:09 +01:00
Chris Cannam
2fa0e1162e Toward properly expressing the window sizes in Guide when in single-window mode, so as to separate the time-domain frame length from the longest FFT within R3Stretcher and allow us to use a shorter time-domain frame. Not working correctly in single-window mode yet. 2022-08-03 14:16:17 +01:00
Chris Cannam
9fff2836c6 Avoid RatioMostlyFixed in RealTime mode, it can lead to unpleasant surprises 2022-08-02 16:22:24 +01:00
Chris Cannam
d0cca91e30 Impose a limit here 2022-07-14 13:52:04 +01:00
Chris Cannam
e018458736 Make this fully single-windowed rather than just short-windowed 2022-07-14 13:44:22 +01:00
Chris Cannam
02928a3c86 Experimentally (re-)introduce short window mode 2022-07-14 11:55:21 +01:00
Chris Cannam
dc74c993cf Add profile points; switch to microseconds 2022-07-14 10:02:39 +01:00
Chris Cannam
dca4c96834 Wire up setExpectedInputDuration 2022-07-07 10:54:23 +01:00
Chris Cannam
263e0cbf70 Ensure output accumulator is properly drained at finish. We rely on the calculated output count (in offline mode) to truncate properly. 2022-07-07 10:35:01 +01:00
Chris Cannam
a66d2a5140 Fix consumed counter for key-frame mapping 2022-07-07 09:43:17 +01:00
Chris Cannam
567e8636cd Enable PROCESS_SAMPLE_TYPE for R3 as well, switching from double to process_t throughout 2022-07-06 10:40:10 +01:00
Chris Cannam
6e941fa2d3 Update the OptionPitch* options so that they do the expected thing for the R3 engine as well - this speeds up realtime mode when not dynamically pitch-shifting 2022-07-06 10:22:50 +01:00
Chris Cannam
72654b04ea Introduce getPreferredStartPad(), deprecate getLatency() and replace with getStartDelay(); document and test both 2022-07-05 17:53:36 +01:00
Chris Cannam
687e3958a7 Connect up the ChannelsTogether option in R3 as well, to extend the channel lock range upward 2022-07-04 10:52:50 +01:00
Chris Cannam
54b10f155c Padding and key-frame fixes 2022-06-29 16:51:18 +01:00
Chris Cannam
56c60d2420 Fix target duration in offline mode 2022-06-29 14:44:21 +01:00
Chris Cannam
2940bde16f Since we're adding more padding than a half-frame, we have to remove a scaled proportion of it 2022-06-27 16:37:52 +01:00
Chris Cannam
5e726e79aa Toward further tests 2022-06-24 18:05:32 +01:00
Chris Cannam
b9e6ebb6e3 Implement setMaxProcessSize in R3 2022-06-24 14:01:11 +01:00
Chris Cannam
9c04885d27 Read correct sample count out from mixdown buffer, when draining and having read less than one outhop at input 2022-06-24 13:25:36 +01:00
Chris Cannam
2478d54c05 We actually need to fill with the whole size (matching our reported latency) 2022-06-24 11:51:25 +01:00
Chris Cannam
d65755427f In offline mode, create the resampler only if needed (i.e. if the pitch ratio is still 1.0 at the point when process is first called); and use plain 2048-sample fft with unity stretch 2022-06-24 10:51:40 +01:00
Chris Cannam
b318fb4e8b Wire through debug level changes; tidy 2022-06-22 13:42:58 +01:00
Chris Cannam
5137b19407 Wire up Log throughout 2022-06-22 11:33:36 +01:00
Chris Cannam
e8b63bd10d These can just be overloads for log, which at least avoids us using log2 as a method name here 2022-06-22 09:10:02 +01:00
Chris Cannam
7434abe664 More on logging 2022-06-21 17:03:24 +01:00
Chris Cannam
35653f3a86 Start reworking log output 2022-06-21 16:06:16 +01:00
Chris Cannam
e546767a6d Rename/rejig so as to have just a single Impl and then R2 and R3 stretcher classes 2022-06-21 10:25:08 +01:00