Back to browse
What if your synthesizer was powered by APL (or a dumb K clone)?

What if your synthesizer was powered by APL (or a dumb K clone)?

by octetta·Mar 15, 2026·92 points·33 comments

AI Analysis

●●SolidNiche GemWizardryRabbit Hole

APL-style syntax generates waveforms in-browser when Sonic Pi and SuperCollider require installation.

Strengths
  • APL/K array language for waveform generation is genuinely novel approach to code-based synthesis
  • WebAssembly implementation means zero installation, runs entirely client-side in any browser
  • Performance pads grid lets you play generated samples musically without rewriting code
Weaknesses
  • Extremely niche audience — requires knowing APL/K concepts to be productive at all
  • No MIDI support or DAW integration mentioned, limits real music production workflows
Category
Target Audience

Experimental musicians, APL/K language enthusiasts, live coders

Similar To

Sonic Pi · Tidal Cycles · SuperCollider

Post Description

I built k-synth as an experiment to see if a minimalist, K-inspired array language could make sketching waveforms faster and more intuitive than traditional code. I’ve put together a web-based toolkit so you can try the syntax directly in the browser without having to touch a compiler:

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

Similar Projects