VoiceXML 2.1 Development Guide Home  |  Frameset Home


<phoneme>  element


The phoneme element essentially allows the developer to specify a phoenetic pronounciation for any TTS nested within.Do note that SSML tags are ignored by some of the available TTS engines, while some engines use their own non-compliant markup. Check the Text-To-Speech appendices for additional details.


usage

<phoneme alphabet="CDATA" ph="CDATA">


attributes

alphabet Data Type: CDATA Default: Optional
The alphabet attribute denotes the phoenetic alphabet to be used. The possible choices are:
  • ipa -- International Phoenetic Alphabet
  • worldbet -- Worldbet (Postscript) phonetic alphabet
  • xsampa -- X-SAMPA phoenetic alphabet
ph Data Type: CDATA Default: Required
The ph attribute specifies the phoneme string to be used.



shadow variables

none


parents

none


children

none


code samples

none


additional links

W3C SSML 1.0 Specification


  ANNOTATIONS: EXISTING POSTS
kettle
1/24/2007 2:30 AM (EST)
I'd be really greatful if there were a couple of examples utilizing this tag here.
MattHenry
1/24/2007 2:36 PM (EST)
Hi there,

I should be clear in the fact that the hosted Voxeo VXML platforms do not currently support phoneme. However, you may find a useful workaround by employing the <sub> element:


    <prompt>
      this message brough to you by the
        <sub alias="World Wide Web Consortium">W3C</sub>
    </prompt>

Hope this helps!

~Matthew henry
jrhunt
7/28/2010 8:17 PM (EDT)
Just thought I would pass this along for anyone using phoneme to get around mispronunciation of unusual words and names: when using the CMU phoneme alphabet, don't forget to put the stress indicators on the vowels.

Consider this example:

<?xml version="1.0"?>
<vxml version="2.1">
    <form>
        <block>
            <prompt>

                Let's go to<phoneme alphabet="x-cmu" ph="P ER S AH L AA P AH L IH S">timbuktu.</phoneme>

                Would you rather go to <phoneme alphabet="x-cmu" ph="P ER0 S AH2 L AA1 P AH0 L IH0 S">katmandu</phoneme>?

            </prompt>
        </block>
    </form>
</vxml>

The TTS engine will actually say this: "Let's go to timbuktu.  Would you rather go to perselopolis?"

The first phoneme fails to compile and the TTS engine falls back to "timbuktu".  The second phoneme compile correctly (and does a decent job of stressing the right parts of a made up city name).

For reference, here is the URL of the CMU dictionary:

http://www.speech.cs.cmu.edu/cgi-bin/cmudict

The stress indicators following the vowels have the following meaning:

0 - no special stress or inflection
1 - primary stress
2 - secondary stress

--
James
voxeoJason
7/28/2010 9:02 PM (EDT)
Hi James,

Thanks for passing along that script!  I'll be sure to go ahead and forward that over to our doc team as well.


Cheers,

Jason Sewell
Voxeo Support

login



© 2012 Voxeo Corporation  |  Voxeo IVR  |  VoiceXML & CCXML IVR Developer Site