Octave Voices
Guide to specifying and generating voices with Octave TTS.
The Octave TTS API enables you to generate expressive voices through simple descriptions or specify a voice from your saved voices or from Hume’s Voice Library. This guide explains how to specify voices for synthesis, generate new ones, and save your favorites for reuse.
Specify a voice, or don’t!
Choose a voice from the voice library or let Octave dynamically generate a new one based on your text. Optionally, add a description to guide speech delivery. These descriptions help shape the voice’s characteristics, whether you’re using a saved voice or generating a new one.
Dynamic voice generation
When a voice
is not specified, the generated speech is delivered in a dynamically generated voice. The text
and
description
fields determine the characteristics of the voice.
See our prompting guide for tips on designing a voice, and our Acting instructions guide for how to guide speech delivery.
Specifying a voice
When specifying a voice for the generated speech to be delivered in, you can specify a custom voice that you have designed and saved, either through the Platform UI or through the API, or a voice from Hume’s Voice Library.
The provider
field in your request will default to CUSTOM_VOICE
. When specifying one of your saved voices you do
not need to specify a provider
. However, when specifying a voice from Hume’s Voice Library you must specify HUME_AI
as the provider.
In the example below, we specify a custom voice for the first utterance and a voice from Hume’s Voice Library voice in the second:
Saving generated voices
When you generate a voice you would like to reuse, you can save it to your voice library. This requires the
generation_id from your TTS
API response. Call the /v0/tts/voices endpoint with this ID and a
name. Once saved, you can use the voice in future requests by specifying either its name
or id
.
Fetching and deleting voices
You can either fetch a list of your saved voices, or a list of Hume’s Voice Library voices, with the list voices endpoint. Should you want to delete a voice, you can do so using the delete voices endpoint.