Skip to content

Latest commit

 

History

History
30 lines (20 loc) · 1.06 KB

drum_synth_plugin.md

File metadata and controls

30 lines (20 loc) · 1.06 KB

Drum Synth

Purpose

the project contains an internal Drum Synth plugin. Its purpose is to generate synthesized drum hits, such as base drums and hats.

Sounds are generated as sums of several identical, but separately configurable, oscillators each having ADSR envelopes for volume and pitch.

Implementation

The implementation is pure Python. It might seem slow, but, considering use case (generate once, use many times, as in conventional drum machine), it is actually acceptable.

Related classes:

  • OneShotOscillator
    • models a single ADSR-controlled ocillator
  • DrumSynthGenerator
    • a low-level generation plugin
  • DrumSynthGeneratorConfig
    • a simple data class containing settings for a generator such as per-osciallator ADSR envelope parameters (there are 4 oscillators)
  • DrumSynthStrategy
    • a standard hybrid processing strategy. Consumes events (such as parameter changes and notes)
  • DrumSynthPlugin
    • a project-level abstraction to be put to audio tracks

Demo

There is a drum synth track in "Riding on bugs" demo song