A strongly-timed musical programming language inspired by ChucK, designed for simplicity, speed, and embeddability.
Gwion is a strongly-timed musical programming language inspired by ChucK, designed for creating music and audio applications. It provides built-in timing primitives that synchronize code execution with musical time, enabling real-time sound synthesis and algorithmic composition. The language is extendable through plugins and can be embedded into other software.
Audio programmers, musicians, and developers interested in live coding, sound synthesis, or creating interactive audio applications. It's particularly suited for those who want a language with precise timing control for musical events.
Developers choose Gwion for its strong timing model, simplicity, and embeddability, offering a modern alternative to ChucK with high-level features like templating and first-class functions. Its plugin-based architecture allows flexibility in audio backends and sound generation.
:musical_note: strongly-timed musical programming language
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Built-in timing primitives synchronize code execution with musical time, enabling precise control for live coding and algorithmic composition, as highlighted in the key features.
Includes templating and first-class functions, offering modern constructs that enhance code expressiveness and reusability, inspired by ChucK but with added capabilities.
Core audio functionality is provided through plugins like Jack and Soundpipe, allowing flexibility in sound generation and backend choices, as seen in the setup instructions.
Designed to be integrated into other applications as a scripting language, with a C API example in the README, making it suitable for games or interactive art.
Installation and audio plugin configuration are Linux-centric and require manual steps, such as building plugins and handling dependencies like Soundpipe, which the README admits is not seamless.
Online documentation is a work in progress, forcing users to rely on command-line flags (--cdoc) or community support, hindering learning and adoption.
Has a smaller community and fewer resources compared to established audio programming languages like SuperCollider, limiting available libraries, tutorials, and troubleshooting help.