A MIDI controlled 4 voice spline wave table synth using 8 splines per voice and 32 total different splines. Control logic based upon @robertsyrett counter tutorial and his phase synthesis tutorial for the audio. The splines were generated from 5 ms audio converted to splines using @jjthrash Ruby script available on GitHub. Envelopes using A-D-S-R module where the decay is based on frequency. My previous spline envelopes clicked too much.
Overview
Module | Function | Performance |
---|---|---|
Spline Wave Table Synth | 4 voice MIDI synth | 8 splines per wave table step via MIDI gate |
Pseudo Stereo | create stereo effect from mono input |
buttons knobs |
Spline Wave Table Synth
Input
Input | Signal Range | Notes |
---|---|---|
MIDI | notes | 4 voice polyphony |
Output
Signal Range | Notes |
---|---|
-1 to 1 | Mono out to Pseudo Stereo. |
Controls
[Knob, Button] | Function | Notes |
---|---|---|
![]() |
ADSR envelope controls | an envelope per voice |
![]() |
button on reset inactive | in one of the other 4 modes |
![]() |
button off reset inactive | in one of the other 4 modes |
![]() |
button off reset active | Freeze the spline playing |
![]() |
button on reset active | Play the 1st spline (0) |
![]() |
press button to cycle modes | up, down, up/down, random, freeze/reset |
![]() |
indicates voice gate | green light indicates gate on |
![]() |
controls direction probability | left down, right up |
![]() |
indicates which spline played | splines 0 to 7 in wave table |
![]() |
controls output volume | mono audio output |
Version History
Revision | File | Notes |
---|---|---|
1.8 | Spline Wave Table Synth v1.8.audulus (614.8 KB) | cleaned up and improved envelopes versus previous release |
Pseudo Stereo
I/O
Input | Signal Range | Notes |
---|---|---|
![]() |
-1 to 1 | audio from Spline Wave Table Synth output. |
Output | Signal Range | Notes |
---|---|---|
![]() |
-1 to 1 | audio out to speaker. |
Controls
[Knob, Button] | Function | Notes |
---|---|---|
![]() |
stereo effect | enable disable |
![]() |
fine knob control | enable disable |
![]() |
set stereo width | symetrical |
![]() |
set delay time | for both channels |
![]() |
set feedback | for both channels |