如何使用Microsoft speech将文本到语音和语音到文本功能添加到SIP软件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用Microsoft speech将文本到语音和语音到文本功能添加到SIP软件相关的知识,希望对你有一定的参考价值。
In my previous snippet I have written about converting text to speech using C#. This code snippet can be used not just for allowing your computer to read txt aloud, but also for speech recognition. To implement this functionality I used Microsoft Speech Platform 11 along with Ozeki VoIP SIP SDK. The first one provides two classes (MSSpeechPlatformSTT, MSSpeechPlatformTTS) for text-to-speech and speech-to-text, and the VoIP SDK ensures the necessary VoIP components. The source code below is ready for use, so you only need to copy&paste it to your Visual Studio, then modify the necessary fields. (Do not forget to add the necessary DLL files to your references: http://www.voip-sip-sdk.com, http://www.microsoft.com/en-us/download/details.aspx?id=27226 )After creating the necessary using lines and media handler objects, you can implement the text-to-speech and the voice recognition features by using the SetupTextToSpeech() and the SetupSpeechToText() methods.
Have a good time!
using System; using System.Threading; using Ozeki.Media.MediaHandlers; using Ozeki.Media.MediaHandlers.Speech; namespace Microsoft_Speech_Platform { class Program { static Speaker _speaker; static Microphone _microphone; static MediaConnector _connector; static TextToSpeech _tts; static SpeechToText _stt; static void Main(string[] args) { _microphone = Microphone.GetDefaultDevice(); _speaker = Speaker.GetDefaultDevice(); SetupTextToSpeech(); SetupSpeechToText(); while (true) Thread.Sleep(10); } static void SetupTextToSpeech() { var voices = _tts.GetAvailableVoices(); foreach (var voice in voices) { if (voice.Language.Equals("en-GB")) _tts.ChangeLanguage(voice.Language, voice.Name); } _speaker.Start(); _connector.Connect(_tts, _speaker); _tts.AddAndStartText("Hello World!"); } static void SetupSpeechToText() { string[] words = {"Hello", "Welcome"}; _stt = SpeechToText.CreateInstance(words); _stt.WordRecognized += stt_WordRecognized; var recognizers = _stt.GetRecognizers(); foreach (var recognizer in recognizers) { if (recognizer.Culture.Name == "en-GB") _stt.ChangeRecognizer(recognizer.ID); } _connector.Connect(_microphone, _stt); _microphone.Start(); } static void stt_WordRecognized(object sender, SpeechDetectionEventArgs e) { Console.WriteLine("Word recognized: {0}", e.Word); } } }
以上是关于如何使用Microsoft speech将文本到语音和语音到文本功能添加到SIP软件的主要内容,如果未能解决你的问题,请参考以下文章
Microsoft Speech API (SAPI) UserTraining 语法
Microsoft Speech-to-Text:部分成绩单丢失
为 c# microsoft 2013 安装 Microsoft.speech