Skip to main content
Use the ADK to configure voice features for your agents.
Note: To use voice in watsonx Orchestrate Developer Edition, enable the voice feature by adding the --with-voice flag to the orchestrate server start command. For more information, see Installing watsonx Orchestrate Developer Edition: watsonx Orchestrate server.

Creating voice configurations

To create a voice configuration, first create a YAML file that defines your voice settings. This file includes the voice name, speech-to-text and text-to-speech provider settings, the primary language, and optional configurations for advanced settings.

Supported Providers

Speech-to-Text (STT) Providers:
  • watson_stt: IBM Watson Speech to Text - Docs
  • deepgram_stt: Deepgram Speech to Text - Docs
  • elevenlabs_stt: ElevenLabs Speech to Text - Docs
  • google_stt: Google Cloud Speech-to-Text - Docs
  • azure_stt: Azure Cognitive Services Speech to Text - Docs
Text-to-Speech (TTS) Providers:
  • watson_tts: IBM Watson Text to Speech - Docs
  • deepgram_tts: Deepgram Text to Speech - Docs
  • elevenlabs_tts: ElevenLabs Text to Speech - Docs
  • google_tts: Google Cloud Text-to-Speech - Docs
  • azure_tts: Azure Cognitive Services Text to Speech - Docs
Note: Please refer to the official documentations of each providers for more information on models and parameters.

Configuration Examples

Watson STT/TTS Configuration

Basic Example:
YAML
Advanced Example:
YAML
Watson STT Configuration Parameters: Watson TTS Configuration Parameters:

Deepgram STT/TTS Configuration

Basic Example:
YAML
Advanced Example (nova-3 with keyterm):
YAML
Deepgram STT Configuration Parameters: Deepgram TTS Configuration Parameters:

ElevenLabs STT/TTS Configuration

Basic Example:
YAML
Advanced Example:
YAML
ElevenLabs STT Configuration Parameters: ElevenLabs TTS Configuration Parameters:

Google STT/TTS Configuration

Basic Example:
YAML
Advanced Example:
YAML
Google STT Configuration Parameters: Google TTS Configuration Parameters:

Azure STT/TTS Configuration

Basic Example:
YAML
Advanced Example:
YAML
Azure STT Configuration Parameters: Azure TTS Configuration Parameters:

Advanced Voice Settings

Voice configurations support advanced features for enhanced call handling:

Voice Activity Detection (VAD)

Automatically detect when the user is speaking:
YAML

DTMF Input (Dual-Tone Multi-Frequency)

Enable keypad input during voice calls:
YAML

User Idle Handler

Handle situations when the user stops responding:
YAML

Agent Idle Handler

Provide feedback when the agent is processing:
YAML

Complete Advanced Example

YAML

Importing voice configurations

After creating your YAML file, import it using the following command:
BASH
Note: The import command creates a new voice configuration or updates an existing one based on the name. If a voice configuration with the same name exists, the command updates it using the new configuration.

Listing voice configurations

To list all available voice configurations:
BASH

Getting voice configuration details

To retrieve details of a specific voice configuration:
BASH

Exporting voice configurations

To export a voice configuration to a YAML file:
BASH

Removing voice configurations

To remove a voice configuration by name or ID:
BASH
Note: If both --id and --name are provided, the ID takes precedence.
Important: When you remove a voice configuration, agents using this configuration will no longer have voice capabilities. Make sure you want to remove the configuration before you proceed.