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
- AudioOutputProvider for the interface contract
- BrowserAudioOutput for the browser-side counterpart
- BufferInput for the server-side input counterpart
Implements
Constructors
Constructor
new NullOutput(): NullOutput;
Returns
NullOutput
Properties
| Property | Modifier | Type | Default value | Description | Defined in |
|---|---|---|---|---|---|
roles | readonly | readonly ProviderRole[] | undefined | Pipeline 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 |
type | readonly | ProviderType | '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
| Parameter | Type | Description |
|---|---|---|
_metadata | AudioMetadata | Ignored. |
Returns
void
Implementation of
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
enqueue()
enqueue(_chunk): void;
Defined in: src/providers/output/NullOutput.ts:158
Enqueue an audio chunk. No-op — audio is discarded.
Parameters
| Parameter | Type | Description |
|---|---|---|
_chunk | AudioChunk | Ignored. |
Returns
void
Implementation of
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
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
false — NullOutput never plays audio.
Implementation of
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
onPlaybackEnd()
onPlaybackEnd(_callback): void;
Defined in: src/providers/output/NullOutput.ts:213
Register a playback-end callback. No-op — playback never ends.
Parameters
| Parameter | Type | Description |
|---|---|---|
_callback | () => void | Ignored. |
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
| Parameter | Type | Description |
|---|---|---|
_callback | (error) => void | Ignored. |
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
| Parameter | Type | Description |
|---|---|---|
_callback | () => void | Ignored. |
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
resume()
resume(): void;
Defined in: src/providers/output/NullOutput.ts:186
Resume playback. No-op — nothing is paused.
Returns
void
Implementation of
stop()
stop(): void;
Defined in: src/providers/output/NullOutput.ts:172
Stop playback. No-op — nothing is playing.
Returns
void