Veikko Sariola
7e3dc19c83
Add inverse gain to compressor. The inverse gain is applied to the signal before any compressor calculations.
2020-05-27 18:54:37 +03:00
Veikko Sariola
e049bf2dce
Change loadnote to load values from [-1,1], to allow using notes for both positive and negative modulations.
...
Also change SPEED to take this change into account.
2020-05-26 19:21:35 +03:00
Veikko Sariola
dac5afea60
Implement IN, OUTAUX and AUX opcodes, to conveniently input from or output to global ports.
2020-05-25 23:23:24 +03:00
Veikko Sariola
6f06306f0c
Re-engineer delay, to use stack for the delay WRK pointer and to support note-syncing transpose.
2020-05-23 15:05:38 +03:00
Veikko Sariola
dc99157fbb
Implement unison oscillators: multiple versions of slightly detuned oscillators that are added up to make a signal.
2020-05-19 22:52:21 +03:00
Veikko Sariola
adc4a6e45f
Implement sample-based oscillators, with sample import from gm.dls.
2020-05-19 18:29:47 +03:00
Veikko Sariola
fc0ad4c011
Implement compressor.
2020-05-17 16:37:08 +03:00
Veikko Sariola
71a5a18257
Implement player speed modulation opcode for triplets and such.
2020-05-17 09:51:20 +03:00
Veikko Sariola
15717557f1
Split polyphony test into two tests.
2020-05-17 08:32:35 +03:00
Veikko Sariola
d87d2e22cf
Implement new effect: bit-crusher.
...
Maybe a combined hold/bit-crusher effect is needed someday.
2020-05-16 23:27:29 +03:00
Veikko Sariola
ac5b4dd496
Make clip opcode working and add regression tests to it.
2020-05-16 22:49:59 +03:00
Veikko Sariola
5760f78201
Implement gain and inverse gain effects, for the moments when you just need them.
2020-05-16 22:29:08 +03:00
Veikko Sariola
87264c443c
Add tests for opcode stereo variants, squashing several bugs in the process. Implement receive opcode to test stereo sending.
2020-05-16 21:23:41 +03:00
Veikko Sariola
f9388b028a
Rename test files to represent better the new opcodes they correspond to.
2020-05-16 18:32:56 +03:00
Veikko Sariola
78d4cd50e8
Rewrote most of the synth to better support stereo signals and polyphony. VSTi removed as there is no plan to update the VSTi to support the new features.
...
The stereo opcode variants have bit 1 of the command stream set. The polyphony is split into two parts: 1) polyphony, meaning that voices reuse the same opcodes; 2) multitrack voices, meaning that a track triggers more than voice. They both can be flexible defined in any combinations: for example voice 1 and 2 can be triggered by track 1 and use instrument 1, and voice 3 by track 2/instrument 2 and voice 4 by track 3/instrument 2. This is achieved through the use of bitmasks: in the aforementioned example, bit 1 of su_voicetrack_bitmask would be set, meaning "the voice after voice #1 will be triggered by the same track". On the other hand, bits 1 and 3 of su_polyphony_bitmask would be set to indicate that "the voices after #1 and #3 will reuse the same instruments".
2020-05-16 08:25:52 +03:00
Veikko Sariola
6be7959cd1
Refactor the waveshaper function to save some bytes.
2020-05-03 17:02:08 +03:00
Veikko Sariola
9546574f13
Add regression test for AUX output.
2020-05-03 11:21:09 +03:00
Veikko Sariola
53a1be9b61
Refactor all values to have a universal support for modulations.
...
The modulation is now always added during value transformation.
With this, a lot of *_MOD defines could be removed.
The waveform for some tests changed slightly, because when the
value is saved to memory after modulating it, there is some
rounding errors.
2020-05-03 10:41:24 +03:00
Veikko Sariola
660da68a48
Add regression test for polyphony (MAX_VOICES = 2).
2020-05-01 08:51:43 +03:00
Veikko Sariola
09c497fef6
Add regression tests for delay modulations.
2020-04-25 11:29:14 +03:00
Veikko Sariola
7170b049d3
Add regression tests for VCF opcode and its modulations.
2020-04-24 22:51:42 +03:00
Veikko Sariola
4b9b1710eb
Add regression tests for delay (DLL) opcode.
2020-04-23 20:06:41 +03:00
Veikko Sariola
a49fba060c
Add regression tests for distortion, including sample-and-hold and modulations.
2020-04-18 21:21:21 +03:00
Veikko Sariola
41222b09a7
Move all raw audio files related to tests into subfolders, to have slightly more clean folder structure and to avoid mixing source files and data files.
2020-04-18 19:47:16 +03:00