Robbert van der Helm
ef1abe0508
Tweak the gain compensation
2022-03-07 21:33:00 +01:00
Robbert van der Helm
715ba467a9
Make the window overlap configurable
...
It gets super whacky now.
2022-03-07 21:26:50 +01:00
Robbert van der Helm
115d03a34a
Make the window size for configurable
2022-03-07 21:19:38 +01:00
Robbert van der Helm
329da782b5
Fix with_string_to_value() after param refactor
2022-03-07 21:00:39 +01:00
Robbert van der Helm
17f3c6cc6c
Add an in-place version of the Hann function
2022-03-07 20:52:37 +01:00
Robbert van der Helm
81308d0c8d
Change gain multiplier coefficients
2022-03-07 20:47:34 +01:00
Robbert van der Helm
9ae8b4620f
Smooth pitch value changes
2022-03-07 20:27:43 +01:00
Robbert van der Helm
344427f254
Skew the pitch parameter range
2022-03-07 20:22:16 +01:00
Robbert van der Helm
951cac51d7
Add a pitch parameter to Puberty Simulator
...
Because might as well.
2022-03-07 20:21:20 +01:00
Robbert van der Helm
e575514543
Change Puberty Simulator description
2022-03-07 20:08:47 +01:00
Robbert van der Helm
57239ab1c1
Fix url in main Cargo.toml file
2022-03-07 20:03:05 +01:00
Robbert van der Helm
967d94eeac
Only link to master branch builds in the readme
2022-03-07 19:57:47 +01:00
Robbert van der Helm
55e258bd27
Add the one and only Puberty Simulator plugin
2022-03-07 19:51:38 +01:00
Robbert van der Helm
e1e6b2137e
Compute a spectrum in Diopser
...
This will be used in the GUI.
2022-03-07 15:03:49 +01:00
Robbert van der Helm
376c1d7b0a
Fix gain compensation in STFT example
2022-03-07 02:04:47 +01:00
Robbert van der Helm
f05d209169
Add an analysis-only function to StftHelper
2022-03-07 01:14:36 +01:00
Robbert van der Helm
b06e67bde7
Supper non-buffer and non-sidechain inputs in STFT
2022-03-06 22:26:37 +01:00
Robbert van der Helm
e61a42e96f
Revert windowing change from 93ab08e
...
This is actually needed to prevent spectral leakage from IDTFs with
small window sizes.
2022-03-06 19:17:42 +01:00
Robbert van der Helm
93ab08e5d5
Remove post-IDFT windowing in STFT helper
...
There's no reason to.
2022-03-06 19:08:04 +01:00
Robbert van der Helm
175030b77c
Fix STFT example filter normalization
2022-03-06 18:56:07 +01:00
Robbert van der Helm
7c8da39159
Fix position increment in STFT helper
...
This was what was causing the spectral leakage. It already sounded like
parts of the buffer were being cleared too early or old parts were being
reused, but I guess that makes sense now...
2022-03-06 18:45:34 +01:00
Robbert van der Helm
82e74a7c53
Redefine the Hann window as a cosine
...
This fixes some of the spectral leakage.
2022-03-06 18:38:50 +01:00
Robbert van der Helm
0f78b02685
Add a simple filter example with FFTW
2022-03-06 17:54:23 +01:00
Robbert van der Helm
295e5493ec
Add post-IDFT windowing to StftHelper
2022-03-06 17:50:58 +01:00
Robbert van der Helm
601ced9363
Add a license note on the STFT example
2022-03-06 16:14:04 +01:00
Robbert van der Helm
c81ec15228
Fix comment on window scale remapping
2022-03-06 15:46:59 +01:00
Robbert van der Helm
07cf10e81d
Add more todos to the STFT helper
2022-03-06 15:45:19 +01:00
Robbert van der Helm
af4db7be53
Fix fallback permit_alloc() implementation
2022-03-06 15:42:32 +01:00
Robbert van der Helm
d7ea21f597
Fix clippy lints
2022-03-06 15:41:35 +01:00
Robbert van der Helm
8e2fd66573
Process sidechain inputs in STFT helper
2022-03-06 15:36:50 +01:00
Robbert van der Helm
2343485c1c
Don't do gain compensation in STFT helper
...
You'll likely want to add some scaling yourself anyways, so this would
just be a wasted operation since the scaling also depends on your window
function.
2022-03-06 15:36:24 +01:00
Robbert van der Helm
e72203f919
Use the new overlap-add helper in the STFT example
...
Still without any proper FFT stuff.
2022-03-06 15:28:53 +01:00
Robbert van der Helm
f7b3bd9198
Add gain compensation to the STFT helper
2022-03-06 15:28:35 +01:00
Robbert van der Helm
0fa394247f
Add a permit_alloc function
...
Since assert_no_alloc also hides panic messages which can make debugging
more difficult:
https://github.com/Windfisch/rust-assert-no-alloc/issues/4
2022-03-06 15:11:42 +01:00
Robbert van der Helm
592a908132
Fix samples until next window calculation
2022-03-06 15:11:42 +01:00
Robbert van der Helm
bf215ef88e
Add a Hann function for the STFT helper
2022-03-06 14:41:40 +01:00
Robbert van der Helm
3c62670164
Add proper overlap-add to the StftHelper
...
Doesn't make much sense without it.
2022-03-06 14:33:30 +01:00
Robbert van der Helm
963696cbff
Warn on invalid ranges with logarithmic smoothing
2022-03-06 12:27:52 +01:00
Robbert van der Helm
8355c38b9a
Add some TODOs to the STFT helper
2022-03-06 02:15:14 +01:00
Robbert van der Helm
4ff2e65b5c
Add a note regarding the Buffer lifetime
2022-03-06 02:10:33 +01:00
Robbert van der Helm
b416d1630b
Add the basis for a simple STFT example
...
Right now it doesn't do any FFT operations yet, but all the pieces are
in place using the new STFT helper.
2022-03-06 02:07:53 +01:00
Robbert van der Helm
b2600f4b93
Add a helper for buffering audio for STFTs
2022-03-06 02:07:44 +01:00
Robbert van der Helm
e5bac1e220
Add a channel count function to Buffer
2022-03-06 01:21:00 +01:00
Robbert van der Helm
54881dfa15
Add a len() function to Buffer
2022-03-06 01:12:28 +01:00
Robbert van der Helm
02d513b043
Disable the Alt+Click for now
...
Since it doesn't really work anyways, need to dive into egui's internals
to figure out why it doesn't work.
2022-03-05 22:22:17 +01:00
Robbert van der Helm
ec41ba5394
Add an attempt at an Alt+Click to open text entry
...
This does not work correctly unless you move your mouse, for some reason.
2022-03-05 22:11:29 +01:00
Robbert van der Helm
458f22248a
Initialize the text entry with the value
2022-03-05 21:37:16 +01:00
Robbert van der Helm
6db2b528da
Add basic text entry using built in widget
2022-03-05 21:32:37 +01:00
Robbert van der Helm
0dd71cf644
Fix slider same value check with discrete params
...
Because the check was done against the normalized value, before
snapping. This required adding `PartialEq` to the `Plain` type.
2022-03-05 19:51:06 +01:00
Robbert van der Helm
03eef2c832
Require PartialEq on plain parameter types
...
So you can compare them in parameter widgets.
2022-03-05 19:50:12 +01:00