DSP Knowledge Bank
DSP Knowledge Bank
This is SpaceAge's central DSP reference file. It collects durable synthesis, effects, and audio-programming insights that should inform future implementation work.
The goal is not to copy academic material into the project. The goal is to translate good DSP knowledge into musician-facing design, stable code, and inspiring instruments.
PASP / Julius O. Smith - Physical Modeling Foundations
Research source:
- Julius O. Smith, Physical Audio Signal Processing: https://ccrma.stanford.edu/~jos/pasp/pasp.html
Related accessible references:
- Digital Waveguide Models: https://ccrma.stanford.edu/~jos/pasp/Digital_Waveguide_Models.html
- Frequency-Dependent Damping: https://ccrma.stanford.edu/~jos/pasp/Frequency_Dependent_Damping.html
- Nonlinear Elements: https://ccrma.stanford.edu/~jos/pasp/Nonlinear_Elements.html
- Digital Waveguide Synthesis index: https://ccrma.stanford.edu/~jos/wg.html
Central Idea
Physical-modeling instruments can often be reduced to a practical signal path:
exciter -> resonant body -> damping/tone shaping -> output
For SpaceAge, this is more useful than trying to simulate entire physical objects in an expensive, academic way. We want efficient physical illusion: sound that behaves as if it has material, mass, tension, air, and decay.
Exciters
An exciter starts the sound.
Examples:
- Pluck
- Pick
- Mallet
- Stick
- Air burst
- Noise burst
- Membrane strike
- Impulse/click
SpaceAge-facing controls should use physical language:
- Strike
- Pluck
- Pick Position
- Beater
- Snap
- Air
- Attack Character
Resonant Bodies
A resonant body is what rings after excitation.
Examples:
- String
- Bar
- Tube
- Bell
- Plate
- Membrane
- Shell
- Room
- Synthetic resonator bank
SpaceAge-facing controls:
- Body
- Size
- Tension
- Material
- Shell
- Tube
- Plate
- Ring
- Resonance
Frequency-Dependent Damping
Real instruments usually do not decay evenly across all frequencies. High frequencies often die faster than lows. Some materials preserve upper partials longer than others.
Applications:
- Plucked strings should grow darker as they decay.
- Kicks should keep low-end after the click disappears.
- Snare noise should decay differently than shell tone.
- Bells should allow partials to decay at different speeds.
- Reverb tails should darken naturally instead of remaining static.
Implementation principle:
- Put stable low-pass or tone-shaping filters inside feedback loops and resonator paths.
- Make damping a sound-design control, not merely a hidden stability coefficient.
Digital Waveguides
Digital waveguides model traveling waves with delay lines plus filtering. They are especially useful for strings, tubes, bores, and reverb-like structures.
SpaceAge applications:
- Karplus-style plucked strings.
- Rubber bass/pluck instruments.
- Space harp and kalimba-style voices.
- Body comb/resonator flavor in Redshift.
- Delay-network thinking inside Halostar.
Key design rule:
- Digital waveguides can be very efficient and expressive, but feedback gain and filtering must be carefully controlled.
Modal Resonator Banks
Modal synthesis models a ringing object as a bank of resonators. This is useful when a full waveguide model is unnecessary or too expensive.
SpaceAge applications:
- Bells
- Plates
- Tubes
- Toms
- Kicks
- Snares
- Cymbals
- Metallic and ceramic percussion
Possible shared module:
- A
Modal Objectsresonator bank could be reused by Physical Model, Kick Lab, Snare Lab, Hat Lab, Redshift, and effects.
Nonlinear Elements
Nonlinearities create rich behavior but can destabilize feedback systems and cause aliasing.
Examples:
- Saturation
- Soft clipping
- Reed-like pressure curves
- Bow/string friction
- Membrane nonlinear response
- Feedback drive
SpaceAge rule:
- Nonlinearities inside feedback loops must be conservative, filtered, and possibly oversampled.
- If the sound gets brighter or more chaotic, assume aliasing and stability need attention.
Commuted Synthesis
Commuted synthesis can pre-bake or cheaply approximate body response instead of modeling the whole instrument body live.
SpaceAge applications:
- Add physical "body color" to sampled or synthesized hits.
- Give Drum Labs selectable body profiles without heavy CPU cost.
- Add resonant instrument bodies to Physical Model and hybrid pads.
Direct SpaceAge Application Notes
Physical Model
Priority improvements:
- Fractional-delay pluck voice.
- Loop damping filter.
- Pick/strike position.
- Material macro.
- Body resonator amount.
- Better A440 tuning behavior for pitched percussion.
Kick Lab
Better model:
click/transient -> sine/sub body -> knock resonator -> shell damping
Controls to consider:
- Beater
- Skin
- Shell
- Knock
- Sub Hold
- Damping
- Body Tune
Snare Lab
Better model:
stick transient + shell/body resonators + filtered snare-wire noise
Controls to consider:
- Shell
- Wire
- Snap
- Ring
- Damping
- Body Size
Hat Lab
Better model:
noise exciter + inharmonic metallic resonator cluster + damping/choke
Controls to consider:
- Metal Spread
- Stick
- Choke
- Air
- Damping
- Flux Amount
Redshift
Redshift can borrow physical modeling without becoming a physical synth:
- Body Comb should use stable damping.
- Metal Shimmer can become a small resonator cluster.
- X-Mod and Wave Fold should remain alias-aware.
- Motion controls should remain musical and tempo-aware.
Halostar
Halostar should borrow from waveguide/reverb thinking:
- Tuned delay networks.
- Diffusion/allpass stages.
- Tone-dependent damping.
- Stable feedback limits.
Future controls:
- Tail
- Diffusion
- Damping
- Orbit
- Shimmer
- Width
Product Philosophy
SpaceAge should not expose raw DSP machinery unless a user asks for expert depth. The default layer should translate technical power into musical intent.
Good user-facing words:
- Body
- Material
- Strike
- Damping
- Tension
- Ring
- Air
- Shell
- Size
- Diffusion
- Orbit
Words to hide or reserve for advanced views:
- Feedback coefficient
- Fractional delay
- Comb filter coefficient
- Allpass gain
- Modal frequency ratio
- Nonlinear transfer function
Standing Rule
When adding a DSP feature, ask:
- What musical behavior does this create?
- What user-facing control name makes that behavior obvious?
- Can the underlying DSP be shared with another SpaceAge system?
- Does it remain stable under modulation, feedback, and extreme settings?
- Does it inspire a musician quickly?