# Old APIs These APIs are outdated and might break in the future. ## Webdirt API (deprecated) You can use the powerful sampling engine [Webdirt](https://github.com/dktr0/WebDirt) with Strudel. {{ 'Pattern.webdirt' | jsdoc }}

## Tone API (deprecated) The Tone API uses Tone.js instruments ands effects to create sounds. ### tone(instrument) To change the instrument of a pattern, you can pass any [Tone.js Source](https://tonejs.github.io/docs/14.7.77/index.html) to .tone: While this works, it is a little bit verbose. To simplify things, all Tone Synths have a shortcut: ```js const amsynth = (options) => new AMSynth(options); const duosynth = (options) => new DuoSynth(options); const fmsynth = (options) => new FMSynth(options); const membrane = (options) => new MembraneSynth(options); const metal = (options) => new MetalSynth(options); const monosynth = (options) => new MonoSynth(options); const noise = (options) => new NoiseSynth(options); const pluck = (options) => new PluckSynth(options); const polysynth = (options) => new PolySynth(options); const synth = (options) => new Synth(options); const sampler = (options, baseUrl?) => new Sampler(options); // promisified, see below const players = (options, baseUrl?) => new Sampler(options); // promisified, see below ``` ### sampler With sampler, you can create tonal instruments from samples: saw.struct("x*8").mul(16).round() .legato(4).scale('D dorian').slow(2) .tone(kalimba.toDestination()) )`} /> The sampler function promisifies [Tone.js Sampler](https://tonejs.github.io/docs/14.7.77/Sampler). Note that this function currently only works with this promise notation, but in the future, it will be possible to use async instruments in a synchronous fashion. ### players With players, you can create sound banks: "bd hh sn hh".tone(drums.toDestination()) ) `} /> The sampler function promisifies [Tone.js Players](https://tonejs.github.io/docs/14.7.77/Players). Note that this function currently only works with this promise notation, but in the future, it will be possible to use async instruments in a synchronous fashion. ### out Shortcut for Tone.Destination. Intended to be used with Tone's .chain: This alone is not really useful, so read on.. ### vol(volume) Helper that returns a Gain Node with the given volume. Intended to be used with Tone's .chain: ### osc(type) Helper to set the waveform of a synth, monosynth or polysynth: The base types are `sine`, `square`, `sawtooth`, `triangle`. You can also append a number between 1 and 32 to reduce the harmonic partials. ### lowpass(cutoff) Helper that returns a Filter Node of type lowpass with the given cutoff. Intended to be used with Tone's .chain: ### highpass(cutoff) Helper that returns a Filter Node of type highpass with the given cutoff. Intended to be used with Tone's .chain: ### adsr Helper to set the envelope of a Tone.js instrument. Intended to be used with Tone's .set: