gpt4 book ai didi

c# - 语音识别质量极差,尤其是与 Word 相比

转载 作者:行者123 更新时间:2023-12-03 17:09:09 31 4
gpt4 key购买 nike

我正在使用 WPF 语音识别库,试图在桌面应用程序中使用它来替代菜单命令。 (我想专注于没有键盘的平板电脑体验)。它可以工作 - 有点,除了识别的准确性太差以至于无法使用。所以我试着听写到 Word。 Word 工作得很好。在这两种情况下,我都使用我的内置笔记本电脑麦克风,并且两个程序都能够同时听到相同的语音(前提是 Word 保持键盘焦点),但 Word 做对了,WPF 做得很糟糕。
我尝试了通用的 DictationGrammar() 和小型的专业语法,并且尝试了“en-US”和“en-AU”,在所有情况下 Word 都表现良好,而 WPF 表现不佳。即使将 WPF 中的专业语法与 Word 中的一般语法进行比较,WPF 50% 的时间都会出错,例如将“尺寸小”听成“颜色小”。

    private void InitSpeechRecognition()
{
recognizer = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US"));

// Create and load a grammar.
if (false)
{
GrammarBuilder grammarBuilder = new GrammarBuilder();
Choices commandChoices = new Choices("weight", "color", "size");
grammarBuilder.Append(commandChoices);
Choices valueChoices = new Choices();
valueChoices.Add("normal", "bold");
valueChoices.Add("red", "green", "blue");
valueChoices.Add("small", "medium", "large");
grammarBuilder.Append(valueChoices);
recognizer.LoadGrammar(new Grammar(grammarBuilder));
}
else
{
recognizer.LoadGrammar(new DictationGrammar());
}

// Add a handler for the speech recognized event.
recognizer.SpeechRecognized +=
new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);

// Configure input to the speech recognizer.
recognizer.SetInputToDefaultAudioDevice();

// Start asynchronous, continuous speech recognition.
recognizer.RecognizeAsync(RecognizeMode.Multiple);
}
Word 的示例结果:
Hello 
make it darker
I want a brighter colour
make it reader
make it greener
thank you
make it bluer
make it more blue
make it darker
turn on debugging
turn off debugging
zoom in
zoom out
WPF中相同的音频,听写语法:
a lower
make it back
when Ted Brach
making reader
and he
liked the
ethanol and
act out
to be putting
it off the parking
zoom in
and out
我使用 Nuget 得到了程序集。我正在使用运行时版本=v4.0.30319 和版本=4.0.0.0。如果我应该“训练”它,文档没有解释如何做到这一点,而且我不知道训练是否与 Word 等其他程序共享,或者训练保存在哪里。我已经玩了足够长的时间让它知道我的声音。
谁能告诉我我做错了什么?

最佳答案

这是意料之中的。 Word 的听写使用基于云的 AI/ML 辅助语音服务:Azure Cognitive Services - Speech To Text .它正在不断地进行培训和更新,以获得最佳准确性。您可以通过脱机并尝试 Word 中的听写功能来轻松测试这一点 - 它不起作用。
.NET 的 System.Speech 使用离线 SAPI5据我所知,自 Windows 7 以来尚未更新。核心技术本身(Windows 95 时代)比当今手机或基于云的服务上可用的技术要古老得多。 Microsoft.Speech.Recognition 也使用类似的核心,并且不会更好 - 尽管您可以尝试一下。
如果您想探索其他离线选项,我建议您尝试Windows.Media.SpeechRecognition .据我所知,它与 Cortana 和其他现代语音识别应用程序在 Windows 8 及更高版本上使用的技术相同,并且不使用 SAPI5。
在线查找 Azure 或 Windows.Media.SpeechRecognition 的示例非常容易,使用后者的最佳方法是将您的应用程序更新到 .NET 5 并使用 C#/WinRT访问 UWP API。

关于c# - 语音识别质量极差,尤其是与 Word 相比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67188111/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com