use-scale 0.0.1

Scale pattern metadata primitives for RustUse.
Documentation
  • Coverage
  • 2.22%
    1 out of 45 items documented1 out of 22 items with examples
  • Size
  • Source code size: 13.69 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 821.25 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Ø build duration
  • this release: 5s Average build duration of successful builds.
  • all releases: 5s Average build duration of successful builds in releases after 2024-10-23.
  • Links
  • Homepage
  • RustUse/use-music
    1 0 0
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • CloudBranch

use-scale

Scale pattern metadata primitives for RustUse.

Experimental

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

Example

use use_scale::{ScaleKind, ScaleName, ScalePattern};

let name = ScaleName::new("C major")?;
let pattern = ScalePattern::new([2, 2, 1, 2, 2, 2, 1])?;

assert_eq!(name.as_str(), "C major");
assert_eq!(ScaleKind::Major.as_str(), "major");
assert!(pattern.is_heptatonic());
# Ok::<(), use_scale::ScaleError>(())

Scope

  • Scale names, kinds, degrees, tone counts, and semitone step patterns.
  • Small helpers for heptatonic, pentatonic, and chromatic classification.

Relationship to use-acoustics

use-music keeps symbolic music metadata separate from use-acoustics, which owns physical sound calculations such as frequency, wavelength, decibels, sound pressure, sound intensity, period, angular frequency, and speed-of-sound approximations.

Non-goals

  • Audio generation, scale playback, full harmonic analysis, or automatic composition.

License

Licensed under either Apache-2.0 or MIT.