Speech Recognition on Windows Phone - speech-to-text - c#

Hi, is there a way to use a PromptBuilder to develop a Windows Phone speech recognition app? I would like to make an app that can recognize my voice and do something with it in code, but I have to do it on Windows Phone. Can anyone help expand on that? If I can't use a PromptBuilder, is there a alternative?

The System.Speech.Synthesis namespace only deals with speech synthesis, i.e. speech generation, not speech recognition, as per the docs:
The N:System.Speech.Synthesis namespace contains classes for initializing and configuring a speech synthesis engine, for creating prompts, for generating speech, for responding to events, and for modifying voice characteristics.
There's also System.Speech.Recognition namespace, that deals with speech recognition, but I'm not sure about it's availability on Windows Phone.
For working with speech on Windows Phone you should start here: Speech for Windows Phone 8. They have their own Windows.Phone.Speech.Recognition namespace for this purpose.

Related

API for Live Captions on Windows

I'm build a Win Universal App with capabilities to watch live captions of the lecture which student is currently watching or attending in person. I'm looking for a built-in free solution to do audio to text operations.
macOS have the Speech lib https://developer.apple.com/documentation/speech , which we're going to use, but cannot find a similar on Windows. Found docs on Windows.Media package, but cannot figure out if it actually has audio2text api or just commands recognition https://learn.microsoft.com/en-us/uwp/api/windows.media.speechrecognition?view=winrt-22621
Maybe someone has experience with building such kind of capabilities on Windows?
Yes, you could use the Windows.Media.SpeechRecognition API for speech recognition not only with the commands recognition.
You could make a simple test with the official Speech Recognition Sample here: SpeechRecognitionAndSynthesis. Just remember to enable the Online speech recognition (Settings -> Privacy -> Speech).

Disable general speech commands in Hololens

I am making an application with Unity and MRTK for Hololens 2.
I would like to know if it is possible to disable general speech commands.
That is, I want to keep my own voice commands that I have created but I don't want phrases like "Take a picture", "Take a video".... to be recognized.
I've searched the internet but haven't found anything about it.
Does anyone know if there is an option to do this?
Speech commands in the Unity UWP app are powered by the same engine that supports speech in Windows 10 System. It means if you disable the Speech feature in Settings > Privacy > Speech, the speech recognition will no longer be available in your Unity app. Apart from this, HoloLens does not provide any way to allow you to modify system commands for now. Therefore, it is recommended you avoid using system commands in your app, or consider using the Unity plug-in for the Cognitive Speech Services SDK or other third-party speech engines.
You can go setting page,then go to camera ,then find "choose which apps can acess your camera" ,then uncheck Mixed Reality Camera.

C# SpeechRecognizer vs SpeechRecognitionEngine

Few questions,
What is the difference between the SpeechRecognizer and the
SpeechRecognitionEngine classes? why use one over the other for
speech recognition?
Is the speech recognition widget that I see in Windows 10 when I
start my program has to be shown?
I loaded the SpeechRecognizer object with simple grammar such as
"a", "b", "a r". it recognizes it perfectly but the time it
takes is not ideal for my program, I would like it to be faster, any
way to do that?
I think this has been answered in the past. See Using System.Speech.Recognition opens Windows Speech Recognition, does this help?
In general, you can use System.Speech as inproc or shared. When shared, you see a recognizer "widget" on the screen. If you use an inproc recognizer, you control the recognizer and windows does not add a UI. See good Speech recognition API for some more background.

Using Cortana's voice

I'm actually creating a homemade assistant and the default speech synthetiser (in c#) hasn't a nice voice. I would like to know if it is possible, and how, to use Cortana voice and pronunciation?
You can see how to tune Cortana's responses via this link:
https://learn.microsoft.com/en-us/cortana/skills/speech-synthesis-markup-language
And you can output text-to-speech (TTS) this way:
https://learn.microsoft.com/en-us/azure/cognitive-services/speech/api-reference-rest/bingvoiceoutput
You can also change the Windows default voice to Cortana:
https://superuser.com/questions/1141840/how-to-enable-microsoft-eva-cortanas-voice-on-windows-10
Does this help?

Speech Synthesis in C#

I use the speech synthesis for a simple program, and I was
wondering if there is supporting in other languages than english?
I want that the speech will be in the local language. Is it possible?
You can use SpeechSynthesizer.GetInstalledVoices to obtain a list of all available voices, together with some Culture Information. On my Windows 8.1 machine, there is a German and an English language installed. You should be able to check if there is a capable voice present with the GetInstalledVoices method.
Here is a list of the supported languages on the Microsoft Speech Platform SDK 11

Categories

Resources