Changing TTS voice in React Native Spokestack

I’m looking to change the voice for the Text-to-Speech output in my React Native app.

I know that the voice is able to be changed by altering the voice field in this line of code below.

Spokestack.synthesize(input="Hello", format=undefined, voice="demo-male")

However, when I try to change from "demo-male" to anything else (such as "calm" or "casual") I get an error indicating that it doesn’t recognize the string that I am specifying.

I can see the list of available voice models in the Text-to-Speech section on my account page (Spokestack Free, Amateur 1, Amateur 2, etc…) but I don’t see the exact strings that I should write in the code within my app to specify any of these voices. For example, the default “Spokestack Free” voice is specified by using the string "demo-male" within the code but nowhere on the page does it show the connect between the two.

On the React Native Cookbook page it states that " The id field is for your convenience, and voice may be changed by creating a Spokestack account." but I do already have an account and am still not able to change it.

Can I get some guidance on the proper way to change the TTS voice output?


Hi @Stephen,

Thanks for pointing out that line from our docs—it’s unclear, and we’ll get it updated.

The voices you can use on the site are there to let you try out Spokestack’s custom TTS capabilities and see the effect that the amount of data/recording conditions can have on final quality. Other than the demo voice, they’re not for use in apps.

To use a different voice, you’ll want a Maker account—that will let you create your own voice, which you can use in an app by passing the name you give it as the voice argument to synthesize.

We’ve also been looking at releasing additional base TTS voices, but I don’t think they’ll be available for in-app use via a free account.

Hope this helps,

Got it. The docs were a bit confusing but this clears things up. Thanks

No problem! We definitely want to know if there’s material out there causing confusion, so let us know if you run into anything else that could be improved.