Skip to content

NullOutput

No-op audio output provider that discards all audio.

Defined in: src/providers/output/NullOutput.ts:88

No-op audio output provider that discards all audio.

Remarks

NullOutput implements the Null Object pattern for the 'output' pipeline role. Every method is a no-op, making it safe to use wherever an AudioOutputProvider is required but audio playback is not needed.

Common use cases:

  • Server-side pipelines where only the transcription/LLM response matters
  • Testing pipelines without audio playback side-effects
  • Headless environments without audio hardware

Example

import { NullOutput, CompositeVoice, BufferInput, DeepgramSTT, AnthropicLLM } from 'composite-voice';

// Minimal server-side pipeline
const voice = new CompositeVoice({
  providers: [
    new BufferInput({ sampleRate: 16000, encoding: 'linear16', channels: 1 }),
    new DeepgramSTT({ apiKey: '...' }),
    new AnthropicLLM({ apiKey: '...', model: 'claude-haiku-4-5' }),
    new NullOutput(),
  ],
});

// Audio from TTS is silently discarded
await voice.initialize();

See

Implements

Constructors

Constructor

new NullOutput(): NullOutput;

Returns

NullOutput

Properties

PropertyModifierTypeDefault valueDescriptionDefined in
rolesreadonlyreadonly ProviderRole[]undefinedPipeline roles covered by this provider. Remarks NullOutput is a single-role provider covering only the 'output' slot. It requires a separate TTS provider for the 'tts' role.src/providers/output/NullOutput.ts:104
typereadonlyProviderType'rest'Communication type for this provider. Remarks NullOutput uses 'rest' because it does not maintain any connection.src/providers/output/NullOutput.ts:95

Methods

configure()

configure(_metadata): void;

Defined in: src/providers/output/NullOutput.ts:149

Configure the output format. No-op — audio is discarded.

Parameters

ParameterTypeDescription
_metadataAudioMetadataIgnored.

Returns

void

Implementation of

AudioOutputProvider.configure


dispose()

dispose(): Promise<void>;

Defined in: src/providers/output/NullOutput.ts:128

Dispose of the provider.

Returns

Promise<void>

Remarks

Clears the initialized flag. No resources need to be released.

Implementation of

AudioOutputProvider.dispose


enqueue()

enqueue(_chunk): void;

Defined in: src/providers/output/NullOutput.ts:158

Enqueue an audio chunk. No-op — audio is discarded.

Parameters

ParameterTypeDescription
_chunkAudioChunkIgnored.

Returns

void

Implementation of

AudioOutputProvider.enqueue


flush()

flush(): Promise<void>;

Defined in: src/providers/output/NullOutput.ts:165

Wait for playback completion. Resolves immediately — nothing to play.

Returns

Promise<void>

Implementation of

AudioOutputProvider.flush


initialize()

initialize(): Promise<void>;

Defined in: src/providers/output/NullOutput.ts:118

Initialize the provider.

Returns

Promise<void>

Remarks

Sets the initialized flag. No resources are acquired since all operations are no-ops. If already initialized, this is a no-op.

Implementation of

AudioOutputProvider.initialize


isPlaying()

isPlaying(): boolean;

Defined in: src/providers/output/NullOutput.ts:195

Check whether audio is playing. Always returns false.

Returns

boolean

falseNullOutput never plays audio.

Implementation of

AudioOutputProvider.isPlaying


isReady()

isReady(): boolean;

Defined in: src/providers/output/NullOutput.ts:138

Check whether the provider has been initialized.

Returns

boolean

true when initialize has completed and dispose has not yet been called.

Implementation of

AudioOutputProvider.isReady


onPlaybackEnd()

onPlaybackEnd(_callback): void;

Defined in: src/providers/output/NullOutput.ts:213

Register a playback-end callback. No-op — playback never ends.

Parameters

ParameterTypeDescription
_callback() => voidIgnored.

Returns

void

Implementation of

AudioOutputProvider.onPlaybackEnd


onPlaybackError()

onPlaybackError(_callback): void;

Defined in: src/providers/output/NullOutput.ts:222

Register a playback-error callback. No-op — no errors can occur.

Parameters

ParameterTypeDescription
_callback(error) => voidIgnored.

Returns

void

Implementation of

AudioOutputProvider.onPlaybackError


onPlaybackStart()

onPlaybackStart(_callback): void;

Defined in: src/providers/output/NullOutput.ts:204

Register a playback-start callback. No-op — playback never starts.

Parameters

ParameterTypeDescription
_callback() => voidIgnored.

Returns

void

Implementation of

AudioOutputProvider.onPlaybackStart


pause()

pause(): void;

Defined in: src/providers/output/NullOutput.ts:179

Pause playback. No-op — nothing is playing.

Returns

void

Implementation of

AudioOutputProvider.pause


resume()

resume(): void;

Defined in: src/providers/output/NullOutput.ts:186

Resume playback. No-op — nothing is paused.

Returns

void

Implementation of

AudioOutputProvider.resume


stop()

stop(): void;

Defined in: src/providers/output/NullOutput.ts:172

Stop playback. No-op — nothing is playing.

Returns

void

Implementation of

AudioOutputProvider.stop

© 2026 CompositeVoice. All rights reserved.

Font size
Contrast
Motion
Transparency