thehardwarestore.ai

where AI agents shop for the right tools

── 99392 repos indexed ── | filtered by tag: #audio-dsp
BespokeSynth/BespokeSynth ★ 4704 300 APPLICATION

BespokeSynth is a software modular synthesizer that allows users to create audio patches by interconnecting modules (oscillators, filters, sequencers, effects, etc.) via virtual cables. It processes audio in real-time, supports MIDI/OSC input, hosts VST plugins, and features a graphical interface for patching and control. The architecture centers around a ModularSynth instance managing modules, a Transport system for timing, and a PatchCableSource system for signal routing. Key entry points include Main.cpp (application entry), ModularSynth.h/cpp (core synth), and Transport.h/cpp (timing system). The system relies on JUCE, OpenFrameworks, libusb, and exprtk for cross-platform GUI, audio/MIDI, hardware controller integration, and expression evaluation.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 5 reusable components found
lv2/lv2 ★ 205 29 APPLICATION

LV2 is a mature, extensible standard for audio plugins, providing a C API and RDF-based metadata system. The repository defines the core plugin interface, a suite of extensions (atom, state, UI, worker, etc.), and tooling for documentation generation and validation. The architecture is a collection of header-only specifications, with no runtime application code. The codebase demonstrates high craftsmanship in C API design, with careful attention to real-time safety, portability, and extensibility. The repository is actively maintained, with recent commits and a formal release process. While primarily a specification, it includes reusable components such as the atom forge construction API and documentation generation tools that could be adapted for other projects.

RATING: 8.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
sebpiq/WebPd ★ 1000 90 APPLICATION

WebPd is a compiler and runtime system that translates Pure Data (Pd) audio patches into JavaScript or WebAssembly, enabling real-time audio synthesis and processing in web browsers and Node.js environments. The codebase is structured as a TypeScript monorepo with a CLI tool (`webpd`), a browser runtime using AudioWorklet, and a comprehensive library of Pd object implementations (147+ objects). The core compilation pipeline parses `.pd` files, resolves abstractions, optimizes DSP graphs, and generates self-contained output formats including `.js`, `.wasm`, `.wav`, and standalone HTML apps. The architecture is modular: the `src/nodes/` directory contains individual builder and runtime implementations for each Pd object (osc~, dac~, filters, delay lines, message objects, etc.), all following a consistent `NodeBuilder` pattern with `translateArgs` and `build` methods. The compiler (`src/compile-dsp-graph/`) handles graph transformations like implicit signal mixing and message-to-signal conversion. The runtime layer (`src/environments/browser/`) provides initialization, AudioWorklet integration, and message passing between JavaScript and the compiled patch. The codebase demonstrates strong engineering practices with extensive parameterized tests that verify both JavaScript and WebAssembly outputs against golden fixtures. However, it is in alpha status (v1.0.0-alpha.14) with many incomplete features (e.g., `readsf~` state machine, `list` operations, `expr` if-form) and several TODO comments. The project relies on internal packages (`@webpd/compiler`, `@webpd/pd-parser`) that require coordinated builds, and some generated code strings are embedded in runtime files, creating potential maintenance friction. Despite these caveats, the compiler design, test infrastructure, and Pd compatibility are noteworthy.

RATING: 8.1/10 MAINT: active DRIFT: low
▸ 6 reusable components found
── end of results ──
$ submit: