Skip to content

EZ Web Audio / parseMusicalTime

Function: parseMusicalTime() ​

parseMusicalTime(notation, bpm, timeSignature, ticksPerBeat): number

Defined in: packages/core/src/utils/musical-time.ts:130

Convert musical time notation to seconds given BPM and time signature.

This is the primary user-facing function. It converts any musical time notation to an absolute duration in seconds, accounting for BPM and time signature.

Parameters ​

notation ​

MusicalTimeNotation

Musical time notation string or numeric beat value

bpm ​

number

Tempo in beats per minute (must be > 0)

timeSignature ​

[number, number] = ...

Time signature as [beatsPerBar, beatUnit] (default: [4, 4])

ticksPerBeat ​

number = 4

Ticks per beat for position calculations (default: 4)

Returns ​

number

Duration in seconds

Throws ​

if BPM <= 0 or notation is invalid

Example ​

typescript
parseMusicalTime('4n', 120)           // 0.5 seconds
parseMusicalTime('1m', 120)           // 2.0 seconds (one bar of 4/4 at 120 BPM)
parseMusicalTime('4n', 60)            // 1.0 second
parseMusicalTime('1m', 120, [3, 4])   // 1.5 seconds (one bar of 3/4 at 120 BPM)