C#中的Google搜索(语音识别)

时间:2013-09-11 01:09:17

标签: c# search replace speech-recognition speech-synthesis

每当我说“搜索”某事时,我的网络浏览器就会打开一个随机搜索词。几乎是计算机无法理解我。我甚至说纯美国英语,但仍然没有得到它。 (Windows Form App C#)

场景1:我说“搜索Facebook”,谷歌打开,搜索文字说“棒球”

场景2:我说“搜索汽车”并且谷歌打开了,搜索文字说“费用”

场景3:我说“猫追逐老鼠”,谷歌打开,搜索文字说“和猫屎里程”

有没有更好的方法来训练语音识别?

//Search Google
            default:
                if (speech.ToLower().Contains("search for")) // See if the string contains the 'search for' string.
                {
                    string query = speech.Replace("search for", ""); // Remove the 'search for' text.
                    // Old code (does not make the text fully URL safe)
                    // query = query.Replace(' ', '+'); 
                    query = System.Web.HttpUtility.UrlEncode(query);
                    string url = "https://www.google.com/search?q=" + query;
                    System.Diagnostics.Process.Start(url);
                }
                break;

2 个答案:

答案 0 :(得分:1)

string Speech = e.Result.Text;
if (Speech == "I WANT TO SEARCH SOMETHING")
  {
    QEvent = Speech;
    wiki.SpeakAsync("what do you want to search");
    Speech = string.Empty;
  }
 else if (Speech != string.Empty && QEvent == "I WANT TO SEARCH SOMETHING")
   {
     Process.Start("http://google.com/search?q=" + Speech);
     QEvent = string.Empty;

     Num = rnd.Next(1, 4);
     if (Num == 1) { wiki.SpeakAsync("Alright, I am searching " + Speech + " in google"); }
     else if (Num == 2) { wiki.SpeakAsync("ok sir, I am searching " + Speech); }
     else if (Num == 3) { wiki.SpeakAsync("Alright, I am searching "); }
     Speech = string.Empty;

   }

答案 1 :(得分:0)

SAPI语法中的<dictation>标签往往比纯听写语法具有更低的准确性,主要是因为<dictation>标签没有利用上下文(非常提高准确性)。

尽管如此,如果你打开控制面板并搜索“语音”,你会发现语音识别控制面板,它有一个项目'训练你的电脑以更好地了解你'。通过这几次,准确性应该提高。

此外,麦克风选择严重。高品质的耳机麦克风将为精确度带来奇迹。由于音频电平变化太大,网络摄像头或台式麦克风往往表现不佳。