> ## Documentation Index
> Fetch the complete documentation index at: https://developer.watson-orchestrate.ibm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Managing voice configuration

Use the ADK to configure voice features for your agents.

<Note>
  **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](../developer_edition/wxOde_setup#installing-watsonx-orchestrate-developer-edition%3A-watsonx-orchestrate-server).
</Note>

## Importing voice configuration

To import 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 additional languages.
The list of **STT** models could be found [here](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-models-large-speech-languages).
The list of **TTS** models could be found [here](https://cloud.ibm.com/docs/text-to-speech?topic=text-to-speech-voices#language-voices-natural).

```yaml YAML [expandable] theme={null}
name: sample_voice_config
speech_to_text:
  provider: watson_stt
  watson_stt_config: 
    api_url: "example-stt.url"
    api_key: "example stt key"
    model: "example model (e.g. en-US)" 
text_to_speech:
  provider: watson_tts
  watson_tts_config: 
    api_url: "example-tts.url"
    api_key: "example tts key"
    voice: "example voice (e.g. en-US_EllieNatural)"
language: "en-US"
additional_languages:
  es:
    text_to_speech:
      provider: watson_tts
      watson_tts_config: 
        api_url: "example-tts.url"
        api_key: "example tts key"
        voice: "example voice"
    speech_to_text:
      provider: watson_stt
      watson_stt_config: 
        api_url: "example-stt.url"
        api_key: "example stt key"
        model: "example model"
```

After creating the file, import it using the following command:

```bash BASH theme={null}
orchestrate voice-configs import -f <path-to-your-voice-file>
```

<Expandable title="command flags">
  | Flag            | Type   | Required | Description                                         |
  | --------------- | ------ | -------- | --------------------------------------------------- |
  | `--file` (`-f`) | string | yes      | Path to the YAML file with the voice configuration. |
</Expandable>

## Updating voice configuration

To update an existing voice configuration, import a new YAML file using the same command you used for the initial import:

```bash BASH theme={null}
orchestrate voice-configs import -f <path-to-your-voice-file>
```

Make sure the name field in your YAML file matches the name of the voice configuration you want to update. The ADK replaces the existing configuration with the new one.

## Removing voice configuration

To remove a voice configuration:

```bash BASH theme={null}
orchestrate voice-configs remove
```

<Expandable title="command flags">
  | Flag            | Type   | Required | Description                                |
  | --------------- | ------ | -------- | ------------------------------------------ |
  | `--name` (`-n`) | string | yes      | Name of the voice configuration to remove. |
</Expandable>

## Listing voice configuration

To list all available voice configurations:

```bash BASH theme={null}
orchestrate voice-configs list
```

<Expandable title="command flags">
  | Flag               | Type | Required | Description                                                   |
  | ------------------ | ---- | -------- | ------------------------------------------------------------- |
  | `--verbose` (`-v`) | -    | No       | Show full details of all voice configurations in JSON format. |
</Expandable>
