> For a complete documentation index, fetch https://docs.voximplant.ai/llms.txt

# Agentic

## Classes

* [VoiceDSP](/api-reference/voxengine/agentic/voice-dsp) — Agentic voice DSP is a composite connector working with underlying Silero.VAD and Pipecat.TurnDetector.

## Enums

* [VoiceDSPEvents](/api-reference/voxengine/agentic/voice-dsp-events)

## Sub-namespaces

* [VoiceDSPStrategies](/api-reference/voxengine/agentic/voice-dsp-strategies/overview)

## Functions

### createVoiceDSP

Creates an [Agentic.VoiceDSP](/api-reference/voxengine/agentic/voice-dsp) instance.

```ts
createVoiceDSP(parameters: VoiceDSPParameters): Promise<Agentic.VoiceDSP>
```

**Parameters**

**`parameters`** `VoiceDSPParameters` — required

---

## Types

### NoiseSuppressionParameters

*Extends:* `Hush.NoiseSuppressionParameters`

`Hush.NoiseSuppressionParameters` based. Can be passed as `Agentic.VoiceDSPParameters.noiseSuppressionParameters` to `Agentic.createVoiceDSP`.

### TurnDetectorParameters

*Extends:* `Pipecat.TurnDetectorParameters`

`Pipecat.TurnDetectorParameters` based. Can be passed as `Agentic.VoiceDSPParameters.turnDetectorParameters` to `Agentic.createVoiceDSP`.

**`stopSecs`** `number`

*optional*

