auxide-dsp

Crates.ioauxide-dsp
lib.rsauxide-dsp
version0.1.1
created_at2026-01-05 04:13:28.378329+00
updated_at2026-01-07 23:30:06.814813+00
descriptionComprehensive DSP node library for Auxide audio graphs. Includes oscillators, filters, effects, envelopes, and modulators for real-time audio synthesis.
homepage
repositoryhttps://github.com/Michael-A-Kuykendall/auxide-dsp
max_upload_size
id2023077
size7,202,690
Mike Kuykendall (Michael-A-Kuykendall)

documentation

README

auxide-dsp

auxide-dsp logo

Crates.io Documentation CI License: MIT

💝 Support Auxide's Growth

🚀 If Auxide helps you build amazing audio tools, consider sponsoring — 100% of support goes to keeping it free forever.

• $5/month: Coffee tier ☕ - Eternal gratitude + sponsor badge • $25/month: Bug prioritizer 🐛 - Priority support + name in SPONSORS.md • $100/month: Corporate backer 🏢 - Logo placement + monthly office hours • $500/month: Infrastructure partner 🚀 - Direct support + roadmap input

🎯 Become a Sponsor | See our amazing sponsors 🙏

DSP utilities and trait-based nodes for Auxide 0.3. This crate supplies helper functions, wavetable and window generators, and NodeDef-based DSP blocks that plug into the Auxide kernel via NodeType::External.

  • RT-safe: no allocations in process paths; all buffers preallocated during init.
  • Helpers: dB/linear conversions, phase increments, ms-to-samples, polyblep, interpolation.
  • Tables: sine/saw/square/triangle wavetables, Hann/Hamming/Blackman windows.
  • Nodes: Oscillators, Filters, Envelopes, LFO, Effects, Dynamics, Shapers, Pitch/Time, Utility.
  • Builders: SynthBuilder, EffectsChainBuilder for easy graph construction.

Auxide Ecosystem

Crate Description Version
auxide Real-time-safe audio graph kernel 0.2.1
auxide-dsp DSP nodes library 0.1.1
auxide-io Audio I/O layer 0.1.2
auxide-midi MIDI integration 0.1.1

Status

  • ✅ Architecture: Clean trait-based design with proper separation of concerns
  • ✅ RT-Safety: Verified zero allocations in process_block paths (dhat profiler tests)
  • ✅ Test Coverage: Basic functionality tests for all nodes
  • ✅ RT Allocation Tests: Comprehensive heap profiling validates RT guarantees
  • 📋 Node Coverage: ~40 nodes implemented, missing ~10 for full synthesis toolkit

See AUDIT_REPORT.md for detailed analysis.

Usage

Add to your Cargo.toml:

[dependencies]
auxide = "0.3"
auxide-dsp = "0.2"

Example

use auxide_dsp::builders::SynthBuilder;
use auxide_dsp::nodes::oscillators::SawOsc;
use auxide_dsp::nodes::filters::SvfFilter;
use auxide_dsp::nodes::filters::SvfMode;

let graph = SynthBuilder::new()
    .add_oscillator(SawOsc { freq: 440.0 })
    .add_filter(SvfFilter {
        cutoff: 1000.0,
        resonance: 0.5,
        mode: SvfMode::Lowpass,
    })
    .build_graph();

See examples/ for more usage.

Community & Support

• 🐛 Bug Reports: GitHub Issues • 💬 Discussions: GitHub Discussions • 📖 Documentation: docs/ • 💝 Sponsorship: GitHub Sponsors • 🤝 Contributing: CONTRIBUTING.md • 📜 Governance: GOVERNANCE.md • 🔒 Security: SECURITY.md

License & Philosophy

MIT License - forever and always.

Philosophy: DSP infrastructure should be invisible. Auxide is infrastructure.

Testing Philosophy: Reliability through comprehensive validation and property-based testing.

Forever maintainer: Michael A. Kuykendall
Promise: This will never become a paid product
Mission: Making real-time audio DSP simple and reliable

Commit count: 19

cargo fmt