简体   繁体   English

C#语音识别

[英]C# Speech Recognition

I am making a Smart House Control System right now, and I have a little problem. 我现在正在制作智能家居控制系统,我有一点问题。 I was thinking on using Cosmos for a base system, and adding the needed namespace libraries to it, but as the usual System.Speech.Recognition namespace depends too much on Windows Speech API, I have to forget about using it. 我正在考虑将Cosmos用于基本系统,并为其添加所需的命名空间库,但由于通常的System.Speech.Recognition命名空间过分依赖于Windows Speech API,我不得不忘记使用它。

So my question is, is there any (free if possible) voice recognition and/or speech speech synthesizer library for C#, what has the following: 所以我的问题是,是否有任何(如果可能的话免费)语音识别和/或语音合成器库用于C#,具有以下内容:

  • support for multi-language speaking 支持多语言发言
  • extracting text content from speech sample 从语音样本中提取文本内容
  • synthesizing speech with selectable (or user-written) speech pattern (voice) 用可选择的(或用户编写的)语音模式(语音)合成语音

A general usage, non-windows dependent library would be the best, and of course, if it was free too. 一般用法,非Windows依赖库是最好的,当然,如果它也是免费的。

Check out this project: http://cmusphinx.sourceforge.net/ 看看这个项目: http//cmusphinx.sourceforge.net/

It's an open source speech recognition project. 这是一个开源语音识别项目。 It is trainable with any language you want plus since its open source you can modify it to suit your needs or expand it. 它可以用你想要的任何语言训练,因为它的开源你可以修改它以满足你的需要或扩展它。

Voxeo offers developer accounts which you could use to develop a speech powered home automation system. Voxeo提供开发人员帐户 ,您可以使用它来开发语音家庭自动化系统。 I've interfaced it to my own home automation system for a small subset of the commands my home understands and it works great. 我已经将它连接到我自己的家庭自动化系统,用于我家理解的一小部分命令,并且效果很好。 You'll need to learn some VoiceXML to use it. 您需要学习一些VoiceXML才能使用它。

SAPI works OK for voice synthesis; SAPI适用于语音合成; I use SAPI in my system for spoken prompts in the house like a weather forecast that comes over the speakers in the morning when you walk into the bathroom. 我在我的系统中使用SAPI在房子里提供语音提示,就像早上走进浴室时扬声器上的天气预报一样。 If Cosmos doesn't allow you to include all the DLLs you need maybe you could create a separate service using SAPI and then use WCF (or other) to communicate between them?? 如果Cosmos不允许你包含你需要的所有DLL,也许你可以使用SAPI创建一个单独的服务,然后使用WCF(或其他)在它们之间进行通信?

For the related problem of understanding natural language in a typed form I've developed a C# NLP Engine which I hope to be able to make available for non-commercial at some point in the future. 对于以类型形式理解自然语言的相关问题,我开发了一个C#NLP引擎 ,我希望能够在将来的某个时候提供非商业用途。

Extracting text from speech without specifying any grammar up-front is a very hard problem and is going to be error prone. 从语音中提取文本而不预先指定任何语法是一个非常难的问题,并且容易出错。 Even if you could solve that, you'd still have the problem of trying to understand what they said using NLP. 即使你可以解决这个问题,你仍然会遇到试图理解他们使用NLP所说的内容的问题。 Constructing a grammar that guides the recognizer to the kinds of sentences you want to recognize (like VoiceXML does) is likely to achieve much higher accuracy. 构建一个语法来指导识别器你想要识别的句子类型(如VoiceXML那样)可能会获得更高的准确性。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM