strudel/packages/webaudio
2026-01-18 10:39:53 +01:00
..
index.mjs Revert "Revert "Merge pull request 'supradough poc' (#1362) from supradough into main"" 2025-09-12 10:08:55 +02:00
package.json Publish 2026-01-17 19:12:20 -08:00
README.md refactor: remove now redundant controls imports 2024-02-28 00:36:44 +01:00
scope.mjs Document remaining functions 2025-10-12 16:07:11 +02:00
spectrum.mjs Document remaining functions 2025-10-12 16:07:11 +02:00
supradough.mjs Revert "Revert "Merge pull request 'supradough poc' (#1362) from supradough into main"" 2025-09-12 10:08:55 +02:00
vite.config.js remove cjs builds 2024-02-08 12:19:11 +01:00
webaudio.mjs update webaudio to main branch 2026-01-03 22:01:37 +01:00

@strudel/webaudio

This package contains helpers to make music with strudel and the Web Audio API. It is a thin binding to superdough.

Install

npm i @strudel/webaudio --save

Example

import { repl, note } from "@strudel/core";
import { initAudioOnFirstClick, getAudioContext, webaudioOutput } from "@strudel/webaudio";

initAudioOnFirstClick();
const ctx = getAudioContext();

const { scheduler } = repl({
  defaultOutput: webaudioOutput,
  getTime: () => ctx.currentTime
});

const pattern = note("c3", ["eb3", "g3"]).s("sawtooth");

scheduler.setPattern(pattern);
document.getElementById("start").addEventListener("click", () => scheduler.start());
document.getElementById("stop").addEventListener("click", () => scheduler.stop());

Play with the example codesandbox.

Read more in the docs about samples, synths and effects.