EZ Web Audio / createTransport
Function: createTransport()
Call Signature
createTransport(
options):Promise<Transport>
Defined in: packages/core/src/index.ts:977
Create a global Transport clock for multi-track synchronization.
The Transport provides a Worker-backed clock that multiple BeatTracks can lock to, enabling perfect multi-track synchronization that survives background tab throttling.
Parameters
options
Transport configuration (bpm, timeSignature, ticksPerBeat)
Returns
Promise<Transport>
Promise resolving to a Transport instance
Example
import { createTransport, createBeatTrack } from 'ez-web-audio'
const transport = await createTransport({ bpm: 120, timeSignature: [4, 4] })
const kick = await createBeatTrack(['kick.mp3'], { numBeats: 4 })
kick.syncTo(transport, { noteType: 1/4 })
transport.start()
transport.on('tick', (e) => {
console.log(`Position: ${e.detail.bar}:${e.detail.beat}:${e.detail.tick}`)
})Call Signature
createTransport(
audioContext,options):Promise<Transport>
Defined in: packages/core/src/index.ts:978
Create a global Transport clock for multi-track synchronization.
The Transport provides a Worker-backed clock that multiple BeatTracks can lock to, enabling perfect multi-track synchronization that survives background tab throttling.
Parameters
audioContext
BaseAudioContext
options
Transport configuration (bpm, timeSignature, ticksPerBeat)
Returns
Promise<Transport>
Promise resolving to a Transport instance
Example
import { createTransport, createBeatTrack } from 'ez-web-audio'
const transport = await createTransport({ bpm: 120, timeSignature: [4, 4] })
const kick = await createBeatTrack(['kick.mp3'], { numBeats: 4 })
kick.syncTo(transport, { noteType: 1/4 })
transport.start()
transport.on('tick', (e) => {
console.log(`Position: ${e.detail.bar}:${e.detail.beat}:${e.detail.tick}`)
})