2010-05-25 249 views
5

我現在正在製作一個智能房屋控制系統,而且我有一個小問題。 我在考慮使用Cosmos作爲基礎系統,併爲其添加所需的命名空間庫,但正如通常的System.Speech.Recognition命名空間太依賴於Windows Speech API,我不得不忘記使用它。C#語音識別

所以我的問題是,有沒有(免費的,如果可能的話)語音識別和/或C#語音語音合成庫,什麼有以下幾點:

  • 多語言講
  • 提取支持從語音樣本文本內容
  • 合成具有可選擇的(或用戶編寫的)語音模式(語音)的語音

的一般使用情況,非窗口相關庫竟被d是最好的,當然,如果它也是免費的。

+2

哇,我從來不知道在.net框架中有[內置語音識別](http://msdn.microsoft.com/en-us/library/system.speech.recognition.aspx)。此外,[這](http://msdn.microsoft.com/en-us/library/system.speech.synthesis.aspx)。 – 2010-05-25 17:20:47

+0

@BlueRaja - 你應該做出這個答案。我會贊成你。我也不知道這一點。 – JasCav 2010-05-25 17:29:33

+0

我不相信fonix232沒有使用Microsoft操作系統 - 他顯然使用了一個用IL編寫的開源操作系統。鏈接是http://www.gocosmos.org/index.en.aspx。 – 2010-05-27 16:16:38

回答

2

Voxeo offers developer accounts您可以使用它來開發語音驅動的家庭自動化系統。我已將它與my own home automation system接口,用於我家的一小部分命令,它的工作原理非常好。你需要學習一些VoiceXML才能使用它。

SAPI適用於語音合成;我在自己的系統中使用SAPI進行房間口頭提示,就像早上走進浴室時發出的天氣預報。如果Cosmos不允許你包含所有你需要的DLL,也許你可以使用SAPI創建一個單獨的服務,然後使用WCF(或其他)在它們之間進行通信?

對於以打字的形式理解自然語言的相關問題,我開發了一個C# NLP Engine,我希望能夠在未來的某個時間提供給非商業用途。

從語音中提取文本而沒有指定任何語法預先是一個非常困難的問題,並且容易出錯。即使你可以解決這個問題,你仍然有嘗試理解他們使用NLP說的問題。構建一個指導識別器識別你想識別句子的語法(如VoiceXML)可能會達到更高的準確度。

2

看看這個項目:http://cmusphinx.sourceforge.net/

這是一個開源的語音識別項目。它可以用任何你想要的語言進行訓練,加上自開源以來,你可以對其進行修改以適應你的需求或擴展它。

+0

唯一的問題是,它不是純粹的C#庫。正如我所說,我想使用純粹的C#庫,因爲宇宙需要它。 – fonix232 2010-05-25 19:14:47

+0

嗨icemanind,我正在尋找一個語音識別程序來獲得最好的結果,你認爲CMU Sphinx能爲我提供這個嗎? – 2013-01-19 20:03:11

+0

@FernandoSantiago - 我認爲它是最好的免費選擇。如果你沒有錢花,那麼它的路要走。請記住,正如fonix232指出的那樣,它不是純粹的C#。它也得到了一些C++ – Icemanind 2013-01-20 00:50:15