- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 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/
这个问题在这里已经有了答案: 11年前关闭。 Possible Duplicate: Haskell: difference between . (dot) and $ (dollar sign) 好
我对 Java 平台没有任何了解,我想知道可以使用哪些工具(和方法)来帮助开发用 Java 编写的可维护代码。 我知道可以使用: 适用于任何环境的敏捷方法 用于单元测试代码的 jUnit/jMock(
我们的产品需要支持 IE9,但我们一直假设 IE9 支持 IE10+ CSS 规则。 是否有一种巧妙的方法来获取在 IE10+ 中有效但在 IE9 中不受支持的所有 CSS 规则,目的是在静态代码分析
我需要为 MyString 类重载运算符 + 和 +=。 MyString.h class MyString { char* m_pStr; }; 主要
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我正在升级现有的旧代码以使用 VS 2019*,在代码中我有以下函数在返回行失败: int foo(const char *fn) const { ofstream out(fn,ios::b
我想使用 R2D3 pacakge 在 R 中,但我不确定这个包与 D3.js 库的关系。 R2D3 是否以任何方式限制 D3 的功能?我们可以将 R 中的所有 D3 功能和特性与 R2D3 一起使用
我正在使用 WPF 语音识别库,试图在桌面应用程序中使用它来替代菜单命令。 (我想专注于没有键盘的平板电脑体验)。它可以工作 - 有点,除了识别的准确性太差以至于无法使用。所以我试着听写到 Word。
我在学校参加数据库类(class)。老师给了我们一个简单的练习:考虑以下简单的模式: Table Book: Column title (primary key) Column gen
我正在尝试学习 MVVM 模式,特别是当 View 表示数据库表时该怎么做,但 View 有几个元素表示单个数据库字段。举个简单的例子: 假设我有一个 DateTime 类型的数据库字段(每个数据库字
我有两张 table 。表单有约 77000 行。日志约有 270 万行。 以下查询将在不到一秒的时间内返回“30198”: SELECT COUNT(DISTINCT logs.DOCID) FRO
当您在 Eviews 中进行回归时,您会得到一组这样的统计数据: 在 R 中有没有一种方法可以在一个列表中获得所有/大部分关于 R 回归的统计数据? 最佳答案 请参阅summary,它将为大多数回归对
如果我枚举 type XType int const ( X1 XType = iota X2 ... Xn ) var XTypeNames = []string{"x1", "x2
我正在试用 ranger R包加速做了很多randomForest计算。我正在检查我从中得到的预测,并注意到一些有趣的事情,因为所做的预测完全不正确。 以下是比较 randomForest 的可重现示
我发现 Clang 编译速度比 GCC 慢了四倍。知道是什么原因造成的吗? ebg@tsuki(250)$ time /usr/bin/cc -DHC4 -DSAFETY -DNOREDUCE -DN
我注意到在尝试以 JSON 格式发布表单数据时,以下内容不起作用: $.ajax({ type: "POST", url: url, data: JSON.string
我的代码库中有很多 #if DEBUG/#endif 语句,它们大多具有断言类型逻辑,我不敢在生产环境中运行这些逻辑。 [Conditional("DEBUG")] public void Check
所以我正在开发一个平方根计算器,但我不知道 while 循环是否比 do while 循环更适合。 double x, y = 1.0, newY, squareRoot; bool
我有两个列表,一个是所有语言,另一个是网站拥有的语言子集,我的想法是返回所有语言,但如果子集的元素对应于所有语言的列表,则更改 bool 值的属性. 语言的DTO: public class DTOL
以下控制台应用程序运行正常 - 我很惊讶它没有出错。 class DelegateExperiments { //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
我是一名优秀的程序员,十分优秀!