use-pitch 0.0.1

Symbolic pitch metadata primitives for RustUse.
Documentation
# use-pitch

Symbolic pitch metadata primitives for `RustUse`.

## Experimental

use-pitch is experimental while use-music remains below version 0.3.0.

## Example

~~~rust
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");
# Ok::<(), use_pitch::PitchError>(())
~~~

## 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.