PLAYA (pronounced ˈpleɪə
) is a framework for musical composition. It allows creating custom music algorithms, musical phrases, percussion rhythms, harmonic sequences and more.
npm install --save playa
import { Chord, Key, Rhythm } from 'playa';
// or everything
import * as Playa from 'playa';
const { Chord, Key, Rhythm } = require('playa');
// or everything
const Playa = require('playa');
import { Scale, createMotif } from 'playa';
const scale = new Scale('A', Scale.Major);
createMotif(scale.notes, ['4n', '2n', '8nt']);
/* =>
[
{ time: 0, dur: 480, next: 480, midi: 73, note: 'C#4', isRest: false },
{ time: 480, dur: 960, next: 1440, midi: 80, note: 'G#4', isRest: false },
{ time: 1440, dur: 160, next: 1600, midi: 74, note: 'D4', isRest: false }
]
*/
Interactive guide here which uses Tone.js for the sound.
An example of using PLAYA with P5 and Tone.js - PLAYA meets P5
Can be found here.