strudel/packages/tonal
2026-01-23 23:40:51 +01:00
..
test Don't tag when scale fails, allow mixed sharps and flats, simplify scale function 2025-10-16 16:26:33 -05:00
index.mjs fix: tonal import in autocomplete + add tonal to codemirror package dependencies 2025-10-18 08:49:31 +02:00
ireal.mjs fix: ^7 voicings 2023-07-23 21:18:18 +02:00
package.json Publish 2026-01-17 15:26:28 -08:00
README.md the big rename: @strudel.cycles/* -> @strudel/* 2024-01-18 09:54:37 +01:00
tonal.mjs tagging a lot of superdough functions 2026-01-23 23:40:51 +01:00
tonleiter.mjs Working version with note names 2025-08-22 11:25:13 -05:00
vite.config.js remove cjs builds 2024-02-08 12:19:11 +01:00
voicings.mjs tagging a lot of superdough functions 2026-01-23 23:40:51 +01:00

@strudel/tonal

This package adds tonal / harmonic functions to strudel Patterns.

Install

npm i @strudel/tonal --save

Example

import { sequence } from '@strudel/core';
import '@strudel/tonal';

const pattern = sequence(0, [1, 2]).scale('C major');

const events = pattern.firstCycle().map((e) => e.show());

yields:

(0/1 -> 1/2, 0/1 -> 1/2, C3)
(1/2 -> 3/4, 1/2 -> 3/4, D3)
(3/4 -> 1/1, 3/4 -> 1/1, E3)

play with @strudel/tonal codesandbox

Tonal API

See "Tonal API" in the Strudel Tutorial