Skip to content

fluid-music/open-drums

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Open Drums For Fluid Music

This repo contains a collection of drum sample libraries packaged for the fluid-music system. All packages are available via npm:

The samples are originally came from machines.hyperreal.org.

Notation

In Open Drums, all drum sounds are mapped to one character. Case matters, you can even use emojis.

Example

This is what two measures of snare, kick, and hi-hat transcribed with 'fluid-music' look like:

const score = {
  r:      '1 + 2 + 3 + 4 + ',
  snare: ['    k       k   ', '    k       k   '],
  kick:  ['B               ', '          B  B  '],
  hat:   ['h h h h h h h h ', 'h h h h h h h h '],
}

Here, we have 4 tracks, the first one is the rhythm string, notated with 'r', and then we have three tracks, one for each drum voice: 'snare', 'kick' and 'hat'.

For more info https://github.com/fluid-music/fluid-music/blob/main/docs/concepts.md#rhythm-string

  • B: Bass drum - less click, longer sustain
  • b: Bass drum - more click, short sustain
  • h: closed hat
  • H: open hat
  • k: short snare
  • K: long snare
  • p: clap 👏
  • '👏':emoji clap

Example

We suggest this example to try a score to be rendered with three different drum machines.

const fluid = require('fluid-music');
const tr707 = require('@fluid-music/tr-707');
const tr808 = require('@fluid-music/tr-808');
const tr909 = require('@fluid-music/tr-909');

const session = new fluid.FluidSession({bpm: 180});

const score = {
  r:      '1 + 2 + 3 + 4 + ',
  snare: ['    k       k   ', '    k       k   '],
  kick:  ['B               ', '          B  B  '],
  hat:   ['h h h h h h h h ', 'h h h h h h h h '],
}

const tLibraries = [tr707.tLibrary, tr808.tLibrary, tr909.tLibrary];

for (const tLibrary of tLibraries) {
  session.insertScore(score, {tLibrary});
}

session.finalize();

session.saveAsReaperFile('drumExamples')
  .then(() => console.log('done'))
  .catch((error) => console.log(error));

About

Drum sample libraries packaged for fluid-music

Resources

Stars

Watchers

Forks

Packages

No packages published