Speaking Multiple Languages

When working with multinational callers, American English might not be the language or accent you want to use for your application's prompts. Tropo provides many different voice options to choose from, and it's all controlled using the voice parameter:

say("Hi, this is the Awesome Weather Service...", {voice:"kate"});
say "Hi, this is the Awesome Weather Service...", {:voice => "kate"}
    say("Hi, this is the Awesome Weather Service...", array(
        "voice" => "kate")
say("Hi, this is the Awesome Weather Service...", {"voice":"kate"})
say("Hi, this is the Awesome Weather Service...", [voice: 'kate'])

The previous example shows how to speak using Kate, our British English voice. We also have Simon, Jorge, Katrin, Paola and quite a few others ready for you. Here's a complete list:

    Language Female Voice(s) Male Voice(s)
    U.S. English Allison, Susan, Vanessa (Default), Veronica Dave, Steven, Victor
    British English Elizabeth, Kate Simon
    Australian English Grace Alan
    Catalan Montserrat Jordi
    Danish Frida Magnus
    Dutch Saskia Willem
    Finnish Milla Mikko
    French Florence, Juliette Bernard
    French (Canadian) Charlotte Olivier
    Galacian Carmela (none)
    German Katrin Stefan
    Greek Afroditi Nikos
    Italian Giulia, Paola, Silvana, Valentina Luca, Marcello, Matteo, Roberto
    Mandarian Chinese Linlin, Lisheng (none)
    Norwegian Vilde Henrik
    Polish Zosia Krzysztof
    Russian Olga Dmitri
    Spanish (Castilian) Carmen, Leonor Jorge, Juan
    Spanish (Argentine) (none) Diego
    Spanish (Chilean) Francisca (none)
    Spanish (Mexican) Soledad, Ximena, Esperanza Carlos
    Portugese Amalia Eusebio
    Portugese (Brazilian) Fernanda, Gabriela Felipe
    Swedish Annika Sven
    Valencian Empar (none)

Note that with Python, if the language you're using has non-English characters included, you will need to include the letter "u" before the quotation to encode it properly. It would look something like:

say(u"Welche Straße kann ich nehmen?")

If you need to recognize voice input as well, you probably need to define which language Tropo is listening for using the recognizer parameter, which we cover next.

Additionally, if you're looking to switch voices within a single say, you can utilize SSML in the text of the say:

"<speak>For English please press 1.<voice name='Carlos' xml:lang='es'>para el español por favor pulse 2</voice></speak>"

For more information on SSML, please review this documentation page.