1
0
Fork 0
Commit graph

347 commits

Author SHA1 Message Date
Robbert van der Helm
2a1abf10e1 Fix typo in Diopser readme 2022-07-13 23:16:54 +02:00
Robbert van der Helm
c24d4062e4 Add an attack-release amp envelope to PolyModSynth 2022-07-06 20:49:21 +02:00
Robbert van der Helm
1510cbb884 Remove assertion failure on polymod voice mismatch 2022-07-06 19:30:48 +02:00
Robbert van der Helm
35e584b3c8 Add a poly mod gain parameter to PolyModSynth 2022-07-06 19:18:49 +02:00
Robbert van der Helm
097d6c9fc4 Terminate all matches voices in PolyModSynth
This is needed for a single NoteOff followed by multiple NoteOns for the
same key/channel with different note IDs.
2022-07-06 18:03:53 +02:00
Robbert van der Helm
95b4d9785e Remove the MIDI output from PolyModSynth 2022-07-06 17:16:19 +02:00
Robbert van der Helm
efc32f3944 Add a basic aliasing sawtooth wave to PolyModSynth 2022-07-06 17:16:19 +02:00
Robbert van der Helm
4ad4f8f76d Add more basic fields for PolyModSynth 2022-07-06 17:16:19 +02:00
Robbert van der Helm
c36f29e3ca Add basic voice management for PolyModSynth
This of course still misses important things like amplitude envelopes,
so notes will never end on their own. Those will be added as part of
audio processing.
2022-07-06 17:16:19 +02:00
Robbert van der Helm
69aa8433fa Configure the voice capacity for PolyModSynth 2022-07-06 14:40:27 +02:00
Robbert van der Helm
89b2d0a66c Add a stub for poly_mod_synth
This will serve as an example implementation for polyphonic modulation.
2022-07-06 13:55:59 +02:00
Robbert van der Helm
2ac5eaadf8 Handle choke events in MidiInverter 2022-07-06 13:41:20 +02:00
Robbert van der Helm
a2f8a9bebf Add voice ID fields for all non-MIDI note events
This will be useful when adding polyphonic modulation.
2022-07-04 18:31:59 +02:00
Robbert van der Helm
7cd7294b22 Make CLAP descriptions and special URLs optional
This closes #14.
2022-07-04 12:46:34 +02:00
Robbert van der Helm
883b43b6a7 Support string->value conversions for Diopser's most important parameter 2022-07-02 00:45:01 +02:00
Robbert van der Helm
29e9d620ca Fix the sine test tone CLAP category 2022-06-29 01:32:39 +02:00
sonata-chen
a284ba020f
fix typo 2022-06-28 19:42:46 +08:00
Robbert van der Helm
b7bfa5f18e Update Vizia
With two months of breaking changes, hooray! But everything should still
work after some bug squashing in Vizia.
2022-06-18 01:59:57 +02:00
Robbert van der Helm
abe7fec0db Fix channel layout check in sine example 2022-06-15 00:10:27 +02:00
Robbert van der Helm
aa60d616fe Handle infinite and NaN values in Safety Limiter 2022-06-13 18:47:48 +02:00
Robbert van der Helm
6e37353c67 Link to the correct CI pipeline for builds 2022-06-10 15:59:18 +02:00
Robbert van der Helm
e0fde8b891 Fix very important typo 2022-06-10 01:26:14 +02:00
Robbert van der Helm
014c183eab Allocate FirCrossover data on the heap
Windows has tiny stack sizes and it doesn't seem to like this.
2022-06-08 02:09:11 +02:00
Robbert van der Helm
5a6ec5595b Remove duplicate biquad module
This was moved elsewhere, but I guess another copy got saved and I
didn't notice.
2022-06-08 00:11:46 +02:00
Robbert van der Helm
92a3acdd0a Mention the linear-phase mode for Crossover 2022-06-07 21:39:32 +02:00
Robbert van der Helm
b389268168 Fix FFT FIR crossover latency calculation 2022-06-07 20:46:23 +02:00
Robbert van der Helm
c23cf8e7ee Announce zero latency when switching back to IIR 2022-06-07 20:36:02 +02:00
Robbert van der Helm
469e47e8bf Drop experimental label on FIR crossover 2022-06-07 20:32:55 +02:00
Robbert van der Helm
5a51dce00d Rework FIR crossover to use FFT convolution 2022-06-07 20:32:27 +02:00
Robbert van der Helm
2c48ceb392 Refactor IIR crossover process loop, disable FIR
The FIR crossover will need to use FFT convolution, so it can't use the
same loop. Because of that we'll need to rework the FIR crossover to not
use channel SIMD and to work on channel slices instead.
2022-06-07 16:13:39 +02:00
Robbert van der Helm
7e3dfe904d Parameterize FirCoefficients over the kernel size 2022-06-07 15:32:29 +02:00
Robbert van der Helm
b32cd27e8c Move FIR filters to their own module 2022-06-07 15:19:18 +02:00
Robbert van der Helm
ac5796ee59 Move the Crossover biquad definition 2022-06-07 15:10:55 +02:00
Robbert van der Helm
4fad759d06 Mark the linear-phase LR24 crossover experimental
The low frequency performance is too poor at this filter size and the
DSP load impact is too high. This needs to be implemented using FFT
convolution instead.
2022-06-07 14:19:29 +02:00
Robbert van der Helm
50317baba2 Fix normalization in biquad->LP FIR conversion 2022-06-07 14:19:29 +02:00
Robbert van der Helm
dd18c7a08a Fix classic off by one error 2022-06-07 14:19:29 +02:00
Robbert van der Helm
8d70f172c3 Add a linear-phase FIR LR24 crossover option 2022-06-07 14:19:29 +02:00
Robbert van der Helm
73919b6805 Add a process function for the FIR crossover 2022-06-07 14:19:29 +02:00
Robbert van der Helm
43980ec459 Add the function to design the FIR band filters
Using the previously added biquad->linear phase FIR conversion function.
2022-06-07 14:19:29 +02:00
Robbert van der Helm
f4b3999916 Rename linear-phase low-pass FIR design function 2022-06-07 14:19:29 +02:00
Robbert van der Helm
a1fe3b157b Simplify biquad -> linear-phase FIR conversion 2022-06-07 14:19:29 +02:00
Robbert van der Helm
de13f8c42a Add part of an FIR crossover
This includes an algorithm that efficiently converts biquad coefficients
to a linear-phase FIR filter kernel.
2022-06-07 14:19:29 +02:00
Robbert van der Helm
78caa0f78d Move Q constant to the biquad module 2022-06-07 14:19:29 +02:00
Robbert van der Helm
06f5048b0b Add a crossover type parameter 2022-06-07 14:19:29 +02:00
Robbert van der Helm
694996dcf4 Move Crossover biquads to their own module 2022-06-07 14:19:29 +02:00
Robbert van der Helm
f7bfbb8d95 Add stable IDs to the plugin's enum parameters
Existing instances will automatically be upgraded to these IDs when the
instance gets saved. This makes it possible to rearrange things later
when needed.
2022-06-04 13:36:17 +02:00
Robbert van der Helm
d72bd56fe7 Change the limiter recommendation on Diopser
And explain what can happen and why when you start sweeping parameters
around.
2022-06-03 18:22:23 +02:00
Robbert van der Helm
82565592fa Mention Safety Limiter in Diopser readme 2022-06-02 16:34:25 +02:00
Robbert van der Helm
24140494a2 Add a screenshot to the Crossover readme 2022-06-02 15:59:09 +02:00
Robbert van der Helm
96fe176d53 Remove Crossover filter monotonicity check 2022-06-02 14:40:12 +02:00