Skip to content

EZ Web Audio / Note

Class: Note ​

Defined in: packages/core/src/note.ts:30

A musical note without audio data.

Note represents musical identity (letter, accidental, octave, frequency) without any audio capabilities. Use SampledNote for notes with audio. Note is useful for UI components that display note information.

Example ​

typescript
import { Note } from 'ez-web-audio'

const note = new Note({ letter: 'A', octave: '4' })
console.log(note.frequency)  // 440
console.log(note.identifier) // "A4"

// Or create from frequency
const noteFromFreq = new Note({ frequency: 440 })
console.log(noteFromFreq.identifier) // "A4"

// Or create from identifier
const noteFromId = new Note({ identifier: 'Bb3' })
console.log(noteFromId.letter)     // "B"
console.log(noteFromId.accidental) // "b"
console.log(noteFromId.octave)     // "3"

Extends ​

  • MusicalIdentity<typeof __class, this> & (Anonymous class)<this>

Implements ​

  • IMusicallyAware

Indexable ​

[key: string]: any

Constructors ​

Constructor ​

new Note(opts?): Note

Defined in: packages/core/src/note.ts:31

Parameters ​

opts? ​
accidental? ​

Accidental

frequency? ​

number

identifier? ​

"C0" | "Db0" | "C#0" | "D0" | "Eb0" | "D#0" | "E0" | "F0" | "Gb0" | "F#0" | "G0" | "Ab0" | "G#0" | "A0" | "Bb0" | "A#0" | "B0" | "C1" | "Db1" | "C#1" | "D1" | "Eb1" | "D#1" | "E1" | "F1" | "Gb1" | "F#1" | "G1" | "Ab1" | "G#1" | "A1" | "Bb1" | "A#1" | "B1" | "C2" | "Db2" | "C#2" | "D2" | "Eb2" | "D#2" | "E2" | "F2" | "Gb2" | "F#2" | "G2" | "Ab2" | "G#2" | "A2" | "Bb2" | "A#2" | "B2" | "C3" | "Db3" | "C#3" | "D3" | "Eb3" | "D#3" | "E3" | "F3" | "Gb3" | "F#3" | "G3" | "Ab3" | "G#3" | "A3" | "Bb3" | "A#3" | "B3" | "C4" | "Db4" | "C#4" | "D4" | "Eb4" | "D#4" | "E4" | "F4" | "Gb4" | "F#4" | "G4" | "Ab4" | "G#4" | "A4" | "Bb4" | "A#4" | "B4" | "C5" | "Db5" | "C#5" | "D5" | "Eb5" | "D#5" | "E5" | "F5" | "Gb5" | "F#5" | "G5" | "Ab5" | "G#5" | "A5" | "Bb5" | "A#5" | "B5" | "C6" | "Db6" | "C#6" | "D6" | "Eb6" | "D#6" | "E6" | "F6" | "Gb6" | "F#6" | "G6" | "Ab6" | "G#6" | "A6" | "Bb6" | "A#6" | "B6" | "C7" | "Db7" | "C#7" | "D7" | "Eb7" | "D#7" | "E7" | "F7" | "Gb7" | "F#7" | "G7" | "Ab7" | "G#7" | "A7" | "Bb7" | "A#7" | "B7" | "C8" | "Db8" | "C#8" | "D8" | "Eb8" | "D#8"

letter? ​

NoteLetter

octave? ​

Octave

Returns ​

Note

Overrides ​

MusicallyAware(class {}).constructor

Properties ​

accidental ​

accidental: Accidental = ''

Defined in: packages/core/src/musical-identity.ts:110

The accidental: "" (natural), "b" (flat), or "#" (sharp). For note "Ab5", this would be "b".

Implementation of ​

IMusicallyAware.accidental

Inherited from ​

MusicallyAware(class {}).accidental


letter ​

letter: NoteLetter = 'A'

Defined in: packages/core/src/musical-identity.ts:104

The note letter (A-G). For note "Ab5", this would be "A".

Implementation of ​

IMusicallyAware.letter

Inherited from ​

MusicallyAware(class {}).letter


octave ​

octave: Octave = '0'

Defined in: packages/core/src/musical-identity.ts:115

