75b1c9abb5
Fixes to MovingMedian edge-cases and related tests
Chris Cannam
2022-06-08 11:39:16 +01:00
0b8b0742c1
A few signal-bits tests
Chris Cannam
2022-06-08 10:35:51 +01:00
95a1d6df25
Start to bring in unit tests
Chris Cannam
2022-06-08 09:57:12 +01:00
36f993b9a6
Reduce p level for trough picker. The behaviour here is not what I'd hoped
Chris Cannam
2022-06-07 14:13:24 +01:00
07b339df13
Try a peak p-factor of 1 for the previous peaks
Chris Cannam
2022-06-07 12:12:06 +01:00
b8b650cd5c
Show fps as int (avoiding scientific notation)
Chris Cannam
2022-06-07 11:19:29 +01:00
0bc0d7deb0
Avoid compiler warning
Chris Cannam
2022-06-07 11:12:39 +01:00
8ed709d274
Don't run median filters for higher frequencies than we're going to use anyway
Chris Cannam
2022-06-07 11:05:50 +01:00
1bfd02c6f3
Simplify by using MovingMedianStack to implement MovingMedian
Chris Cannam
2022-06-07 10:06:30 +01:00
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
Chris Cannam
2022-06-07 09:50:33 +01:00
c31839ef93
Use fixed (faster) resampler settings in offline mode
Chris Cannam
2022-06-07 09:06:52 +01:00
a564a7c812
Minor tidy
Chris Cannam
2022-06-07 09:06:37 +01:00
459be9fbad
Tiny simplification
Chris Cannam
2022-06-07 09:02:00 +01:00
b8c7289c45
Further small improvement to moving median
Chris Cannam
2022-06-07 08:53:42 +01:00
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
Chris Cannam
2022-06-07 08:50:25 +01:00
7519ef47cc
Toward minimising MovingMedian a bit
Chris Cannam
2022-06-06 21:53:54 +01:00
ef2d39b3af
Or is this the right thing? I'm having trouble deciding
Chris Cannam
2022-06-06 17:50:22 +01:00
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
Chris Cannam
2022-06-06 17:44:22 +01:00
6ef77ef7aa
Tidy
Chris Cannam
2022-06-06 17:10:12 +01:00
100a7c0ba6
Go back to running formants only within the necessary range
Chris Cannam
2022-06-06 17:06:52 +01:00
4fb7b0ad47
And per-channel formants
Chris Cannam
2022-06-06 16:51:02 +01:00
ec7a2b1b51
Experiment with formant shifting before the peaks/phase work
Chris Cannam
2022-06-06 16:37:44 +01:00
9a7a977fa0
Tidy
Chris Cannam
2022-06-06 14:49:01 +01:00
c728a650e9
Remove unused array
Chris Cannam
2022-06-06 14:17:17 +01:00
0ceca73636
Settle on these values for the moment
Chris Cannam
2022-06-06 14:00:09 +01:00
f8abd07438
Tidy, and try without a high formant limit
Chris Cannam
2022-06-06 13:09:29 +01:00
baab6ae66e
Further formant experiments
Chris Cannam
2022-06-06 12:08:52 +01:00
c33582a8c4
Fix failure to initialise options
Chris Cannam
2022-06-05 18:50:52 +01:00
2673983220
I think this check was only necessary because of our wrong handling of pitch scale
Chris Cannam
2022-05-27 15:29:28 +01:00
ce64122ffe
Wire up formant option; some tidying
Chris Cannam
2022-05-27 15:16:10 +01:00
7febc09dbc
Fix accidental time stretch coming along with pitch shift
Chris Cannam
2022-05-27 15:03:40 +01:00
f13d96a474
First cut at formant preservation
Chris Cannam
2022-05-27 14:58:42 +01:00
4d4bc7b4c3
Short-circuit slightly (in output, not so much in efficiency) when ratio is 1
Chris Cannam
2022-05-27 11:45:28 +01:00
9379908982
Avoid excessive outhop when pitch shifting a long way
Chris Cannam
2022-05-27 11:34:35 +01:00
9ecc601a2c
Implement reset
Chris Cannam
2022-05-27 11:17:20 +01:00
580d28afd2
Correct the use of in/out hop vs prev in/out hop
Chris Cannam
2022-05-27 10:06:31 +01:00
08eeb17a98
Merge
Chris Cannam
2022-05-26 17:46:23 +01:00
84cd061e9d
Avoid duplicate bin in the different scales
Chris Cannam
2022-05-26 17:46:13 +01:00
a278acc5d2
Print note, and use finer mode
Chris Cannam
2022-05-26 17:42:53 +01:00
2c23d52c94
Clarify
Chris Cannam
2022-05-26 17:42:45 +01:00
dd8d328ffb
Merge
Chris Cannam
2022-05-26 15:09:40 +01:00
83f2b7607b
An attempt to do the right thing when the hop changes - but this is not enough
Chris Cannam
2022-05-26 15:08:07 +01:00
b07f74e5b9
Add faster/finer option
Chris Cannam
2022-05-26 15:07:43 +01:00
fa004562f7
Tidy, and format comments
Chris Cannam
2022-05-25 16:25:03 +01:00
4c878340df
This is a little faster, and I can't tell the difference at first listen, nor think of a good reason why it should be worse. To be tested.
Chris Cannam
2022-05-25 16:24:51 +01:00
c3309f56c1
Remove debug output
Chris Cannam
2022-05-25 14:43:31 +01:00
a04b6adb10
Niemitalo window
Chris Cannam
2022-05-25 14:43:05 +01:00
630a790ef8
Use atomics for inhop and ratio, and read inhop once at start of consume in case it changes within
Chris Cannam
2022-05-25 14:10:41 +01:00
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
Chris Cannam
2022-05-25 13:54:11 +01:00
eb017476ca
Avoid resetting m_prevOuthop on every set-ratio call (client may call this very repeatedly)
Chris Cannam
2022-05-25 13:51:23 +01:00
54515122b2
Implement resampling
Chris Cannam
2022-05-25 13:47:40 +01:00
f5b381e086
Pull out per-channel analysis and resynthesis functions
Chris Cannam
2022-05-25 11:26:16 +01:00
47476b9088
Tidy
Chris Cannam
2022-05-25 11:16:06 +01:00
973a334f75
Add readahead for segmenters
Chris Cannam
2022-05-25 11:14:19 +01:00
680393c5c6
Comments
Chris Cannam
2022-05-25 09:43:08 +01:00
eb79336e93
Introduce a resampler (not used yet)
Chris Cannam
2022-05-24 17:49:50 +01:00
9ed4be5144
Fix some non-realtime-safe operations reported by Stoat
Chris Cannam
2022-05-24 17:35:23 +01:00
a9a0b4851a
Fix single-file build
Chris Cannam
2022-05-24 17:35:14 +01:00
d45831fcc5
Add the overlooked fftshift (that explains it!); carry out polar/cartesian conversion only for bins of interest
Chris Cannam
2022-05-24 16:54:05 +01:00
c4a78b4b55
Use doubles throughout (simpler, faster)
Chris Cannam
2022-05-24 15:39:28 +01:00
49ac04ceab
Some work on phase updates
Chris Cannam
2022-05-24 15:21:13 +01:00
2b401e5cbe
Overlap/add fixes. Some phase problems still here
Chris Cannam
2022-05-24 12:00:54 +01:00
cd0ee3e4f6
Tidy, and avoid warnings from over-reading from ring buffer
Chris Cannam
2022-05-23 20:55:56 +01:00
89c8683aaf
Calculate actual ratios and hops
Chris Cannam
2022-05-23 17:59:40 +01:00
9d82d58c36
Scaling fixes
Chris Cannam
2022-05-23 17:36:26 +01:00
fb9edfb20d
Fix the consume logic so that it actually completes (though wrongly still, at this point)
Chris Cannam
2022-05-23 16:45:41 +01:00
5cc4833820
Flesh out the implementation a bit
Chris Cannam
2022-05-23 15:04:34 +01:00
af97c70e69
Construct channel data
Chris Cannam
2022-05-20 16:48:44 +01:00
9d646b9708
Introduce phase advance
Chris Cannam
2022-05-20 15:29:52 +01:00
42826e6a76
Obtain Guide configuration
Chris Cannam
2022-05-19 17:28:38 +01:00
cf602218f5
Add Guide
Chris Cannam
2022-05-19 16:31:21 +01:00
5584ccc059
Make comparator configurable (for troughs)
Chris Cannam
2022-05-19 15:25:33 +01:00
e9ad04e2b4
Reorganise into faster (R2) and finer (R3)
Chris Cannam
2022-05-19 13:34:51 +01:00
e9264ae909
Add peak finder
Chris Cannam
2022-05-19 13:13:47 +01:00
4241c0f6a4
Add bin segmenter
Chris Cannam
2022-05-19 09:16:13 +01:00
d6aa3a59c2
Begin some R3 work
Chris Cannam
2022-05-18 17:51:20 +01:00
80473f8735
Remove elastic/loose processing support
Chris Cannam
2022-05-18 14:12:57 +01:00
4cff174166
Avoid a compiler warning
Chris Cannam
2022-05-04 18:02:55 +01:00
95371b882b
Fix amazingly long-standing error in description of command-line arg
Chris Cannam
2022-04-01 22:05:41 +01:00
ce3f17acb1
Clarify again
Chris Cannam
2022-02-22 10:43:20 +00:00
c7f63a4a25
Expand documentation for getLatency
Chris Cannam
2022-02-22 10:29:13 +00:00
30e63d33ac
If input file is not seekable, reopen instead of seeking back to start on clipping
Chris Cannam
2022-02-09 10:37:04 +00:00
c7eefe9e8d
Added tag v2.0.2 for changeset 4e2177c66756
Chris Cannam
2022-01-26 10:07:17 +00:00
c5f99d5ff2
This will be 2.0.2
Chris Cannam
2022-01-26 09:36:01 +00:00
55c6ed21f9
Add header for TARGET_OS_*
Chris Cannam
2022-01-25 13:52:27 +00:00
347fc3e00d
Ensure we don't overrun the mid-side preprocessing buffer
Chris Cannam
2022-01-25 13:29:23 +00:00
c7cfc2a1b9
Added tag v2.0.1 for changeset 190ba65557c0
Chris Cannam
2022-01-20 10:50:40 +00:00
445f20fa4c
Update CHANGELOG for 2.0.1
Chris Cannam
2022-01-20 10:28:07 +00:00
80230be35a
Check that CHANGELOG has been updated
Chris Cannam
2022-01-20 10:27:59 +00:00
5c2727ccf0
Minor wording tweaks
Chris Cannam
2022-01-20 08:31:54 +00:00
5c71a78ebe
Actually, enforce the ranges etc only for the new plugin
Chris Cannam
2022-01-20 08:31:44 +00:00
41ba70fbb9
Enforce range and integer hints on ratio controls, for predictability
Chris Cannam
2022-01-13 08:42:56 +00:00
1460f39ad4
Next version to be 2.0.1
Chris Cannam
2022-01-12 15:22:18 +00:00
5a94067a50
Minor formatting & wording
Chris Cannam
2022-01-12 10:26:10 +00:00
8faf25c479
Default to built-in resampler, now it's had a little more testing
Chris Cannam
2022-01-12 10:10:34 +00:00
4bbec50511
Rename Latency port to latency, since some hosts (e.g. muse4) don't seem to recognise it from the designation alone; also explicitly indicate its units
Chris Cannam
2022-01-12 10:10:13 +00:00
39115829c8
Add LV2_SYMBOL_EXPORT for the descriptor function - this does the same thing as our existing linker scripts I believe, but it seems to be the recommended way for LV2
Chris Cannam
2022-01-07 14:55:07 +00:00
ae28e364b1
Ardour appears to show scale points in sort order of label, not in order of value - prefix a digit to get them in the proper order
Chris Cannam
2022-01-07 14:23:50 +00:00
af93cc850f
Install LV2 bundle
Chris Cannam
2022-01-07 14:22:54 +00:00
395c4a7093
Merge from branch lv2
Chris Cannam
2022-01-07 13:58:27 +00:00