pitch
pitch is a collection of tools for working with musical pitch. It is implemented in TypeScript for Deno.
cent.ts
A Cent is a musical unit that equals 1/1200th of an octave.
centitone.ts
A centitone is a musical unit that equals 1/600th of an octave, which is equal to 2 cent.
diatonic.ts
A diatonic scale consists of seven of the twelve tones of the chromatic scale.
midi.ts
The MIDI standard associates numbers with the notes of the chromatic scale, for
example 69 for the pitch A4.
mts.ts
The MIDI Tuning Standard (MTS) defines how MIDI numbers get converted to absolute frequencies. For example, A4 at 440 hz corresponds to MIDI number 69.
pitch.ts
The Pitch type defines an absolute pitch with a Letter, Accidental, and
octave number. The Chroma type defines a pitch without an octave and models
the concept of a pitch class.
spn.ts
In Scientific Pitch Notation (SPN) a musical pitch is specified by combining a
musical note name (with accidental if needed) and a number identifying the
pitch’s octave. For example, A4, C#4, and Eb2 are valid pitches in SPN.
Such strings can be parsed with the parse function.
import { parse } from "https://deno.land/x/pitch/spn.ts";
const { letter, accidental, octave } = parse("C#4");
console.assert(letter === "C");
console.assert(accidental === "#");
console.assert(octave === 4);Given a Pitch object, the stringify function generates an SPN string.
import { stringify } from "https://deno.land/x/pitch/spn.ts";
const spn = stringify({
letter: "C",
accidental: "#",
octave: 4,
});
console.assert(spn === "C#4");