Question is simple but answer is not present anywhere!
Is there possibility to use Cortana to start my app with Command "Hey MyApp" instead of "Hey Cortana"?
I don’t mean to run Cortana then say run my app via voice command.
Than you for any information.
No that is not possible. "Hey Cortana" is the only thing that triggers the voice recognition, this is built into the Windows core.
If they would not have done that it would cause a lot of processing power to constantly having to listen and evaluate what one is saying. And on the other hand you could easily trigger all kind of actions and apps by just having your phone next to you and talking to another person.
Therefore, the start point for any voice command will be "Hey Cortana" on Windows, "Ok Google" on Android and "Hey Siri" on iOS.
You can implement certain 'skills' into Cortana, with which you can trigger actions within your app.
To get started, head over to the Cortana Dev Center.
Related
By continuously I mean something like continuous.c, the default program of pocketsphinx. As I tried google voice recognizer or other apps like cortana I know the user should press the record button, then the voice recognizer records his sound for seconds, then sends it to server and so on. But in pocketsphinx, when you run the program, it's listening to you until you terminate it.
I know the pocketsphinx works offline and google and cortana work online. So I am interested to know, is it possible to do continuous voice recognition with online api's like what pocketsphinx does in offline, or not?
If I want to build a robot that works with voice commands, is it possible to use google asr api considering that there is no record or any button to start recording voice commands for the robot(like what we do in smartphones or computer)
I'm looking for the best approach to implement voice command in a Xamarin app.
Here are my requirements:
I don't need to launch my app by voice. Instead, my users will launch the app through touch (so, when the app is not running, no voice recognition is needed by my app)
My app is a client/server app and it will work always on (the backend will run on azure)
My app will be used primarily by car (so consider environment noise)
My app will work in many languages, such as Italian, Spanish, French and English
My app should be developed with xamarin (and eventually mvvmcross or similar)
In my app there will be two kinds of voice commands:
to select an item from a short list: app will show a list of items, such as "apple, kiwi, banana and strawberry" and user will have to say one of those words.
to change current view. Typically these voice commands will be something like "cancel", "confirm", "more" and stuff like these
The typical interaction between user, app and server should be this:
user says one of the available commands in current view/activity/page
suppose here that the user perfectly knows which commands he/she can use, it does no matter now how he/she knows these commands (he/she just knows them)
user could put before the commands some special words, such as "hey 'appname'", to have a command like "hey 'appname', confirm"
Note: the "hey 'appname'" part of the voice command has the only purpose to allow the app to know when the command starts. The app can be always in listening mode, but has to avoid to send the audio stream continuously to the server to recognize commands
best case is if app would recognize these commands locally, without involve the remote server, since the voice commands are predefined and well-known in each view. Anyway, app can send the audio wave to the server which will return a string (in this example the text returned will be "confirm", since the audio was "hey 'appname', confirm")
app will map the text recognized with the available commands, and will invoke the right one
user will receive a feedback by the app. The feedback could be:
voice feedback (text-to-speech)
visual feedback (something on the screen)
both above
I was looking for azure-cognitive-services, but in this case, as far as I've understood, there is no way to recognize the start of the command locally (everything works on server side through REST api or clients). So the user would have to press a button before every voice command, and I need to avoid this kind of interaction.
Since the app is running, my user has him/her hands on the steering wheel, and he/she can't touch everytime the display. Isn't it?
Moreover, I was looking for cortana-skills-kit and botframework, but:
It seems that Cortana Skills are available in English only
Actually, I don't need to involve Cortana to launch my app
I don't have experiences on these topics, so, hope that my question is clear and, generally speaking, that can be useful for other newbie users as well.
* UPDATE 1 *
The Speech Recognition with the Voice Command Definition (VCD) file is really close to what I'd need, because:
it has a way to activate the command through a command name shortcut
It works in foreground (and background as well, even if in my case I don't need the background)
Unfortunately, this service works only on Windows, since it uses the local API. Maybe the right approach could be based on the following considerations:
Every platform exposes a local speech recognition api (Cortana, Siri, Google Now)
Xamarin exposes Siri and Google Now apis and make them available through C#
It would be useful to create a facade component to expose the three different local speech api through a common interface
I'm wondering if there is something other solution to this. Cortana, as personal assistant, is available on Windows, iOS and Android. Since Cortana works both with local api and with remote service (Cortana Skills), is Cortana the right approach? Has Cortana the support for many languages (or, at least, has the support a road map)?
So, just some thoughts here. If you have some other ideas, or suggestions, please add here. Thanks
My organization utilizes a browser-based app (Chrome/Firefox) and Skype to allow kindergarten students to read books with adults, remotely.
One of the biggest problems we have happens with this scenario:
Tutor calls a dedicated Skype number that resides on student laptop (Windows 7)
Student answers Skype call
Skype application window remains open, blocking browser
Student does not know how to close Skype window
Student cannot see browser until support remotely connects to laptop and minimizes Skype window
Training the students, at that age, doesn't work. Teachers tell them not to mess with the laptops, anyways.
So the question is this:
Is there a way to automatically minimize Windows application windows via a custom script or is there a way to force browser windows to regain priority on the desktop based on certain triggers?
I'm looking more for pointers on where to do research or what to look at. I can probably build a solution if I know there's a tool or library where I can start.
Have you tried to start Skype with the command line parameter
/minimized
That would start Skype minimized to the tray.
And on a second note I would imagine that when the kids can answer a Skype-call, they could be taught to press ALT+TAB after they have answered the call (and thereby switch to the browser).
You could also try http://ahkscript.org/ (Auto Hot Key) which is a scripting language for automation of common tasks.
I am new to windows phone app dev. I want to know if there is any way to have a notification alive till the user checks it. I found that "toast notification" expires in 10 seconds irrespective of user checks it or not. And there is no way of finding out if a tile notification arrived or not. Is there any workaround? I want to have notifications that are similar to Android notifications which stay till user checks them.
Persistent on-screen notifications on Windows Phone are not possible, by intentional design. It's interesting to see how many users on Android disliked persistent notifications when applications started to interrupt and then disrupt the current foreground application experience.
The design philosophy is that they distract from the user experience and could be easily abused by applications.
The general Microsoft recommendation for the platform would be to use a combination of a notification, Live Tile (reference), and in application UI update.
In Android 4.3, the behavior was changed to highlight applications that were constantly running (interesting reference)
You can use "MessageBox.Show(String)".
Refer below for:
MSDN Doc
Example 1
Example 2
I have an application in WP7 silverlight that needs to be launched after a specific period of time, something like an alarm.
But I want to launch the application itself not WP7's alarm.
I use:
this.Visibility = Visibility.Collapsed;
for hiding the application, I know it is not the correct way for making it run in the background.
Any hint please? Thanks.
The platform specifically does not support running apps in the way you describe.
If your functionality can't run in a background agent then your only options are to use an alarm or toast message (sent as a push notification) to prompt the user to start the app.
One of the design decisions behind the platform is that the user should always know what is going on on the phone so having apps stop and start by themselves would be contrary to this.
You can run a background agent and display a toast notification to the user , and launch the application when the user clicks on the toast.
You can also push toast messages to the device, and rely on the user clicking the toast .