Search code examples
node.jsalexa-skills-kitamazon-echossml

How can Alexa pronounce something in English while using German in skill settings?


Since I can not find any information at Amazon's SSML documentation, I want ask for help.

I have a multi language skill for Alexa. There are several key words in English.

So I want Alexa to pronounce them in English and not in German, when the user uses the German version.

Are there any chances to archive this goal or will I have (in worst case) just use sound files for it?


Solution

  • You're probably going to have to use phonemes to do this if you're using a German skill. From the Amazon Developer Forums:

    Question: Suppose we have the words "Rhode Island" in a german sentence. Alexa will speak out the word island wrong. Is it possible using SSML to say alexa that this word should be spoken e.g. the american way without bothering with all the phoneme variants?


    Answer: You would need to use SSML in conjunction with phonemes to get the pronunciation working properly for that case.

    The answer was from a developer on the Amazon team in December 2016, so it seems pretty likely that it's still the case.

    You can read about the syntax for phonemes in SSML in the Amazon documentation. Depending on your patience and the length of the words you want to say, it may be easier to just use a pre-made sound file; otherwise, just find the IPA of the phrase you want to say:

    <speak>
        <phoneme alphabet="ipa" ph="həˈləʊ̯">Hello</phoneme>.
    </speak>
    

    A good reference for IPA transcriptions is Wiktionary (that's where I got the transcription for hello), so it's not a problem if you don't know IPA yourself.

    It seems pretty certain (for now at least) that German and English skills cannot be mixed together, so it's even more unlikely that you'll be able to mix German and English in one skill very conveniently.