Chris Cannam
|
963752951d
|
Fix erroneous limits calculations
|
2023-03-23 17:26:28 +00:00 |
|
Chris Cannam
|
99d2d4a080
|
Further adjustments to reset, and ensure initial prev in/out hops are set the same way if ratios set after construction as they are if ratios set on construction. Plus tests
|
2023-03-23 10:25:18 +00:00 |
|
Chris Cannam
|
6c71159593
|
More reset tests, tighten up reset logic
|
2023-03-22 13:26:15 +00:00 |
|
Chris Cannam
|
5f93a90902
|
Merge from branch midside3
|
2023-03-20 10:08:20 +00:00 |
|
Chris Cannam
|
2dcb27d3dd
|
Toward properly testing reset
|
2023-03-20 10:08:01 +00:00 |
|
Chris Cannam
|
e2611485d8
|
Use mid-side processing in channels-together mode in R3; for a more stable stereo image, ensure transient bins are reset in mid whenever they are in side
|
2023-03-17 13:19:18 +00:00 |
|
Chris Cannam
|
d3830870c0
|
Experiments with mid-side in R3 - in this code always used when channels=2
|
2023-03-15 18:01:21 +00:00 |
|
Chris Cannam
|
4d5460c3e8
|
Reporting fix
|
2023-03-08 14:44:52 +00:00 |
|
Chris Cannam
|
4b4c50b479
|
Tests for handling of final flag
|
2023-02-21 10:28:57 +00:00 |
|
Chris Cannam
|
1368ba87ee
|
Fix latency calculations in resample-before modes. This affects realtime use in the non-recommended realtime pitch modes (i.e. those other than HighConsistency)
|
2023-02-20 15:26:12 +00:00 |
|
Chris Cannam
|
afd1b1f86c
|
Ensure we consume when called with final=true and no samples - this was the default behaviour in R2 and also initially in R3 but changed when resample-before modes were added
|
2023-02-20 15:25:27 +00:00 |
|
Chris Cannam
|
cc3e265b26
|
Update copyright dates
|
2023-01-10 11:10:06 +00:00 |
|
Chris Cannam
|
1bd266cdb6
|
Defend against NaN/Inf and negative ratios
|
2022-09-30 10:36:29 +01:00 |
|
Chris Cannam
|
de56cd114a
|
Update the resampler logic to follow that of R2 more - ignore the pitch hq/hs setting in offline mode entirely. The alternative is too tricky to handle elegantly in the command line tool, which I think means too complicated
|
2022-09-29 11:19:21 +01:00 |
|
Chris Cannam
|
9e423cdd8c
|
Handle non-ideal sample rates in R3; document sample rate parameter
|
2022-09-26 16:02:13 +01:00 |
|
Chris Cannam
|
92362bdba0
|
Resample in chunks as well, to avoid overrunning resample buffer
|
2022-09-02 15:08:29 +01:00 |
|
Chris Cannam
|
021de9d51c
|
Add resample-before mode
|
2022-09-02 14:49:34 +01:00 |
|
Chris Cannam
|
4336d47a02
|
With longer process sizes we can end up with insufficient space in the inbuf, but enough in the outbuf following the previous retrieve call for a consume to be possible before writing to the inbuf
|
2022-09-01 10:41:25 +01:00 |
|
Chris Cannam
|
e58c6018c5
|
This appears benign and should be slightly quicker
|
2022-08-18 15:24:24 +01:00 |
|
Chris Cannam
|
6ecc973d41
|
Keep a structure with recommended limits for inhop/outhop in current configuration; skip readahead entirely when inhop is greater than a certain limit - allowing us to reduce start delay further in short-window mode
|
2022-08-05 14:58:12 +01:00 |
|
Chris Cannam
|
3eae190a85
|
This is not actually usually a serious problem, unlike the <1 case which can be genuinely troublesome
|
2022-08-04 16:31:23 +01:00 |
|
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 |
|