Specifying a pronunciation of a word in Microsoft Speech API - c#

I'm working on a small application in C# which performs speech recognition using Microsoft Speech API.
I need to add some non-english words to grammar, whose pronunciation don't obey english pronunciation rules.
Is it possible specify their pronunciation using International Phonetic Alphabet ?
If yes, which methods should be used ?

The way to achieve custom pronunciation here is by passing an SrgsDocument to the Grammar constructor. This allows specification per http://www.w3.org/TR/speech-grammar/.
I have not done this and it looks non-trivial, but this ought to allow you to do what you want.

Related

speech recognition using HMM or MFCC

please help me in speech recognition using HMM (hidden markov models) or MFCC ( Mel Frequency Cepstral Coefficient ) by longage c# or c++
I want to recognize word "one", "two"... to "ten")
When I say one ===> show MessageBox write one
You should use a toolkit for this purpose like HTK, Kaldi, etc. which are open-source or you could use a free API like Google Speech API, Microsoft Speech API (SAPI), etc.
It is not really easy to do speech recognition using HMM from scratch. BTW, MFCC is not a machine learning tool like HMM. MFCC is a method of feature extraction which is used to prepare observations for HMM training and decoding.

Add new word to windows speech recognition using C#

i know how to use speech recognition in C# but the problem is how to add a special word or name into windows speech dictionary database?
in windows 7 and 8 you can do it easily using:
Opening Speech Dictionary > Add new word > Enter the Text of word > Record the pronunciation of the word by Microphone
and then,it's OK! the word will add to database.
we also can edit the word using the Speech Dictionary.
does anyone know how can we do these steps with .NET and programming?
EDIT:
its very simple, windows speech dictionary has limited database , how can we add some other words into this via .NET C#?
for example name "Salad" doesn't exist in windows speech dictionary. how can i add this word and its pronunciation into windows speech dictionary?
sorry i'm a bit new to this great site.
You'll need to use the SAPI Automation APIs (aka SpeechLib) to access the ISpLexicon interfaces.
In particular, ISpLexicon::AddPronunciation will add a new word (and its associated pronunciation) to the user lexicon.

c#: Speech to text using any api

How to detect language and convert speech to text? Is Google APi support it? If yes then can anyone put any example of code?
Please help needed to convert speech to text?
Thanks
If you use C# 3.5 and higher u can Add a reference to the System.Speech namespace using the Add Reference in the Solution Explorer.
Then take a look at this Articles:
Speech recognition, speech to text, text to speech, and speech synthesis in C#
C# Speech to Text

Train voice recognition

I have built a voice recognition system in C# and I’m using the Microsoft Speech Platform 11.0 (Swedish language packs). I use a wav file as an input for the SpeechRecognitionEngine.
The problem is that some of the words (40%) are not recognized at all.
I would like to record some commands (a limited number of Swedish words and/or numbers) to a sound file and import them so that the SpeechRecognitionEngine could be able to understand them.
For example:
Record when an user says the word: “Katt” (Swedish word for cat) and then be able to tell the RecognitionEngine that this means “Katt”.
Is this possible or are there better solutions?
Yes its possible. Create a lookup entry file for your words and write soundex in c# and load the lookup grammar. It will display whichever the word you pronounced but it should be in the lookup.

How to make C# show arabic?

I have a problem that while writing a C# code the output sometimes is words arabic language,and it appears as a strange symbols,how to make C# read and show arabic??
I don't know the precise problem you're having, but would suggest you read The Absolute Minimum Every Programmer Should Know About Unicode to give yourself a solid grounding in this often confusing topic.
Arabic Console Output/Input is not possible on Windows Platforms, according to Microsoft:
http://www.microsoft.com/middleeast/msdn/arabicsupp.aspx#12
C#/.NET will display Arabic characters without a problem, as it represents string internally as UTF-16.
The issue is with how you display the characters.
If you are on the web, you need to ensure that your are including the correct charset encoding header or meta tag for the output.
Please provide more information on where you don't see the characters, and how you are outputting the strings.
maybe it is a problem with your system language, go to Control Panel then to Language options and try to change you System Local Language to Arabic and ensure that the language for non-Unicode programs is arabic.
Please make sure that you have correct fonts installed. If you have them on your system, it could be a fallback mechanism problem.
For web pages (Asp.Net), please make sure that:
You are using (and declaring) correct encoding.
You have correct fonts declared in your style definition.
I know that it sounds strange, but for Internet Explorer, it helps to set language for non-Unicode programs to what you need to support (in my case it was Chinese Simplified on German Windows 2003).

Categories

Resources