问题标签 [system.speech.recognition]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何使用/运行在远程连接系统中运行的语音识别 C# 应用程序?
我使用 C# 创建了一个语音识别应用程序。当我在远程系统中运行应用程序并将麦克风连接到我的系统时,它不起作用。那么有没有一种方法可以实现在远程连接系统中运行应用程序,并将麦克风连接到您自己的系统?
提前致谢
c# - 以准确性为代价提高 C# System.Speech.Recognition 识别速度的方法?创建实时音素识别器
我正在创建一个小型应用程序,当用户对着麦克风讲话时,它需要实时输出音素。就我而言,识别输出的速度是第一要务,甚至高于准确性。使用 C# 是首选,但如果可以使用不同的语言和/或库(如 CMUSphinx)实现更好的速度,我会切换。
使用System.Speech.Recognition
和DictationGrammar("grammar:dictation#pronunciation")
,我已经能够创建一个简单而有效的音素识别器,当您对着麦克风说话时,它会输出音素,而且准确度通常令人印象深刻(订阅该SpeechRecognitionEngine.SpeechHypothesized
事件可以让我看到实时输出)。问题是,用户说话和输出之间的最小延迟约为 0.5 秒,这对于项目来说太长了。我知道总的来说这是一个相当高的速度,特别是考虑到良好的准确性,但我真的需要更快的东西,即使准确性受到很大影响。有什么方法可以配置 aSpeechRecognitionEngine
以将准确性抛到窗外,以便更快地提出假设?我使用 发现了一些暴露的设置SpeechRecognitionEngine.UpdateRecognizerSetting
,但它们似乎对音素识别的输出影响不大。
我还研究了 CMUSphinx,这是一个看起来很有前途的免费语音识别项目。Sphinx4 很容易编译和设置测试是Java,但我不知道如何配置它来实时输出音素,而且它的单词识别速度相对较慢。在这里,我发现了一些关于使用他们的另一个项目 pocketsphinx 进行音素识别的笔记。我也能够下载和编译它,但无法成功运行任何测试。有没有人在音素上使用 CMUSphinx 或 Pocketsphinx?它是否能够实现高实时输出速度?或者也许还有更多的选择?我真的在寻找一些非常基本但很快的东西。
编辑:能够让pocketsphinx识别音素,但在项目中使用太慢了
c# - 命名空间“系统”中不存在“语音”
在 Unity 中,尝试在我的 C# 脚本中使用 System.Speech 时出现此错误:
我下载了 System.Speech.dll 并将它放在\Library\ScriptAssemblies
我的 Unity 项目中,但是每次我编译项目时,这个文件夹都会被清理,所有的 DLL 都会丢失。
我是 C# 和 Unity 的新手,有没有办法可以将文件保存在文件夹中?我试图找到构建项目的脚本来修改它,而不是在构建之前清理所有内容,但还没有解决方案。
c# - System.ArgumentException: '找不到所需的 ID 识别功能。参数名称:文化'
我得到了这个期望,但不知道如何解决它。
我尝试将文化更改为 fi-FI、en-EN、en-GB、en-US,它总是给人以这种期望。
我也尝试过不支持文化的解决方案和Go to Debug -> Options -> Debugging and tick "Enable Just My Code"
这个。
.NET Framework 4.7.2 Visual Studio 2019 参考 System.Speech
c# - 在 Azure Web App(.NET Framework 4.7)上发布后,“SpeechSynthesizer”不起作用
所以,我正在使用 .NET Framework 4.7 Web API 并使用“System.Speech.dll”说出一些文本,保存为 WAV,转换为 MP3(使用 LAME),然后附加到另一个 MP3 的开头并返回更新的MP3。
现在,当我在 Azure 上发布到“试用”版本(12 个月试用)Web 应用程序后,它不起作用,我总是收到“502 Bad Gateway Error”(附截图)
现在,我还检查了 Azure 上的“eventlog.xml”文件,发现:
我已经更新了“bin”文件夹,并通过 Azure 中的“高级工具”在其中添加了“System.Speech.dll”。我真的不确定现在是什么问题。
我的最后期限非常紧张,有人可以帮助我吗?我将不胜感激,谢谢!
急切地等待积极的回应......
c# - 训练 System.Speech.Recognition 以识别音频命令
我有一个使用语音激活命令的简单应用程序的想法。它基本上是一个语音激活的录音机。我需要两个语音命令,一个用于开始录制,一个用于停止录制。我正在考虑使用 System.Speech.Recognition,我找到了一个示例,您可以在其中输入命令作为英文字符串,如下所示:
我想要的是命令不是特定于语言的。我想让用户选择说(通过麦克风录制)一个将用作开始命令的命令和另一个用于停止命令的命令。
所以我的问题基本上是我可以使用 System.Speech.Recognition 来存储用户为他的启动命令录制的内容,然后稍后听相同的命令并启动录音,直到他说停止命令?
如果有人知道这个用例的更好的语音识别包,我也会接受它作为答案。
谢谢
c# - 将 MemoryStream 与 .NET 的 System.Speech SpeechRecognitionEngine 类一起使用
我正在尝试使用 .NET 的 System.Speech SpeechRecognitionEngine 对象来识别不和谐用户在语音频道中所说的单词。机器人收到的原始 pcm 音频被写入 MemoryStream,我试图让 SpeechRecognitionEngine 使用这个 Stream 进行识别。获取这些数据并写入它可以正常工作,但是,由于多种原因,将其与 SpeechRecognitionEngine 一起使用似乎不起作用。一方面,流不是无限的,识别器到达流的末端并在单词甚至可以说出之前停止。即使数据不断地添加到流中(即用户不断地说话),识别器仍然会到达流的末尾并拒绝继续。另一个问题是运行识别的方法似乎不能多次运行。我' 已经尝试将流分块提供给识别器,但它似乎没有用。有一个选项可以将输入设置为您的默认音频设备,这正是我想要的,即使用户没有提供任何输入,它也始终运行而不停止。有什么帮助吗?
在另一个程序中,我将 pcm 数据写入“流”,如果有任何语法错误,那是因为手动复制代码而不是复制和粘贴以简化我的代码。谢谢!
c# - 在托管网站上使用 .Net Core 的 System.Speech
我在 .Net Core 3.1 中创建了一个 Web API,它使用System.Speech
- 在 .Net Core Nuget Package here上运行,但是当我的 API 使用该库时出现 500 错误。
错误内容如下:
我假设这与对 System.Speech 的引用无关,但我的托管服务提供商说:
如果您在 .net Web 应用程序中使用 System.Speech,则需要 LocalSystem of Application Pool Identity。我没有更好的解决方案,也许您可以尝试另一个可以单独为您的项目工作的语音库。
这是合乎逻辑的,还是因为它是一个 .Net Core 包,它是完全独立的并且不需要它?
而且,更重要的是,有什么方法可以修复以继续使用这个库吗?
有关更多背景信息,请参阅我在此处发布的其他问题。