API reference
Every public class, method, and event in @codexo/exojs. Generated from source.
classInputVoice
Live control handle for an AudioInput (microphone / WebRTC stream), created via AudioSystem.open. Unlike a Playable voice it is **analysis-only by default** - its output is not routed to a bus, so it never causes feedback. Tap it for visualisation/beat-detection (`new AudioAnalyser({ source: inputVoice })`), opt into monitoring with InputVoice.routeTo, or capture it with InputVoice.record. A live stream cannot be seeked, paused, looped, or rate-shifted, so it only mixes in Spatializable (via BaseVoice) on top of the base Voice surface (volume / fade / stop / effects / output tap / bus).
import { InputVoice } from '@codexo/exojs'Live control handle for an AudioInput (microphone / WebRTC stream), created via AudioSystem.open. Unlike a Playable voice it is **analysis-only by default** - its output is not routed to a bus, so it never causes feedback. Tap it for visualisation/beat-detection (`new AudioAnalyser({ source: inputVoice })`), opt into monitoring with InputVoice.routeTo, or capture it with InputVoice.record.
A live stream cannot be seeked, paused, looped, or rate-shifted, so it only mixes in Spatializable (via BaseVoice) on top of the base Voice surface (volume / fade / stop / effects / output tap / bus).
new(init: InputVoiceInit): InputVoice_applyDopplerRate(_ratio: number): void_clearStopTimer(): void_connectOutput(): void_finish(): void_routeDirect(): void_routeThroughPanner(panner: PannerNode): void_tail(): AudioNode_teardownSource(): voidaddSend(bus: AudioBusHierarchical mixer node in the engine's audio routing graph. Each bus owns three Web Audio nodes (input gain, optional effect chain, stereo pan, output gain) a…, level: number): AudioSendA parallel tap from one voice's output into an AudioBus, at its own level. A send is what an insert effect cannot express: the voice keeps playing into its own…record(duration: SecondsA length of time in seconds. The unit every duration in the public API is expressed in - frame deltas, the fixed step, elapsed totals, timer limits. It is a `n…): Promise<SoundPre-decoded short audio clip backed by an `AudioBuffer`. Sound is a **data descriptor** - it holds the decoded audio buffer, sprite definitions, and default pl…>coneInnerAngle: numberconeOuterAngle: numberconeOuterGain: numberelevation: numberelevationVelocity: numberended: booleanmaxDistance: numberocclusion: numberorientation: numberoutput: AudioNodepanningModel: PanningModelType | nullrefDistance: numberrolloffFactor: numbervolume: number