google actions sdk: dynamic change in voice - actions-on-google

In the use case I am working on, I wish to change the TTS voice by passing a parameter in the conversation speech string. For example,
<speak><voice gender="male" variation="1">Hello</voice></speak>
The actions console mentions that we can override the user's default locale and force a particular TTS voice (as above). And it does work.
The question is: how do we set the voice to say: en-AU or en-GB via the voice tag? I tried setting it via variation or language or name, it does not work.
Thanks.

Although SSML supports a <voice> tag with a languages attribute, this isn't one of the SSML tags that are officially supported by the Google Assistant. Although there is evidence that the tag is semi-supported with the gender and variant attributes, the languages attribute isn't.
Aside from setting the region in the Action console, there is no way to currently change which region's voice is used for your Action.

Related

How can I help the Google Assistant recognise my action's name?

I have created an action called Sequematic. The name is a combination of the words sequence and automatic.
Unfortunately when asking Google to 'talk to Sequematic' it has a hard time recognising the name.
Is there anything I can do to help with recognition of the name?
At this moment there is very little that you can do to help Google Assistant with action recognition. The recognition is done by the voice recognition within the Google Assistant device itself and this is managed and trained by Google.
The only trick that I know is by playing around with the name pronunciation in you actions on google settings. This only works if the recognition is changing the name to a close match, something like "Sekuematik" because the recognition does not know how to handle the word. You could pick "Sekuamatik" as your action name and change the pronunciation to "Sequamatic".
While this works, it still changes your actions name, so your action name will be displayed as "Sekuematik" on any visual element in Google Assistant. So this trick might work for some people, but it is far from ideal.
The only other options you would have is wait for Google to update their voice recognition or maybe contact Google Assistant support and request their help to see if they can do something for your action name.

Change google assistant voice programmatically

For most languages, the Google Assistant allows developers to choose from 4 type of voice as of now, 2 from female and 2 from male, for most languages.
I want to know the way to change it dynamically through node/java library.
I have tried with actions-on-google-nodejs but did not find anything in it.
I know we can change it either from google assistant application or from deployment setting, but do we have any way to change it dynamically?
Yes. Although not documented (except in StackOverflow currently) you can use the <voice> SSML tag to change which type is used. You can further adjust the pitch to create additional variants.
You can send SSML back using the actions-on-google-nodejs library by either including a string with valid SSML or by explicitly creating a SimpleResponse and setting the ssml property.
The multivocal library includes the ability to pre-define voices as combinations of the voice and prosody tags and will let you easily define which voice is to be used for each response.

How to change the language of the Google Places Autocomplete results?

Is it possible to change the result language of the Google Places Autocomplete iOS component (similar to changing it when using JavaScript but in Swift)? Specifically I would like to change the search results language.
Per default it seems to be set to the phone's system language meaning that on my German phone I get German city names and on my English phone I get English ones.
[EDIT]: I'm using the Google Placepicker Library that can be installed via Cocoa Pods. My code looks very similar to the first code snippet on the linked page.

Do keywords affect Bluemix Watson speech recognition?

Watson's speech recognizer supports a list of keywords as a parameter, but I'm trying to figure out whether these keywords actually affect recognition. For example, if you were handing Watson an audio clip you knew to contain proper names that might not be properly recognized, would submitting these names as keywords increase the likelihood that Watson would properly recognize them? Do the keywords interact with the recognition itself?
unfortunately the answer is no, the words wont get added to the vocabulary just because you added them as keywords, so they wont be found.
Dani
Looks like the answer to this is no (though I'd love to be proven wrong here): I ran a test clip that contained proper names that Watson mis-recognized, then submitted the same clip with those names as keywords, and it didn't change the transcript at all.
Not entirely conclusive, but it seems like the answer is no.

Speech to text in multiple languages

i have success fully implemented the ispeech API see http://www.ispeech.org/developers for my app to convert speech to text(see the demo app in the sdk http://www.ispeech.org/instructions/sampleprojects/iphone/IntegrationGuide.html). But unfortunately it takes what we speak as only in english and translte it to text.
what i need.
There is a "speak" button that listens what the user spokes and convert it to text(that works fine for english). Also another button that allows the user to select a language as seen in this appscreenshot( http://screencast.com/t/7vBFH565qD). So when the user speaks in the selected language it should get converted to the same language. In my case whatever we speak it takes the input only in english..
Thanks all..
iSpeech also supports more languages, you can find the list with their corresponding locale identifiers here:
http://www.ispeech.org/api
To set a new language you have the "ISpeechSetLocale" method
[_iSpeech ISpeechSetLocale:#"fr-FR"];
http://www.ispeech.org/developer/iframe?src=/iphonesdkdoc/
Why cant you use the NUANCE API which supports speech to text in multiple languages. see the following link and register there to use their iOS sdk .
http://dragonmobile.nuancemobiledeveloper.com/public/index.php?task=supportedLanguages