Voice

Guide to configuring the voice of the Empathic Voice Interface (EVI).

EVI can use any voice from the Voice Library or a Custom Voice you have created. You can choose from more than 100 predesigned voices or design and clone voices with the voice model to create a unique sound.

This guide explains the available voice types, how to set them in your EVI configuration, and how to override the configured voice for a single session.

Voice options

EVI supports two types of voices:

Voice Type Provider Description
Voice Library HUME_AI

Predesigned voices available to all users. Includes over 100 styles you can preview and use immediately.

Custom Voice CUSTOM_VOICE

Voices you have designed or cloned. These are stored in your account and only accessible to you.

You can browse and preview both in the Platform’s Voice Library page.

Voice configuration

You can set the voice for your EVI configuration through the Platform UI or the API.

UI

  1. Visit the EVI Playground.
  2. In the config panel on the right, select the configuration you want to update.
  3. Select a voice from your saved voices or from the Voice Library.
  4. Click Save to update the configuration.

API

When creating or updating an EVI configuration via the API, include the voice field in the request body.

  • You can specify a voice by its id or name.
  • Each voice belongs to a provider.
Provider Description
HUME_AI

Voices from the Voice Library. These are available to all users.

CUSTOM_VOICE

Voices you have designed or cloned. These are private to your account.

CUSTOM_VOICE is the default provider. To use a Voice Library voice, explicitly set provider to HUME_AI.

1curl https://api.hume.ai/v0/evi/configs \
2 -H "X-Hume-Api-Key: $HUME_API_KEY" \
3 --json '{
4 "evi_version": "3",
5 "name": "Example Config",
6 "voice": {
7 "id": "9e068547-5ba4-4c8e-8e03-69282a008f04",
8 "provider": "HUME_AI"
9 }
10 }'

Dynamic voice selection

You can override the voice in your EVI configuration for a single chat session by including a voice_id as a query parameter in your handshake request.

The voice_id must reference either a Custom Voice in your account or a Voice Library voice available to all users.

This override applies only to the current chat session and does not update the saved configuration.

1'use client';
2import { useVoice } from "@humeai/voice-react";
3
4export function Chat({ accessToken }: { accessToken: string }) {
5 const { connect, disconnect, status } = useVoice();
6 return (
7 <button
8 onClick={() =>
9 status.value === 'connected'
10 ? disconnect()
11 : connect({
12 auth: { type: 'accessToken', value: accessToken },
13 configId: process.env.NEXT_PUBLIC_HUME_CONFIG_ID,
14 voiceId: "9e068547-5ba4-4c8e-8e03-69282a008f04"
15 })
16 }
17 >
18 {status.value === 'connected' ? 'End Call' : 'Start Call'}
19 </button>
20 );
21}

Resources