The octave (0-8). For note "Ab5", this would be "5".

Implementation of ​

IMusicallyAware.octave

Inherited from ​

MusicallyAware(class {}).octave

Accessors ​

frequency ​

Get Signature ​

get frequency(): number

Defined in: packages/core/src/musical-identity.ts:144

The frequency of the note in hertz.

Computed from the note identifier using standard piano frequencies. Setting this value updates all other properties to match.

Example ​
typescript
note.frequency = 440 // Sets to A4
console.log(note.identifier) // "A4"
Returns ​

number

Set Signature ​

set frequency(value): void

Defined in: packages/core/src/musical-identity.ts:159

Setting frequency resolves to the nearest tabled note within FREQUENCY_MATCH_TOLERANCE_CENTS cents (a computed/synthesized frequency rarely lands on an exact table value). If nothing is close enough, a warning is logged and the identifier is left unchanged rather than silently going stale.

Parameters ​
value ​

number

Returns ​

void

Implementation of ​

IMusicallyAware.frequency

Inherited from ​

MusicallyAware(class {}).frequency


identifier ​

Get Signature ​

get identifier(): "C0" | "Db0" | "C#0" | "D0" | "Eb0" | "D#0" | "E0" | "F0" | "Gb0" | "F#0" | "G0" | "Ab0" | "G#0" | "A0" | "Bb0" | "A#0" | "B0" | "C1" | "Db1" | "C#1" | "D1" | "Eb1" | "D#1" | "E1" | "F1" | "Gb1" | "F#1" | "G1" | "Ab1" | "G#1" | "A1" | "Bb1" | "A#1" | "B1" | "C2" | "Db2" | "C#2" | "D2" | "Eb2" | "D#2" | "E2" | "F2" | "Gb2" | "F#2" | "G2" | "Ab2" | "G#2" | "A2" | "Bb2" | "A#2" | "B2" | "C3" | "Db3" | "C#3" | "D3" | "Eb3" | "D#3" | "E3" | "F3" | "Gb3" | "F#3" | "G3" | "Ab3" | "G#3" | "A3" | "Bb3" | "A#3" | "B3" | "C4" | "Db4" | "C#4" | "D4" | "Eb4" | "D#4" | "E4" | "F4" | "Gb4" | "F#4" | "G4" | "Ab4" | "G#4" | "A4" | "Bb4" | "A#4" | "B4" | "C5" | "Db5" | "C#5" | "D5" | "Eb5" | "D#5" | "E5" | "F5" | "Gb5" | "F#5" | "G5" | "Ab5" | "G#5" | "A5" | "Bb5" | "A#5" | "B5" | "C6" | "Db6" | "C#6" | "D6" | "Eb6" | "D#6" | "E6" | "F6" | "Gb6" | "F#6" | "G6" | "Ab6" | "G#6" | "A6" | "Bb6" | "A#6" | "B6" | "C7" | "Db7" | "C#7" | "D7" | "Eb7" | "D#7" | "E7" | "F7" | "Gb7" | "F#7" | "G7" | "Ab7" | "G#7" | "A7" | "Bb7" | "A#7" | "B7" | "C8" | "Db8" | "C#8" | "D8" | "Eb8" | "D#8"

Defined in: packages/core/src/musical-identity.ts:210

The full note identifier (e.g., "A4", "Bb3", "C#5").

Computed from letter, accidental, and octave. Setting this value updates all other properties to match.

Example ​
typescript
note.identifier = 'Bb3'
console.log(note.letter)     // "B"
console.log(note.accidental) // "b"
console.log(note.octave)     // "3"
console.log(note.frequency)  // 233.08
Returns ​

