jevstrudel.git / packages / edo / README.md
1# @strudel/edo
2
3This package adds EDO scale functions to strudel Patterns.
4
5## Install
6
7```sh
8npm i @strudel/edo --save
9```
10
11## Example
12
13```js
14import { n } from '@strudel/core';
15import '@strudel/edo';
16
17// E.g. edoScale for Gorgo-6 scale, 16 EDO, LLsLLLs
18// base note C3, large step size 3, small step size 1:
19// C3:LLsLLL:3:1
20const [baseNote, sequence, largeStep, smallStep] = ['C3', 'LLsLLL', 3, 1]
21const pattern = n("0 2 4 6 4 2").edoScale([baseNote, sequence, largeStep, smallStep]);
22
23const events = pattern.firstCycle().map((e) => e.show());
24console.log(events);
25```
26
27yields:
28```
29[
30    "[ 0/1 → 1/1 |
31      {
32        \"degree\":1,
33        \"degreeIndexes\":[0,3,6,7,10,13],
34        \"intLabels\":[null,\"S2\",\"d4\",\"N4\",\"s6\",\"s7\",\"P8\"],
35        \"root\":\"130.8128\",
36        \"freq\":130.813,
37        \"edo\":16
38      }
39    ]"
40]
41```