staff 0.6.0

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

Staff

crate documentation

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

staff

Installation

cargo install staff --features=cli

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));