0

i'm implementing simple speech reconition and synthesis (SSML) on WP8. When i test the app in emulator, everything is all right. But when i test the app on physical device (HTC Windows Phone X8), there occurs one problem with SSML synthesis. This SSML code works fine:

await synth.SpeakSsmlAsync(@"<speak version=""1.0""
                                 xmlns=""http://www.w3.org/2001/10/synthesis"" xml:lang=""en-US"">
                                 <voice gender=""female"">
                                     Volume level 100.
                                 </voice>
                             </speak>");

And this SSML:

await synth.SpeakSsmlAsync(@"<speak version=""1.0""
                                 xmlns=""http://www.w3.org/2001/10/synthesis"" xml:lang=""en-US"">
                                 <voice gender=""female"">
                                     <prosody volume=""100.0"">
                                         Volume level 100.
                                     </prosody>
                                 </voice>
                             </speak>");

throws an exception:

{System.FormatException:
      The text associated with this error code could not be found.
      at Windows.Phone.Speech.Synthesis.SpeechSynthesizer.SpeakSsmlAsync(String content)
      at PhoneApp1.MainPage.<voiceSynth_Click>d__9.MoveNext()}  System.Exception
{System.FormatException}

Anybody has any idea, why <prosody> tag doesn't work on the device?

untosabla
  • 96
  • 1
  • 2
  • 11

1 Answers1

1

PROBLEM SOLVED!

<prosody volume=""100.0""> doesn't work because the number is not integer.
<prosody volume=""100""> it should look like this
untosabla
  • 96
  • 1
  • 2
  • 11