1
0
Fork 0
Commit graph

30 commits

Author SHA1 Message Date
Robbert van der Helm 743998e388 Add a second just as bad mode to Puberty Simulator 2022-05-09 16:49:43 +02:00
Robbert van der Helm c6acdfa020 Add a pitch shifting mode parameter
I experimented with some other equally broken but broken in slightly
different ways pitch shifting algorithms that also sound kind of fun.
2022-05-09 16:29:46 +02:00
Robbert van der Helm 081487fdcb Adjust windowing behavior in Puberty Simulator
We should indeed be windowing twice like we did before. A squared Hann
window doesn't work at 2x overlap, so that option has been removed. The
gain compensation is now also correct.
2022-05-09 16:22:26 +02:00
Robbert van der Helm d589f81228 Change last to latest 2022-05-09 02:47:29 +02:00
Robbert van der Helm 3fe24e7dc6 Use more typical convolution FFT in STFT example 2022-05-08 02:22:36 +02:00
Robbert van der Helm 55eeb689dd Add a padding option to StftHelper 2022-05-08 02:12:37 +02:00
Robbert van der Helm 58d7dc034c Fix gain compensation in STFT examples 2022-04-28 17:24:35 +02:00
Robbert van der Helm e35886c216 Move window function handling out of StftHelper
And apply the window function only once at the end of the process
function for the plugins that used it.
2022-04-28 17:20:39 +02:00
Robbert van der Helm cab0af5153 Add explicit dyn trait casts
So Rust Analyzer stops complaining.
2022-04-15 19:31:38 +02:00
Robbert van der Helm e74172b67b Split build and package workflows 2022-04-11 16:11:42 +02:00
Robbert van der Helm 083885a40c Rework Params trait API with Arc instead of Pin
This is a breaking change requiring a small change to plugin
implementations.

The reason why `Pin<&dyn Params>` was used was more as a hint to
indicate that the object must last for the plugin's lifetime, but `Pin`
doesn't enforce that. It also makes the APIs a lot more awkward.
Requiring the use of `Arc` fixes the following problems:

- When storing the params object in the wrapper, the `ParamPtr`s are
  guaranteed to be stable.
- This makes it possible to access the `Params` object without acquiring
  a lock on the plugin, this is very important for implementing
  plugin-side preset management.
- It enforces immutability on the `Params` object.
- And of course the API is much nicer without a bunch of unsafe code to
  work around Pin's limitations.
2022-04-07 15:31:46 +02:00
Robbert van der Helm 2211232ed1 Use realfft for Puberty Simulator 2022-03-28 17:51:36 +02:00
Robbert van der Helm f37974448d Change naming convention for formatters
This still isn't idea, but at least it's less ambiguous than it was
before this.
2022-03-27 03:43:39 +02:00
Robbert van der Helm 36d54edae7 Add a constant for sample accurate automation 2022-03-10 18:57:17 +01:00
Robbert van der Helm 919eb7e5e6 Remove now unused include 2022-03-09 00:27:39 +01:00
Robbert van der Helm 24f3593de0 Move order conversion to formatters module 2022-03-08 18:31:20 +01:00
Robbert van der Helm be39e19365 Allow FFTW to destroy input arrays
Since they're scratch buffers anyways.
2022-03-08 13:50:45 +01:00
Robbert van der Helm da1e850722 Avoid allocations when switching between plans 2022-03-08 13:27:16 +01:00
Robbert van der Helm 6e1b4cf37f Increase skewed pitch range
Sicne +/- 1 is more or less the usable range.
2022-03-08 12:51:08 +01:00
Robbert van der Helm fd8bd025c8 Implement the reset function everywhere 2022-03-08 00:44:10 +01:00
Robbert van der Helm fedfa47b43 Fix building instructions in readmes 2022-03-07 22:07:57 +01:00
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 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 55e258bd27 Add the one and only Puberty Simulator plugin 2022-03-07 19:51:38 +01:00