What is WebAssembly music and synthesis on petersalomonsen.com?

Updated

petersalomonsen.com is the personal site of Peter Salomonsen, a developer who builds tools where code meets music. The core idea is that a piece of music — its notes, its synthesizer instruments, its sequence, and its reactive visuals — can all exist as code compiled to WebAssembly and run live in the browser. You can play and edit the result in real time at webassemblymusic.pages.dev, and new tunes and videos appear regularly on his YouTube channel. The site also covers related work: bringing Git into web apps (wasm-git) and NEAR blockchain smart contracts.

What "WebAssembly music" actually means here

In this environment, a song is not a fixed audio file. It is a set of code artifacts that compile to WebAssembly and execute in the browser:

  • Notes and sequence — the musical patterns are written as code rather than recorded.
  • Instruments — synthesizers are built with Faust DSP code, which can be compiled to AssemblyScript and run as WebAssembly inside the environment (a pipeline he calls faust2as).
  • Visuals — reactive visuals are also code, driven by the same running system.

Because everything is code, you can edit it while it plays. That is what makes the "live" part meaningful: changing the source changes what you hear and see, without a separate render-and-export step.

Agentic composition: making a track by talking to an AI

One of the more distinctive threads on the site is composing by instructing an in-browser AI agent. The agent writes and edits the code — notes, Faust synth instruments, sequence, and visuals — on instruction, and that code compiles to WebAssembly and runs live.

Two documented examples show how this works in practice:

  • "Agentic composition" (July 2026) — a full track and teaser video made by talking to an in-browser AI agent. Salomonsen is explicit that he remains the composer, not a "prompt-and-pray generator": he directs the arrangement, plays patterns in on a MIDI keyboard, and edits the code where it matters.
  • "Prompted" (September 2026) — an italo-disco instrumental in D minor. The whole agent session was kept and published alongside the sources (131 instructions, in wasm-music-prompted). The most interesting part, by his account, was the choreography: the agent knew the name of a dance move but not the move itself, so it had to be specified foot by foot against the drum pattern.

The lesson from that second case is a useful one for anyone trying this: an agent may recognize a concept's label without knowing its concrete form, so precise, step-by-step specification is what turns intent into a working result.

Where the code lives and how it runs

A recurring theme is that the demos load directly from Git repositories stored on the NEAR blockchain via wasm-git. At the International Faust Conference 2026 (IFC 2026) in Cannes, both the concert and the Faust-to-AssemblyScript demo loaded this way.

The latest wasm-git demo runs entirely in the browser using OPFS (the Origin Private File System) with NEAR-backed sync. This connects to a broader argument he makes in a July 2026 article about bringing Git to web apps: using wasm-git and client-side encryption so users hold full custody of their own application data, with complete change history — and the responsibility that comes with holding your own keys.

How to explore it

What you want Where to go
Play and edit songs live webassemblymusic.pages.dev
Watch tunes and videos His YouTube channel
Read the composition stories The "Agentic composition" and "Prompted" write-ups on the site
See the agent session for "Prompted" Published next to the sources in wasm-music-prompted
Understand the data-custody angle The July 2026 article on Git in web apps

If you are a developer curious about running synthesis and live-coded music in the browser, the playable environment is the fastest way in — you can hear the result and then look at the code that produced it. If you are more interested in the AI-assisted workflow, the published "Prompted" session is the most concrete record available, since it shows the full instruction sequence rather than just the finished track.