Commit Graph

368 Commits

Author SHA1 Message Date
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
d211121701 Ah, this was still in use in Scavenger. It can stay for now 2022-07-14 17:49:22 +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
279c44477e Fix unity handling in short-window mode 2022-07-14 12:07:43 +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
7179c2626c Update Profiler to use std::chrono 2022-07-14 09:42:10 +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
4673a663f0 Add the other new 3.0 functions to the C API 2022-07-06 11:56:01 +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
31984af826 Add a test case to cover realtime block-by-block processing with latency commpensation 2022-07-05 13:49:28 +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
335aef35c9 The Boost meson module sets this on the command-line, so avoid compiler warning when redefining 2022-07-01 12:01:06 +01:00
Chris Cannam
75c1bdc015 Fix speex build 2022-06-30 14:00:14 +01:00
Chris Cannam
829fdfd2f9 Fix compiler warnings in tests 2022-06-30 11:49:18 +01:00
Chris Cannam
d2126c8a2e Fix array overrun 2022-06-30 09:32:39 +01:00
Chris Cannam
65819f8876 Move stub unistd file to new location of code that may include it 2022-06-30 08:30:32 +01:00
Chris Cannam
08861c6e76 Add getEngineVersion to C API 2022-06-30 08:26:47 +01:00
Chris Cannam
f41c9a257e Update version number, other builds, and C API 2022-06-29 17:58:09 +01:00
Chris Cannam
c6e4d9a3b2 Documentation updates 2022-06-29 17:44:50 +01:00
Chris Cannam
dd88c4aeab Further tests 2022-06-29 16:51:39 +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
a7f9c47a00 Document engine; add getEngineVersion() 2022-06-28 11:47:30 +01:00
Chris Cannam
0452145ff3 Avoid compiler warning 2022-06-28 11:18:58 +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
512d855043 An R3 test 2022-06-24 14:01:22 +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
3b168ca55e Initial simple test 2022-06-23 15:13:48 +01:00
Chris Cannam
539c35c4ee Handful of StretchCalculator tests 2022-06-23 11:53:35 +01:00
Chris Cannam
9845e4bb38 Make this a default implementation of Logger rather than a special case in Log 2022-06-23 09:52:23 +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
ad5b885deb Further logging updates 2022-06-21 20:26:25 +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