Skip to content

ajmwagar/pedalkernel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

623 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PedalKernel Logo

PedalKernel

Real components. Real circuits. Real tone.

Write a schematic in .pedal files. Hear it. Build it.

Rust JACK License: AGPL v3


What is PedalKernel?

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.

Quick example

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
  }
}

Quick start

git clone https://github.com/ajmwagar/pedalkernel
cd pedalkernel
cargo build --release

Documentation

Full documentation — DSL reference, API docs, roadmap, architecture notes — lives at docs.pedalkernel.com.

Contributing

Contributions welcome. See CONTRIBUTING. First-time PRs get a one-click CLA signing prompt from CLA Assistant; full text at CLA.md.

License

AGPLv3 © Avery Wagar

About

Real components. Real circuits. Real tone.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors