PedalKernel is a circuit-to-audio compiler. You describe a pedal the way you'd draw it on a napkin — resistors, caps, diodes, tubes, pots, with real values and real wiring — and PedalKernel compiles it into a real-time audio engine using Wave Digital Filters.
Every component shapes the sound the way the physical part would. A 220nF cap in the feedback loop rolls off differently than a 100nF. Germanium diodes clip softer than silicon. There are no "models" or "algorithms" to choose from — just the circuit.
pedal "Tube Screamer" {
components {
R1: resistor(4.7k) # These values are the tone
C1: cap(220n) # Change them and the sound changes
D1: diode_pair(silicon) # Si clips harder than Ge
Gain: pot(500k)
}
nets {
in -> C1.a
C1.b -> R1.a, D1.a
D1.b -> gnd
R1.b -> Gain.a
Gain.b -> out
}
controls {
Gain.position -> "Drive" [0.0, 1.0] = 0.5
}
}
git clone https://github.com/ajmwagar/pedalkernel
cd pedalkernel
cargo build --releaseFull documentation — DSL reference, API docs, roadmap, architecture notes — lives at docs.pedalkernel.com.
Contributions welcome. See CONTRIBUTING. First-time PRs get a one-click CLA signing prompt from CLA Assistant; full text at CLA.md.
AGPLv3 © Avery Wagar