Expand description
§use-pitch
Symbolic pitch metadata primitives for RustUse.
§Experimental
use-pitch is experimental while use-music remains below version 0.3.0.
§Example
use use_pitch::{MidiNoteNumber, PitchClassNumber, PitchRegister};
let note = MidiNoteNumber::new(60)?;
let class = PitchClassNumber::new(0)?;
assert_eq!(note.pitch_class().value(), class.value());
assert_eq!(note.octave(), 4);
assert_eq!(PitchRegister::OneLine.as_str(), "one-line");§Scope
- Pitch classes, pitch class numbers, pitch numbers, MIDI note-number metadata, pitch names, spellings, and register labels.
- Small helpers for pitch class and octave extraction from MIDI-style note numbers.
§Relationship to use-acoustics
use-pitch models symbolic and numeric pitch metadata only. Physical frequency and wave calculations belong in use-acoustics and use-wave.
§Non-goals
- Frequency, wavelength, pitch detection, tuning engines, audio playback, synthesis, or MIDI device I/O.
§License
Licensed under either Apache-2.0 or MIT.