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. A complete list appears below.

Language Female Voice Male Voice
Arabic Laila Maged, Tarik
Bahasa Damayanti
Basque Miren
Bulgarian Daria
Cantonese Sin-ji
Catalan Montserrat Jordi
Czech Iveta, Zuzana
Danish Sara Magnus
Dutch Claire Xander
Dutch (Belgian) Ellen
English (Australian) Karen Lee
English (Indian) Veena
English (Irish) Moira
English (Scottish) Fiona
English (South African) Tessa
English (UK) Kate, Serena Daniel, Oliver
English (US) Allison, Ava, Samantha, Susan,
Veronica, Vanessa (Default)
Tom, Victor
Finnish Satu Onni
French Audrey, Aurelie Thomas
French (Canadian) Amelie, Chantal Nicolas
Galician Carmela
German Anna, Petra Markus, Yannick
Greek Melina Nikos
Hebrew Carmit
Hindi Lekha
Hungarian Mariska
Italian Alice, Federica Luca, Paola
Japanese Kyoko Otoya
Korean Sora
Mandarin Tian-tian
Mandarin (Taiwanese) Mei-jia
Norwegian Nora Henrik
Polish Ewa, Zosia Krzysztof
Portuguese Catarina, Joana Joaquim
Portuguese (Brazilian) Luciana Felipe
Russian Katya, Milena Yuri
Slovak Laura
Spanish (Argentinean) Diego
Spanish (Castillian) Monica Jorge
Spanish (Colombian) Soledad Carlos
Spanish (Mexican) Angelica, Paulina Juan
Swedish Alva, Klara Oskar
Thai Kanya
Turkish Yelda Cem
Valencian Empar

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.