【问题标题】:speech-to-text disable windows auto handler and write what i say语音到文本禁用 Windows 自动处理程序并写下我说的话
【发布时间】:2023-03-31 04:16:01
【问题描述】:

我已经开始使用 .NET 语音转文本库 (SpeechRecognizer)

在谷歌搜索和搜索这个网站时,我发现了这个代码示例:

var c = new Choices();
for (var i = 0; i <= 100; i++)
  c.Add(i.ToString());
var gb = new GrammarBuilder(c);
var g = new Grammar(gb);
rec.UnloadAllGrammars();
rec.LoadGrammar(g);
rec.Enabled = true;

这有助于我开始。我改变了这两行

for (var i = 0; i <= 100; i++)
   c.Add(i.ToString());

满足我的需要

c.Add("Open");
c.Add("Close");

但是,当我说“关闭”时,Windows 的语音识别器会关闭我的应用程序!

此外,有没有比创建自己的字典更好的识别语音的方法?我希望用户说类似:“给自己写个便条”,然后用户会说话,我会写。

很抱歉在同一个问题上问了 2 个问题,这两个问题似乎都与我的一个问题有关。

【问题讨论】:

  • 顺便说一句,这些类与 Visual Studio 无关。它们是 .NET 的一部分。

标签: c# speech-recognition speech-to-text


【解决方案1】:

您正在使用共享语音识别器 (SpeechRecognizer)。当你实例化 SpeechRecognizer 您将获得一个可以由其他应用程序共享的识别器,通常用于构建应用程序以控制在桌面上运行的窗口和应用程序。

听起来您想使用自己的私有识别引擎(SpeechRecognitionEngine)。所以改为实例化一个 SpeechRecognitionEngine。

SpeechRecognizer Class

Disable built-in speech recognition commands? 也可能有一些有用的信息。

Microsoft 的桌面识别器包括一种称为听写语法的特殊语法,可用于转录用户说出的任意单词。您可以使用听写语法进行转录风格识别。见DictationGrammar ClassSAPI and Windows 7 Problem

【讨论】:

    【解决方案2】:

    我有更好的答案....

    尝试向您的识别器添加听写语法...它似乎禁用了所有内置命令,例如选择/删除/关闭等。

    然后您需要使用语音识别事件和 SendKeys 将文本添加到页面。到目前为止,我的发现表明你不能吃你的 SAPI 蛋糕。

    如果您还没有解决(或继续),我认为上面的解决方案应该适合您。

    【讨论】:

    • 实际上,我继续处理这个问题,但也许有这个问题的其他人会使用你的解决方案。还是谢谢!
    猜你喜欢
    • 1970-01-01
    • 2013-12-17
    • 2012-08-01
    • 2016-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    • 1970-01-01
    相关资源
    最近更新 更多