WebAssembly music

Peter Salomonsen

Agenda

Introduction

Background

   

Warning

The basics

App map

Sequencer

(same as in 4klang)

Generate sequencer data from code

javascript api to create patterns Pattern data
Patterns to be played per instrument

Record MIDI and generate code

Synthesizer

powered by WebAssembly
written in AssemblyScript

AssemblyScript

why did I choose it?

Synthesizing instruments in AssemblyScript

No sampled data, just code

Data driven or code driven?

Envelope Oscillator Filter out

AudioWorklet

AudioWorklet node messageport AudioWorklet processor messageport process(audiobuffer) WASM, song data WebAudio output pull audio

Latency

Export WASM

create self-contained WebAssembly executables that can render music

Sources on github

https://github.com/petersalomonsen/javascriptmusic

project contains the WebAssembly music experiment, and also the predecessing javascript music projects for Midi synths and 4klang.

Share songs using gists

https://petersalomonsen.com/webassemblymusic/livecodev2/?gist=166a3ceda9498e6d2a0d57b189ff5a68
https://petersalomonsen.com/webassemblymusic/livecodev2/?gist=0dd3fdd6cbc2ea6433c9e80635a68967
https://petersalomonsen.com/webassemblymusic/livecodev2/?gist=a74d2d036b3ecaa01af4e0f6d03ae7c4

Thank you!

more stuff coming soon...

petersalomonsen.com
twitter
spotify
youtube
--:--:--