K-synth – A web-based array language playground for synth design
K-inspired array language for audio synthesis running entirely in your browser.

APL-style syntax generates waveforms in-browser when Sonic Pi and SuperCollider require installation.
Experimental musicians, APL/K language enthusiasts, live coders
Sonic Pi · Tidal Cycles · SuperCollider
Live Toolkit: https://octetta.github.io/k-synth/
If you visit the page, here is a quick path to an audio payoff:
- Click "patches" and choose dm-bell.ks.
- Click "run"—the notebook area will update. Click the waveform to hear the result.
- Click the "->0" button below the waveform to copy it into slot 0 at the top (slots are also clickable).
- Click "pads" in the entry area to show a performance grid.
- Click "melodic" to play slot 0's sample at different intervals across the grid.
The 'Weird' Stack:
- The Language: A simplified, right-associative array language (e.g., s for sine, p for pi).
- The Web Toolkit: Built using WASM and Web Audio for live-coding samples.
- AI Pair-Programming: I used AI agents to bootstrap the parser and web boilerplate, which let me vet the language design in weeks rather than months.
The Goal: This isn't meant to replace a DAW. It’s a compact way to generate samples for larger projects. It’s currently in a "will-it-blend" state. I’m looking for feedback from the array language and DSP communities—specifically on the operator choices and the right-to-left evaluation logic.
Source (MIT): https://github.com/octetta/k-synth
K-inspired array language for audio synthesis running entirely in your browser.
Notepad++ clone with Git + AI, but VS Code and Cursor already own this space.
Cucumber and CodeceptJS already do BDD testing — this adds nothing new.
Prefix notation language that cuts LLM token usage by 70% compared to Python or C.
JavaScript compiler outputs native x86-64 without LLVM, but why build another systems language?
Italian syntax is charming but limits audience to Italian speakers specifically.