strudel/packages/mini
Bradford Powell 0a558b963d add probabilistic tests for the ? and | mini-notation operators
The tests are probabilistic, so it is possible that if the
pseudo-random number generator changes in the future, we might
get results that fail. They work for the current PRNG, though,
and use boundaries for the number of values of different types
such that there should only be about a 1% probability that the
tests would fail by chance assuming that the PRNG returns
evenly distributed values.
2022-08-06 18:22:03 -04:00
..
test add probabilistic tests for the ? and | mini-notation operators 2022-08-06 18:22:03 -04:00
index.mjs add barrel exports 2022-05-17 00:22:50 +02:00
krill-parser.js update krill-parser for the changes to .pegjs file 2022-08-06 18:22:02 -04:00
krill.pegjs implement random choice in mini notation 2022-08-06 18:22:02 -04:00
mini.mjs Change offset for "stateful random" streams 2022-08-06 18:22:03 -04:00
package-lock.json add build:parser script once more.. 2022-06-27 00:01:59 +02:00
package.json add build:parser script once more.. 2022-06-27 00:01:59 +02:00
README.md remove codesandbox specific line 2022-03-28 00:31:56 +02:00

@strudel.cycles/mini

This package contains the mini notation parser and pattern generator.

Install

npm i @strudel.cycles/mini --save

Example

import { mini } from '@strudel.cycles/mini';

const pattern = mini('a [b c*2]');

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

yields:

(0/1 -> 1/2, 0/1 -> 1/2, a)
(1/2 -> 3/4, 1/2 -> 3/4, b)
(3/4 -> 7/8, 3/4 -> 7/8, c)
(7/8 -> 1/1, 7/8 -> 1/1, c)

Play with @strudel.cycles/mini codesandbox

Mini Notation API

See "Mini Notation" in the Strudel Tutorial