Skip to main content

Crate use_pitch

Crate use_pitch 

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

Modules§

prelude

Structs§

MidiNoteNumber
PitchClassNumber
PitchName
PitchNumber

Enums§

PitchError
PitchRegister

Functions§

is_valid_midi_note_number

Type Aliases§

PitchClass
PitchSpelling