Optional. Mirrors [Pipecat SmartTurnParams.stop\_secs](https://docs.pipecat.ai/api-reference/server/utilities/turn-detection/smart-turn-overview#param-stop-secs) parameter. If the turn analyzer classifies the turn as incomplete, silence must continue for this many seconds before the turn is finalized. The default value is **3.0**.

---

#### Inherited fields

**`maxDurationSecs`** `number`

*optional, inherited from Pipecat.TurnDetectorParameters*

Optional. Maximum segment duration in seconds. The default value is **8**.

---

**`preSpeechMs`** `number`

*optional, inherited from Pipecat.TurnDetectorParameters*

Optional. Milliseconds of audio to include before speech starts. The default value is **0**.

---

**`privacy`** `boolean`

\_optional, inherited from *WebSocketBasedClientParameters*

Optional. Whether to enable the privacy functionality.

If privacy is enabled, the logging for the WebSocket connection is disabled.

NOTE: the default value is **false**.

---

**`statistics`** `boolean`

\_optional, inherited from *WebSocketBasedClientParameters*

Optional. Enables statistics functionality.

---

**`threshold`** `number`

*optional, inherited from Pipecat.TurnDetectorParameters*

Optional. The probability threshold above which we detect the end of the turn (in the range \[0.0, 1.0]). The default value is **0.5**.

---

**`trace`** `boolean`

\_optional, inherited from *WebSocketBasedClientParameters*

Optional. Whether to enable the tracing functionality.

If tracing is enabled, a URL to the trace file appears in the 'websocket.created' message. The file contains all sent and received WebSocket messages in the plain text format. The file is uploaded to the S3 storage.

NOTE: enable this only for diagnostic purposes. You can provide the trace file to our support team to help investigating issues.

---

### VADParameters

*Extends:* `Silero.VADParameters`

`Silero.VADParameters` forwarded to the bundled [Agentic.VoiceDSP](/api-reference/voxengine/agentic/voice-dsp) connector (server-side VAD). Can be passed as `Agentic.VoiceDSPParameters.vadParameters` to `Agentic.createVoiceDSP`.

#### Inherited fields

**`minSilenceDurationMs`** `number`

*optional, inherited from Silero.VADParameters*

Optional. The duration of silence (in milliseconds) to wait for each speech segment before separating it. The default value is **300**.

---

**`privacy`** `boolean`

\_optional, inherited from *WebSocketBasedClientParameters*

Optional. Whether to enable the privacy functionality.

If privacy is enabled, the logging for the WebSocket connection is disabled.

NOTE: the default value is **false**.

---

**`speechPadMs`** `number`

*optional, inherited from Silero.VADParameters*

Optional. The padding to add to speech segments to avoid aggressive cutting. The default value is **0**.

---

**`statistics`** `boolean`

\_optional, inherited from *WebSocketBasedClientParameters*

Optional. Enables statistics functionality.

---

**`threshold`** `number`

*optional, inherited from Silero.VADParameters*

Optional. The probability threshold above which we detect speech. The default value is **0.5**.

---

**`trace`** `boolean`

\_optional, inherited from *WebSocketBasedClientParameters*

Optional. Whether to enable the tracing functionality.

If tracing is enabled, a URL to the trace file appears in the 'websocket.created' message. The file contains all sent and received WebSocket messages in the plain text format. The file is uploaded to the S3 storage.

NOTE: enable this only for diagnostic purposes. You can provide the trace file to our support team to help investigating issues.

---

### VoiceDSPParameters

*Extends:* `_VoiceAIClientParameters`

[Agentic.VoiceDSP](/api-reference/voxengine/agentic/voice-dsp) parameters. Can be passed as arguments to the `Agentic.createVoiceDSP` method.

**`asr`** `ASR`

*optional*

Optional. [ASR](/api-reference/voxengine/asr) instance used internally for transcription-based start strategies; the latest transcript snapshot is included on `Agentic.VoiceDSPEvents.TurnStopped`. Live transcription should be handled via [ASREvents](/api-reference/voxengine/asr-events) on the scenario ASR instance.

---

**`asrGraceTimeout`** `number`

*optional*

Optional. ASR grace period in seconds after `Agentic.VoiceDSPEvents.TurnInferenceTriggered`. When `Agentic.VoiceDSPParameters.asr` is configured, `Agentic.VoiceDSPEvents.TurnStopped` waits up to this duration for a final transcript; a final transcript ends the wait immediately. Default **0.3** - shorter than typical ASR final latency, so `Agentic.VoiceDSPEvents.TurnStopped` does not wait for ASR final by default. Start LLM inference on `Agentic.VoiceDSPEvents.TurnInferenceTriggered`. When the timer expires, `Agentic.VoiceDSPEvents.TurnStopped` uses the latest snapshot (including interim text).

---

**`noiseSuppressionParameters`** `NoiseSuppressionParameters`

*optional*

Optional. Noise suppression configuration forwarded to the bundled voice DSP connector (server-side processing). NOTE: if the parameters are NOT provided, the voice DSP connector will NOT use the noise suppression.

---

**`startStrategies`** `VoiceDSPStrategies.Start[]`

*optional*

Optional. Strategies that determine when a user's turn starts. Multiple strategies can be provided; the first one to trigger signals the start. Use [Agentic.VoiceDSPStrategies](/api-reference/voxengine/agentic/voice-dsp-strategies) factories (for example `Agentic.VoiceDSPStrategies.createVADStart`).

---

**`stopStrategies`** `VoiceDSPStrategies.Stop[]`

*optional*

Optional. Strategies that determine when a user's turn ends. Use [Agentic.VoiceDSPStrategies](/api-reference/voxengine/agentic/voice-dsp-strategies) factories (for example `Agentic.VoiceDSPStrategies.createTurnDetectorStop`). If [Agentic.VoiceDSPStrategies.TurnDetectorStop](/api-reference/voxengine/agentic/voice-dsp-strategies/turn-detector-stop) is configured, it is authoritative; [Agentic.VoiceDSPStrategies.SpeechTimeoutStop](/api-reference/voxengine/agentic/voice-dsp-strategies/speech-timeout-stop) does not pre-empt it. One turn always finalizes with a single strategy.
NOTE: If no stop strategies are provided, `Agentic.VoiceDSPStrategies.createTurnDetectorStop` is used as the default. Omit [Agentic.VoiceDSPStrategies.TurnDetectorStop](/api-reference/voxengine/agentic/voice-dsp-strategies/turn-detector-stop) to disable ML Predict (for tests or ASR-only stop logic); `Agentic.VoiceDSPEvents.TurnInferenceTriggered` and `Agentic.VoiceDSPEvents.TurnStopped` then never report **strategy** **'turn\_detector'**.

---

**`turnDetectorParameters`** `TurnDetectorParameters`

*optional*

Optional. Turn detector configuration forwarded to the bundled voice DSP connector (server-side processing).

---

**`userTurnIdleTimeout`** `number`

*optional*

Optional. User idle timeout in seconds (mirrors Pipecat `UserIdleController.user_idle_timeout`). After `Agentic.VoiceDSP.signalAssistantTurnEnded`, if the user remains inactive for this duration, `Agentic.VoiceDSPEvents.TurnIdle` is emitted. **0** disables idle detection. The default value is **0**.

---

**`userTurnStopTimeout`** `number`

*optional*

Optional. Pipecat `user_turn_stop_timeout` (seconds). Counts silence while a user turn is active; the timer resets on new speech and on ASR updates. If no stop strategy finalizes the turn within this silence, `Agentic.VoiceDSPEvents.TurnStopTimeout` is emitted with **reason** **controller\_timeout**, then `Agentic.VoiceDSPEvents.TurnStopped`. **strategy** on `Agentic.VoiceDSPEvents.TurnInferenceTriggered` and `Agentic.VoiceDSPEvents.TurnStopped` is the pending stop strategy, or the configured fallback if none is pending (never **'turn\_detector'** unless [Agentic.VoiceDSPStrategies.TurnDetectorStop](/api-reference/voxengine/agentic/voice-dsp-strategies/turn-detector-stop) is configured). Default **5.0**. Set **0** to disable.

---

**`vadParameters`** `VADParameters`

*optional*

Optional. VAD configuration forwarded to the bundled voice DSP connector (server-side processing).

---

#### Inherited fields

**`onWebSocketClose`** `(event: _WebSocketCloseEvent) => void`

\_optional, inherited from *VoiceAIClientParameters*

Optional. A callback function that is called when the [WebSocket](/api-reference/voxengine/websocket) connection is closed.

---

**`privacy`** `boolean`

\_optional, inherited from *WebSocketBasedClientParameters*

Optional. Whether to enable the privacy functionality.

If privacy is enabled, the logging for the WebSocket connection is disabled.

NOTE: the default value is **false**.

---

**`statistics`** `boolean`

\_optional, inherited from *WebSocketBasedClientParameters*

Optional. Enables statistics functionality.

---

**`trace`** `boolean`

\_optional, inherited from *WebSocketBasedClientParameters*

Optional. Whether to enable the tracing functionality.

If tracing is enabled, a URL to the trace file appears in the 'websocket.created' message. The file contains all sent and received WebSocket messages in the plain text format. The file is uploaded to the S3 storage.

NOTE: enable this only for diagnostic purposes. You can provide the trace file to our support team to help investigating issues.

---