staff 0.11.0

Music theory library with midi, notes, chords, scales, and more
Documentation

Staff

crate documentation

Website

Music theory and score rendering library with midi, notes, chords, scales, and more.

Usage

use staff::{midi, Chord, Pitch};

let chord = Chord::from_midi(
    midi!(C, 4),
    [midi!(E, 3), midi!(G, 3), midi!(C, 4)]
);

assert_eq!(chord.to_string(), "C/E");

let pitches = [Pitch::E, Pitch::G, Pitch::C];
assert!(chord.into_iter().eq(pitches));

Features

  • render: Enable render module
    • svg: Enable rendering to SVG
  • synth: Enable synth module for
  • serde: Impl Deserialize and Serialize for many crate types