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)