v0.0.0 is available. Check it out now 🚀
docs

Introduction

Preamble

Welcome 🦊

If you’re reading this, it’s likely because you care about how sound is made — not just what it sounds like, but how it emerges from code, from structure, from thought.

Devalang is not just a language. It’s an approach to sound. A way to compose audio with clarity, to experiment with rhythm and time, and to speak music fluently.


What is Devalang?

Devalang is a domain-specific language (DSL) for audio composition.

It lets you define instruments, patterns, effects, and interactions, using a clear and musical syntax.

It’s designed to be:

  • Declarative
    Describe what should happen, not how.
  • Modular
    Reusable blocks and plugins make it scalable.
  • Live-friendly
    Real-time rendering for algorave and performance.
  • WASM-native
    Cross-platform, fast, and portable.

Why Devalang?

Traditional DAWs are visual. Code-based environments are often clunky or verbose. Devalang aims to combine the expressiveness of writing with the directness of sound design.

  • Fast Prototyping
    Build ideas in seconds, without setup.
  • 🧠
    No Mental Overhead
    The syntax stays out of your way, letting you focus on sound.
  • 🎛️
    Composable Logic
    Group, trigger, and manipulate sound structurally.
  • 🧹
    Extensible System
    From custom synths to third-party plugins, extend as needed.
  • 🗬️
    Web-ready
    Runs anywhere thanks to WebAssembly, even in your browser.

Core Concepts

Before you dive in, it’s essential to understand the fundamental concepts behind Devalang - from how sounds are defined to how they’re organized and triggered.

Triggers

Triggers are the heartbeat of Devalang. They define when and how sounds are played. You can load custom triggers as well using the @load directive.

unknown.txt

Triggers can be namespaced, allowing you to create modular and reusable sound definitions.

Namespaced triggers are directly from your Devalang’s installed banks.

unknown.txt

Learn more about triggers

Learn more about bank

Groups

Groups are collections of sounds that can be triggered together. You can define groups to organize your sounds and patterns, making it easier to manage complex compositions.

unknown.txt

Learn more about groups


Philosophy

“A good language should let you think in music.”

Devalang encourages exploration. It gives you the tools, the syntax, and the engine — without imposing a fixed way to create.

You can start with a simple kick loop… and end up orchestrating an entire procedural soundtrack.


Roadmap

Devalang is in active development. Upcoming features include:

  • 🎛️ Native audio FX (delay, filter, distortion…)
  • 🖋️ In-editor docs, hover tips and autocomplete
  • 🌍 Plugin marketplace for sounds, synths, tools, presets and templates
  • 🎮 Game audio SDK integration (WASM export)