A graph-oriented live coding language and audio DSP library written in Rust for real-time music creation and audio development.
Glicol is a graph-oriented live coding language and audio engine written in Rust, designed for real-time audio synthesis and digital signal processing. It enables users to create and manipulate audio by connecting nodes in a graph, similar to hardware modular synthesis, and runs across platforms including web browsers, VST plugins, and embedded systems like Bela boards. The project bridges high-level music control with low-level, sample-accurate audio manipulation.
Glicol is for live coding performers, educators teaching electronic music or DSP, and audio developers building web-based music apps, VST plugins, or embedded audio systems. It targets both beginners with no coding or music production experience and experienced music coders looking for rapid prototyping tools.
Developers choose Glicol for its unique graph-oriented paradigm with intuitive operators (>> and ~) for signal routing, enabling a hardware-like modular workflow. Its cross-platform execution via WebAssembly allows for zero-installation, collaborative live coding in browsers, while the underlying Rust audio library offers performance and safety for audio app development.
Graph-oriented live coding language and music/audio DSP library written in Rust
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses operators like `>>` and `~` to connect audio nodes, mimicking hardware modular synthesis for easy signal routing, as demonstrated in the syntax examples.
Runs on browsers via WebAssembly, VST plugins, and Bela boards, enabling zero-installation access and flexible deployment, highlighted in the README's platform support.
Employs an LCS algorithm for declarative programming with real-time graph modifications, allowing code changes without audio interruption, a key feature in the web app.
Built with 'low entry fee and high ceilings,' making it accessible for beginners teaching DSP while powerful for experts, as stated in the philosophy section.
The project is pre-1.0 with potential API changes, making it risky for production use, as admitted in the roadmap note about live performances.
Focuses on core engine and basic nodes; complex effects often require building from scratch or using meta nodes, unlike mature DAWs with extensive libraries.
For advanced audio development with the Rust library, users must handle Rust and Cargo setup, which adds overhead compared to pure JavaScript solutions.