Author Topic: TTS.Speak oddities  (Read 1900 times)

0 Members and 1 Guest are viewing this topic.

OklahomaGreyBeard

  • Contributor
  • ***
  • Posts: 54
  • Karma: 3
    • View Profile
TTS.Speak oddities
« on: May 09, 2015, 10:10:26 AM »
I'm still figuring out some of the idiosyncrasies of the TTS engine (in my case using IVONA for that male British butler sound) and have one I can't figure out. If I use {LongDate} I would expect to hear Saturday May ninth two thousand fifteen. Instead I get Saturday May Oh Nine Tee H two thousand fifteen.  On the first I got oh one ess tee and the second I got oh two en dee. What can I do to get it to 1, drop the leading zero "oh" and tee H to pronounce as eighth ninth, etc.?

I think it will have something to do with  the info here http://developer.ivona.com/en/ttsresources/ssml/ssml.html

specifically

2.8. say-as Element
..
date — Interpret the value as a date. The format attribute must be set to any of the following: mdy, dmy, ymd, md, dm, ym, my, d, m, y. The VXML date format YYYYMMDD with ?? is also supported. In that case, the format attribute is ignored.

but does that have to be done at the programming level of the {LongDate} variable, or do I need to create something in python that will create a custom date text for IVONA?

I'm getting a lot of this on my own the further I get into it. But I think you'll have me here bugging you for a while yet.


nime5ter

  • Administrator
  • Hero Member
  • *****
  • Posts: 1999
  • Karma: 61
    • View Profile
    • Getting Started with VoxCommando
Re: TTS.Speak oddities
« Reply #1 on: May 09, 2015, 10:35:28 AM »
Yes, you can use the "say as" element to change how your IVONA voice says the date in your TTS.Speak action. e.g.:

Code: [Select]
<say-as interpret-as="date" format="dmy">{LongDate}</say-as>
There are other options, however.

1. Depending on your needs, you could actually change the format of the LongDate variable centrally (per our wiki). These formats are set based on your locale/culture, but you can manually overwrite the formatting to something that is more universally understood by you and by all your TTS voices.

Control Panel > Region and Language > Change date,time or number format > Click on "additional setting" and manually enter a long date format such as "dddd, MMMM d, yyyy".

Note that if you have VC open when you change your Windows settings, you'll need to restart VC before testing the new format.

2. Instead of using {LongDate} in VC, you could create your own custom date format using the {DtCustom.????} variable. http://voxcommando.com/mediawiki/index.php?title=Variables#Date.2FTime


« Last Edit: May 09, 2015, 11:48:45 AM by nime5ter »
TIPS: POST VC VERSION #. Explain what you want VC to do. Say what you've tried & what happened, or post a video demo. Attach VC log. Link to instructions followed.  Post your command (xml)

OklahomaGreyBeard

  • Contributor
  • ***
  • Posts: 54
  • Karma: 3
    • View Profile
Re: TTS.Speak oddities
« Reply #2 on: May 09, 2015, 10:49:09 AM »
Just came back to say I figured it out using {DTCustom.dddd MMMM %d yyyy} and that I should type these posts out so it kicks me in the brain and just not submit them.  :biglaugh

nime5ter

  • Administrator
  • Hero Member
  • *****
  • Posts: 1999
  • Karma: 61
    • View Profile
    • Getting Started with VoxCommando
Re: TTS.Speak oddities
« Reply #3 on: May 09, 2015, 11:23:38 AM »
Well, the good news is now you know about the other two options as well -- as will anyone else who reads the thread.  :D
TIPS: POST VC VERSION #. Explain what you want VC to do. Say what you've tried & what happened, or post a video demo. Attach VC log. Link to instructions followed.  Post your command (xml)