Commit Graph

732 Commits

Author SHA1 Message Date
Chris Cannam
638948269b Remove Silent classification from BinClassifier: not only is it not very useful, it's misaligned with the other classifications because it doesn't account for lag, and so it can make those wrong 2022-06-14 13:59:17 +01:00
Chris Cannam
33a2696b34 Update Linux-specific Makefile 2022-06-14 10:24:08 +01:00
Chris Cannam
fb75aa36f6 Using the instantaneous ratio here seems more proper, but it causes audible interference when using tiny shift ratios such that the hop flips back and forth between two adjacent values. Let's try using the more stable effective ratio, and see if the window smoothing is sufficient 2022-06-14 10:01:11 +01:00
Chris Cannam
9dbf53026a Fix failure to calculate offline stretch correctly when a zero-chunk region is found; provide alternate projection calculation method for R3 without stop-the-world phase resets 2022-06-13 17:16:03 +01:00
Chris Cannam
ac4072937e Add process mode; start on key-frame map 2022-06-13 16:06:21 +01:00
Chris Cannam
90ad1274d8 Add R3 support to plugins 2022-06-13 11:49:04 +01:00
Chris Cannam
c7e4d9eb07 Provide option to shift formant independently of pitch 2022-06-13 10:39:13 +01:00
Chris Cannam
182e2b0e3b Put binForFrequency/frequencyForBin in a common place 2022-06-13 10:08:05 +01:00
Chris Cannam
05fb611544 Experimental preKick to slightly reduce frame just before kick and boost kick accordingly 2022-06-13 09:40:26 +01:00
Chris Cannam
321a89e372 Fix absurd typo 2022-06-10 20:48:17 +01:00
Chris Cannam
9f913385de Apply start skip. Still work to be done 2022-06-10 20:26:37 +01:00
Chris Cannam
a66b01446f Pre-pad start of input; now need to un-pad start of output 2022-06-10 18:15:58 +01:00
Chris Cannam
c50397128a Fix failure to reset m_fill on reset 2022-06-10 17:07:23 +01:00
Chris Cannam
63bcfb0e22 Tidy up 2022-06-10 16:44:04 +01:00
Chris Cannam
5dcc499cf9 Now update MovingMedian behaviour to match bsq code (i.e. make it "more" correct) 2022-06-10 16:39:32 +01:00
Chris Cannam
0bfa94a76a Restore MovingMedian to the simpler single filter and provide ..Stack separately. Seems little point in coalescing memory there, now we have separate ring buffers anyway 2022-06-10 13:09:48 +01:00
Chris Cannam
6723ca3636 Use SingleThreadRingBuffer for MovingMedian 2022-06-10 12:57:08 +01:00
Chris Cannam
6940ad29d8 Introduce a histogram filter for filtering discrete values 2022-06-10 12:35:15 +01:00
Chris Cannam
10e2c13551 Tidy 2022-06-09 17:25:23 +01:00
Chris Cannam
78b491fb4c Perform phase resets when squashing as well as stretching 2022-06-09 17:23:26 +01:00
Chris Cannam
2298b67869 Avoid recalculating window scale factor every time 2022-06-09 16:39:30 +01:00
Chris Cannam
bc764c62ea Restrict range a little more 2022-06-09 16:25:11 +01:00
Chris Cannam
14394141b0 Comment out debug 2022-06-09 16:00:27 +01:00
Chris Cannam
a7353d7161 Tidy 2022-06-09 15:39:06 +01:00
Chris Cannam
4a9574b7ee Backed out changeset b1275ea1b6c8
This makes very little perceptible difference, possibly for the worse, and it is more complicated
2022-06-09 15:26:16 +01:00
Chris Cannam
41e726b510 Remove debug out 2022-06-09 15:07:47 +01:00
Chris Cannam
4457247749 Synchronise frequency channel cutoffs across channels. Not the most elegant way to do this I think 2022-06-09 14:56:20 +01:00
Chris Cannam
ab284f0047 Rather than using trough picker, make the division frequencies drift downhill 2022-06-09 14:29:51 +01:00
Chris Cannam
70a7b6d688 Some (temporary) debug etc 2022-06-09 14:16:49 +01:00
Chris Cannam
022bb6d40c Fix segmentation logic 2022-06-09 14:16:40 +01:00
Chris Cannam
6257457320 Small correction to Peak; expand and fix tests 2022-06-09 09:03:20 +01:00
Chris Cannam
75b1c9abb5 Fixes to MovingMedian edge-cases and related tests 2022-06-08 11:39:16 +01:00
Chris Cannam
0b8b0742c1 A few signal-bits tests 2022-06-08 10:35:51 +01:00
Chris Cannam
95a1d6df25 Start to bring in unit tests 2022-06-08 09:57:12 +01:00
Chris Cannam
36f993b9a6 Reduce p level for trough picker. The behaviour here is not what I'd hoped 2022-06-07 14:13:24 +01:00
Chris Cannam
07b339df13 Try a peak p-factor of 1 for the previous peaks 2022-06-07 12:12:06 +01:00
Chris Cannam
b8b650cd5c Show fps as int (avoiding scientific notation) 2022-06-07 11:19:29 +01:00
Chris Cannam
0bc0d7deb0 Avoid compiler warning 2022-06-07 11:12:39 +01:00
Chris Cannam
8ed709d274 Don't run median filters for higher frequencies than we're going to use anyway 2022-06-07 11:05:50 +01:00
Chris Cannam
1bfd02c6f3 Simplify by using MovingMedianStack to implement MovingMedian 2022-06-07 10:06:30 +01:00
Chris Cannam
0cd622d0da Create a MovingMedianStack to contain a stack of filters with contiguous addressing - does not appear to be notably beneficial, though I quite like the api 2022-06-07 09:50:33 +01:00
Chris Cannam
c31839ef93 Use fixed (faster) resampler settings in offline mode 2022-06-07 09:06:52 +01:00
Chris Cannam
a564a7c812 Minor tidy 2022-06-07 09:06:37 +01:00
Chris Cannam
459be9fbad Tiny simplification 2022-06-07 09:02:00 +01:00
Chris Cannam
b8c7289c45 Further small improvement to moving median 2022-06-07 08:53:42 +01:00
Chris Cannam
d7163b36f6 Quicker moving median (max one call to lower_bound, we're copying the elements between the two values anyway so we might as well compare against them too) - this checks out 2022-06-07 08:50:25 +01:00
Chris Cannam
7519ef47cc Toward minimising MovingMedian a bit 2022-06-06 21:53:54 +01:00
Chris Cannam
ef2d39b3af Or is this the right thing? I'm having trouble deciding 2022-06-06 17:50:22 +01:00
Chris Cannam
48174ded20 Ensure we have full magnitude range available in classify scale even when ratio has changed and the readahead isn't valid - necessary to avoid noise on ratio change when formant shifting 2022-06-06 17:44:22 +01:00
Chris Cannam
6ef77ef7aa Tidy 2022-06-06 17:10:12 +01:00