Expand description
§use-music
Facade over the focused RustUse symbolic music primitive crates.
§Experimental
use-music is experimental while the workspace remains below 0.3.0.
§Example
use use_music::{BeatsPerMinute, ChordSymbol, NoteName, TimeSignature};
let note = NoteName::new("C#4")?;
let chord = ChordSymbol::new("Cmaj7")?;
let meter = TimeSignature::new(4, 4)?;
let tempo = BeatsPerMinute::new(120.0)?;
assert_eq!(note.as_str(), "C#4");
assert_eq!(chord.as_str(), "Cmaj7");
assert!(meter.is_common_time_like());
assert_eq!(tempo.value(), 120.0);§Scope
- Re-exports all focused
use-musiccrates. - Keeps implementation logic in the child crates.
§Non-goals
- Audio generation, DSP, synthesis, playback, MIDI device I/O, notation rendering, or full parser behavior.
§License
Licensed under either Apache-2.0 or MIT.
Re-exports§
pub use use_articulation as articulation;pub use use_chord as chord;pub use use_dynamics as dynamics;pub use use_interval as interval;pub use use_key as key;pub use use_meter as meter;pub use use_midi as midi;pub use use_mode as mode;pub use use_notation as notation;pub use use_note as note;pub use use_pitch as pitch;pub use use_rhythm as rhythm;pub use use_scale as scale;pub use use_tempo as tempo;pub use use_tuning as tuning;
Structs§
- Beats
PerMeasure - Beats
PerMinute - Cents
- Chord
Inversion - Chord
Name - Chord
Symbol - Circle
OfFifths Position - Compound
Interval - Diatonic
Step Distance - Dotted
Duration - Dynamic
Level - Enharmonic
Spelling - Equal
Temperament Division - Expression
Marking - Interval
Name - Interval
Number - KeyAccidental
Count - KeyName
- KeySignature
- Measure
Number - Measure
Position - Metric
Accent Pattern - Metronome
Mark - Microtonal
Division - Midi
Channel - Midi
Controller Number - Midi
Port Name - Midi
Program Number - Midi
Velocity - Mode
Degree - Mode
Name - Note
Duration - Note
Name - Octave
- Pitch
Class Number - Pitch
Name - Pitch
Number - Reference
Pitch - Rest
Duration - Rhythm
Pattern Name - Rhythmic
Position - Scale
Degree - Scale
Name - Scale
Pattern - Scale
Tone Count - Score
Part Name - Semitone
Distance - Simple
Interval - Staff
Line Count - Tempo
MapPoint - Tempo
Range - Time
Signature - Tonic
- Tuning
Ratio - Tuplet
Ratio
Enums§
- Accent
Dynamic Kind - Accidental
- Articulation
Error - Articulation
Kind - Barline
Kind - Beat
Division - Beat
Unit - Chord
Error - Chord
Quality - Chord
Tone Role - Chord
Voicing Kind - Church
Mode - Clef
Kind - Concert
Pitch Standard - Duration
Value - Dynamic
Change Kind - Dynamic
Marking - Dynamics
Error - Ending
Kind - Hairpin
Kind - Interval
Direction - Interval
Error - Interval
Quality - KeyError
- KeyMode
- Meter
Error - Meter
Kind - Midi
Device Kind - Midi
Error - Midi
Event Kind - Midi
Message Kind - Midi
Profile Kind - Midi
Property Kind - Midi
UmpMessage Kind - Midi
Version - Modal
Brightness - Mode
Error - Mode
Family - Mode
Kind - Music
Document Kind - Notation
Error - Notation
Format - Notation
Symbol Kind - Note
Class - Note
Error - Note
Letter - Ornament
Kind - Parallel
KeyRelation - Performance
Technique - Phrase
Mark Kind - Pickup
Measure Kind - Pitch
Error - Pitch
Register - Reference
Note - Relative
KeyRelation - Repeat
Mark Kind - Rhythm
Error - Rubato
Kind - Scale
Error - Scale
Kind - Seventh
Chord Kind - Slur
Kind - Staff
Kind - Syncopation
Kind - Temperament
Kind - Tempo
Change Kind - Tempo
Error - Tempo
Marking - TieKind
- Triad
Kind - Tuning
Error - Tuning
System