"C0" | "Db0" | "C#0" | "D0" | "Eb0" | "D#0" | "E0" | "F0" | "Gb0" | "F#0" | "G0" | "Ab0" | "G#0" | "A0" | "Bb0" | "A#0" | "B0" | "C1" | "Db1" | "C#1" | "D1" | "Eb1" | "D#1" | "E1" | "F1" | "Gb1" | "F#1" | "G1" | "Ab1" | "G#1" | "A1" | "Bb1" | "A#1" | "B1" | "C2" | "Db2" | "C#2" | "D2" | "Eb2" | "D#2" | "E2" | "F2" | "Gb2" | "F#2" | "G2" | "Ab2" | "G#2" | "A2" | "Bb2" | "A#2" | "B2" | "C3" | "Db3" | "C#3" | "D3" | "Eb3" | "D#3" | "E3" | "F3" | "Gb3" | "F#3" | "G3" | "Ab3" | "G#3" | "A3" | "Bb3" | "A#3" | "B3" | "C4" | "Db4" | "C#4" | "D4" | "Eb4" | "D#4" | "E4" | "F4" | "Gb4" | "F#4" | "G4" | "Ab4" | "G#4" | "A4" | "Bb4" | "A#4" | "B4" | "C5" | "Db5" | "C#5" | "D5" | "Eb5" | "D#5" | "E5" | "F5" | "Gb5" | "F#5" | "G5" | "Ab5" | "G#5" | "A5" | "Bb5" | "A#5" | "B5" | "C6" | "Db6" | "C#6" | "D6" | "Eb6" | "D#6" | "E6" | "F6" | "Gb6" | "F#6" | "G6" | "Ab6" | "G#6" | "A6" | "Bb6" | "A#6" | "B6" | "C7" | "Db7" | "C#7" | "D7" | "Eb7" | "D#7" | "E7" | "F7" | "Gb7" | "F#7" | "G7" | "Ab7" | "G#7" | "A7" | "Bb7" | "A#7" | "B7" | "C8" | "Db8" | "C#8" | "D8" | "Eb8" | "D#8"

Set Signature ​

set identifier(value): void

Defined in: packages/core/src/musical-identity.ts:232

Parameters ​
value ​

"C0" | "Db0" | "C#0" | "D0" | "Eb0" | "D#0" | "E0" | "F0" | "Gb0" | "F#0" | "G0" | "Ab0" | "G#0" | "A0" | "Bb0" | "A#0" | "B0" | "C1" | "Db1" | "C#1" | "D1" | "Eb1" | "D#1" | "E1" | "F1" | "Gb1" | "F#1" | "G1" | "Ab1" | "G#1" | "A1" | "Bb1" | "A#1" | "B1" | "C2" | "Db2" | "C#2" | "D2" | "Eb2" | "D#2" | "E2" | "F2" | "Gb2" | "F#2" | "G2" | "Ab2" | "G#2" | "A2" | "Bb2" | "A#2" | "B2" | "C3" | "Db3" | "C#3" | "D3" | "Eb3" | "D#3" | "E3" | "F3" | "Gb3" | "F#3" | "G3" | "Ab3" | "G#3" | "A3" | "Bb3" | "A#3" | "B3" | "C4" | "Db4" | "C#4" | "D4" | "Eb4" | "D#4" | "E4" | "F4" | "Gb4" | "F#4" | "G4" | "Ab4" | "G#4" | "A4" | "Bb4" | "A#4" | "B4" | "C5" | "Db5" | "C#5" | "D5" | "Eb5" | "D#5" | "E5" | "F5" | "Gb5" | "F#5" | "G5" | "Ab5" | "G#5" | "A5" | "Bb5" | "A#5" | "B5" | "C6" | "Db6" | "C#6" | "D6" | "Eb6" | "D#6" | "E6" | "F6" | "Gb6" | "F#6" | "G6" | "Ab6" | "G#6" | "A6" | "Bb6" | "A#6" | "B6" | "C7" | "Db7" | "C#7" | "D7" | "Eb7" | "D#7" | "E7" | "F7" | "Gb7" | "F#7" | "G7" | "Ab7" | "G#7" | "A7" | "Bb7" | "A#7" | "B7" | "C8" | "Db8" | "C#8" | "D8" | "Eb8" | "D#8"

Returns ​

void

Implementation of ​

IMusicallyAware.identifier

Inherited from ​

MusicallyAware(class {}).identifier


name ​

Get Signature ​

get name(): string

Defined in: packages/core/src/musical-identity.ts:121

The note name without octave (e.g., "A" or "Ab"). Computed from letter and accidental.

Returns ​

string

Implementation of ​

IMusicallyAware.name

Inherited from ​

MusicallyAware(class {}).name