问题标签 [sapi]
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.
vb.net - 从 Windows 服务通过调制解调器播放语音
我正在开发一个 VB.NET Windows 服务,该服务花费大量时间检查 BMS 数据库中的新警报并拨打电话以远程警告操作员。我目前正在使用 .NET TAPI 包装器和 SAPI 5.3 互操作程序集,我通过电话交谈的步骤是:
- 初始化TAPI接口;
- 拨打接线员号码;
- 取语音调制解调器 waveOut 设备 id
- 将语音输出设置为该设备 ID;
- 让 SAPI 发挥作用。
如果我将代码编译为 Windows 控制台或表单应用程序,这一切都可以正常工作,但是一旦我将其编译并作为 Windows 服务运行,步骤 5 就永远不会发生 - 语音调制解调器调用但保持沉默;其他一切正常,甚至数字监控。现在我知道 Windows 服务不应该与桌面交互,所以 UI 元素和播放声音之类的东西是不可以的,但我正在努力寻找不涉及使用 wave API 并且可以开发的替代方案在合理的时间范围内。有任何想法吗?
speech-recognition - 可以先做 SpeechToText(语音识别),然后再做 TextToSpeech(使用相同的文本和相同的声音)?
我正在为音盲人士开发一个程序。我一直在使用 sapi 和 TTs。该程序同时用一只手制作 3D 动画。但问题是声音(即使是最慢的声音)对于我想要的东西来说太快了。所以,我考虑过语音识别,但问题是我必须在动画开始之前对文本做一个大的处理。
所以,我想知道是否可以进行语音识别(从我在 .wave 文件上的声音),然后执行相同的 TT 过程(使用 Sapi 事件......),但在我的声音中使用 .wave。
如果可能,请告诉我如何。如果你认为有更好的选择,让我看看。
谢谢你的时间(请原谅我的英语)
耶稣凯维奇
delphi - Microsoft 语音 api 5.1 GetVoices 返回 Windows 7 上不存在的语音
我正在从 XP 迁移到 Windows 7 64 位。我在 XP 机器上编译的应用程序可以在 XP 上正常运行。但是,当我在 W7 机器上运行 exe 时,GetVoices 返回的声音列表如下:
Microsoft Anna
Microsoft Mary
Microsoft Mike
Sample TTS Voice。
检查 W7 语音属性对话框显示机器上仅加载了 Microsoft Anna。检查 HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Speech/Voices 的注册表可以确认这一点。
在我的新 Windows 7 开发机器上重新编译我的应用程序会创建一个重复上述行为的 exe。(XP编译代码和W7编译代码在W7下执行时重现同样的错误)
我在 Windows 7 64 位上使用 Delphi 7 进行开发,我正在使用 Microsoft Speech Object Library(版本 5.4)(注意:5.4 是导入类型库列表中显示的内容)。
我将 SpeechSDK51.exe 安装到我的 W7 机器上。这来自:
以下代码在 Windows 7 上生成 4 种声音的列表,即使应该只有一种声音:
关于如何处理这个问题的任何建议?
谢谢,
肖恩
windows-server-2008 - Windows Server 2008:语音运行时 - 我缺少什么?
我正在尝试使用 system.speech 让语音识别在 Windows Server 2008 上工作。
我在 Vista 上构建了一个使用 System.Speech.Recognition (SAPI 5.4) 的控制台应用程序。在这台机器上工作得很好。
试图在 Windows Server 2008 x86 机器上安装/执行它。它有.NET 3.5。不走运...抛出错误--经调查,发现2008默认没有安装任何识别器。
安装了新的语音平台服务器运行时、英语语言文件和语音 SDK。这些都是大约一个月前发布的。据我了解,运行时包含与 WinServer 2008 兼容的识别器。
尝试再次运行我的应用程序,但仍然没有找到识别器。
我可以看到有一个识别器 dll 安装在:C:\Program Files (x86)\Common Files\microsoft shared\Speech\SR\v10.1\spsreng.dll
我究竟做错了什么?:)
speech-recognition - SAPI:服务器端听写
伙计们,我正在尝试组建一个服务器端系统,在该系统中我使用 Microsoft SAPI 来:
- 在服务器中执行多个同时听写式识别。
- 此外,所有识别都可能使用不同的扬声器配置文件(我的应用程序将识别用户并向 SAPI 指示要加载的配置文件)。
- 我还想以编程方式训练各种用户资料。
我已经知道上述某些内容是不可能从托管代码中实现的,即 System.speech 命名空间。谁能告诉我我在理论上使用 SAPI 5.x 尝试做的事情是否可行?
谢谢你的帮助。
-拉吉
speech-recognition - 使用 MS 语音识别服务器 API 进行转录
众所周知,现在 MS 语音 API (Microsoft.Speech) 的服务器版本不支持加载听写语法。
Q1:有没有办法解决这个问题?
Q2:我想到的一个想法是根据人们在特定主题上的对话历史(例如聊天室)构建语法。该软件需要进行自然语言转录,但使用的语言子集可能会有所限制。
这是否有可能相当准确和稳健?或者它是不是你不打算用非发音语法做的事情?
谢谢
简
windows - 我可以直接使用 SAPI 将语音从存储的音频实时转换为文本吗
我真正想要实现的是——>假设我播放一个音频文件(使用我的应用程序),它可以从互联网流式传输/或直接从本地存储访问。现在我想配置 SAPI 来收听这个源而不是麦克风,并像往常一样将语音从音频转换为文本。
c# - SAPI 5.4 语法与 SAPI 5.1 兼容吗?
我在 C# 中为 win 7 编写了一个应用程序,它通过在 System.Speech 中使用 SharedRecognizer 来使用 .NET 4.0 和 SAPI 5.4。一切都在那个环境中工作,但在 Windows XP 上却不行。
在 Win XP(安装了 SAPI 5.1)上,它似乎不喜欢我正在使用的语法 xml 文件。
程序在尝试读取语法文件时崩溃,并出现以下错误:
经过一番搜索,我发现其他人在这个论坛上遇到了非常相似的问题,但问题似乎没有得到解决。
有人有想法么?我是否需要有两个版本的语法文件,一个用于 XP,一个用于 Win Vista/7?如果是这样,有没有人知道有什么不同的并排解释,所以我可以想出一种简单的方法来从一个翻译到另一个?如果我确实有不同格式的语法文件,我是否可以在 SharedRecognizer 中加载旧版本,我假设它是一个 SAPI 5.3-4 类?或者我是否必须使用对 SAPI 5.1 dll 的 COM 调用而不是 System.Speech 命名空间?
非常感谢!!
c# - 如何在 SAPI 5.4 C# 程序中加载文本语法?
我一直在使用带有 SAPI 5.4 的 SRGS 语法来定义命令和控制语法。现在我想切换到文本语法,以便它们与 SAPI 5.1(甚至可能是 SAPI 4?)兼容。
我在这里找到了一个与SAPI 5.4 兼容的文本语法的示例
我想在运行时从它的 XML 文件加载该语法,而不是使用语法编译器工具,然后将语法的二进制版本作为资源。理想情况下,我希望能够在内存中创建一个 XDocument,然后让 Speech.Recognizer 监听这些命令。
有谁知道如何做到这一点?谢谢!
c# - .Net System.Speech 从 Mic-input 更改为 WavFile-input 时遇到的问题?
我正在使用 C# .net 库 System.Speech 来实现我的 ASR 应用程序(顺便说一句,我看过一篇提到 SpeechLib.dll 的帖子,这似乎是 SAPI 的一个更基本和低级的实现,它们是相同的?)。我们的主要目的是实现作为Server/Client ASR系统:在客户端记录用户的声音,并通过互联网将整个音频流传输到服务器,服务器处理ASR作业并将结果返回给客户端。
我写了一个类似的应用程序,它使用本地麦克风作为语音输入,它表现得很好。
我的原始应用程序:
这样,我用麦克风输入,结果显示的准确度还不错。
这就是问题所在。现在转到新任务,我必须将识别输入设置为 WavFile(或通过 TCP/IP 套接字连接的音频流)。所以我只是简单地把我的代码改成这样:
结果变得不尽如人意。我只是将一些波形片段分别预先录制到几个文件中,基于 mic-input 应用程序的相同语法,并将这些文件设置为 ASR 输入。但是,只能检测到一些文件(由 SpeechDetectedEvent 处理),很少有文件可以被很好地识别(由 SpeechRecognizedEvent 处理)。我只是录制了与麦克风输入应用程序相同的短语。
尽管准确性较差,但可以正确识别某些文件,这表明我的代码没有任何逻辑错误。但是我假设我在使用它之前错过了一些工作,例如设置识别器的一些参数。
所以我在这里寻求帮助,如果有人知道使用 wavfile-input 精度差的原因吗?
谢谢!!!!