skrytt / baselisk-rs

Learning Rust by writing a musical synthesizer
MIT License
1 stars 1 forks source link

Design DSP graph layout #3

Open skrytt opened 5 years ago

skrytt commented 5 years ago

Ticket to track my train of thought on what the layout of connected DSP units might eventually look like.

At the moment this is all freely hot-pluggable, but this is likely to change going forward. I've decided it's not an aim of mine to build a modular synthesizer; I'd like to make something which is simpler and more practical for me to use in music composition.

skrytt commented 5 years ago

This is going to evolve over time, but I'll start out with some basic and broad thoughts as a starting point. From a user-experience point of view, I would like the layout to be perceived like this:

Oscillators => Filters => Waveshaping

Oscillators: will be switchable between a set of possible types, such as simple Sine/Square/Sawtooth. I'd like to support other types in the future, such as phase-modulated oscillators and noise generators.

Filters: similarly to oscillators, switchable between a set of possible types like low-pass, high-pass, and hopefully other types in the future.

Waveshaping/Distortion: For me this is somewhat essential. I love the way that waveshapers interact with filter sweeps and want this to be a core part of the character of what I'm building here.

skrytt commented 5 years ago

The initial layout described above is in place.

I think going forwards, I'd like to make these improvements:

skrytt commented 4 years ago

Direction as of the start of 2020 has changed a little.

Will be focusing the synth design in an FM direction, drawing inspiration from designs such as the DX7 and its many derivatives, then putting my own spin on it in the form of the filter, waveshaping and effects staging afterwards.