Felix Roos 8f58d5788f
Publish
- @strudel/csound@1.2.1
 - @strudel/midi@1.2.1
 - @strudel/repl@1.2.1
 - @strudel/soundfonts@1.2.1
 - superdough@1.2.1
 - vite-plugin-bundle-audioworklet@0.1.1
 - @strudel/web@1.2.1
 - @strudel/webaudio@1.2.1
2025-05-01 23:54:13 +02:00
..
2024-11-09 20:57:09 +01:00
2025-05-01 23:54:13 +02:00
2024-06-02 23:12:31 +02:00
2024-12-16 23:18:20 +01:00
2024-02-08 12:19:11 +01:00
2024-05-30 14:36:28 +02: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.