问题标签 [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.

0 投票
3 回答
3117 浏览

visual-c++ - C++ Microsoft SAPI:如何将 Windows 文本到语音输出设置到内存缓冲区?

我一直试图弄清楚如何使用 Windows SAPI 5.1 将文本“说”到内存缓冲区中,但到目前为止还没有成功,尽管它看起来应该很简单。

一个将合成语音流式传输到 .wav 文件的示例,但没有关于如何将其流式传输到内存缓冲区的示例。

最后,我需要在 char* 数组中以 16 kHz 16 位 little-endian PCM 格式合成语音。目前我创建了一个临时 .wav 文件,在那里重定向语音输出,然后阅读它,但这似乎是一个相当愚蠢的解决方案。

有谁知道该怎么做?

谢谢!

0 投票
0 回答
3294 浏览

text-to-speech - Microsoft TTS(文本到语音)数据文件位置

好的,所以我下载了一些 TTS 引擎来替换默认的 microsoft TTS 引擎,并使我的程序听起来更“人性化”——基本上我想知道 TTS 引擎文件存储在本地 pc 上的什么位置(windows 7 )

- 我拥有的文件是 .Dat 格式,有没有人知道应该去哪里注册为文本到语音的语音?

干杯。

@UPDATE:
好的,通过注册表搜索后,我看到我需要为 dat 文件创建一个新的注册表项和值以及文件所在的位置、格式等......我将其注册为现在文本到语音的语音,但是当我尝试加载它时,我收到以下错误:“无法播放此语音。请尝试选择其他语音或选择其他音频输出设备。” - 有任何想法吗?-- 有什么方法可以检查我下载的 DAT 文件的编码吗?

0 投票
2 回答
3706 浏览

delphi - SAPI 语音识别 delphi

我需要使用delphi语言创建一个等效的程序......或者有人可以发布一个关于如何使用delphi在peech识别中执行语法的链接。或者任何在 Delphi 中具有编程等价物的 XML 语法示例。对不起我的英语不好。

参考: http: //msdn.microsoft.com/en-us/library/ms723634 (v=VS.85).aspx

XML 语法示例:

0 投票
3 回答
3064 浏览

delphi - 是否可以在单词发音游戏中使用 WIndows 语音识别引擎?

我用来创建一个使用 Windows 语音识别引擎或 SAPI 的应用程序。它就像一个发音游戏,当你正确发音时它会给你分数。但是当我开始使用 SAPI 进行实验时,它的识别能力很差,除非你在上面加载语法(XML),否则它会给出最好的识别结果。

但现在的问题是从输入文本中最接近的发音将被识别。例如:

数据库-> dedebase-> 正确。

即使你发音错误。它给你正确的答案。

不使用 xml 语法

当您说数据库时,它会给您“在基础/基础/数据库/等...”

请张贴您的答案,建议,澄清。投票选出最佳答案。

顺便说一句,我在项目中使用 delphi 编译器....

0 投票
1 回答
872 浏览

c++ - 当“event.GetFrom(m_cpVoice)==S_OK”时调用函数(事件发生时的ergo)[SAPI 5.1 and C++]

我正在做一个带有 3D 模型的项目,可以这么说。所以,我使用的是 SAPI 5.1,并且我想在有 Viseme 事件时异步调用一个函数(以便播放相关的动画)。

我怎么能做到?

非常感谢你。

注意:我使用: hRes = m_cpVoice->Speak(L"我只想解决这个问题", SPF_ASYNC , NULL); 我知道 CspEvent, event.eEventId 。我想要的是在 Sapi 事件发生时如何调用函数

0 投票
2 回答
365 浏览

c# - 是否可以禁用语音参考卡?

Microsoft 语音识别附带语音参考卡。它包含一些被识别的预先确定的单词。

我想知道是否可以禁用它。是吗?

编辑:我想删除所有预定义的命令。这个:http: //windows.microsoft.com/en-us/windows-vista/Common-commands-in-Speech-Recognition

EDIT2:我正在使用 SpeechLib!

0 投票
4 回答
415 浏览

c# - 如何使函数像 IsWordPronounceable(SomeWord:String): boolean;

我想做一个函数IsWordPronounceable(SomeWord:String): boolean; “英语语言” 我正在使用 SAPI 语音识别,我需要这个功能。我使用 delphi 编译器、C/C#/C++ 或任何语言都可以。请帮忙。我不知道如何开始...

从一开始,我就认为添加语法规则可以解决问题。该场景是突出显示对用户说的文本。但引擎无法识别不发音的单词。

0 投票
1 回答
1176 浏览

delphi - 如何在语音识别中获取音素?

如果可能的话,我正在使用使用 Delphi2009 的 vista 和 windows 7 上的内置语音识别来进行语音识别以显示音素及其波形。欢迎使用其他编程语言。

0 投票
2 回答
12269 浏览

delphi - Delphi SAPI 文字转语音

首先:这不是Delphi 和 SAPI的副本。我对“SAPI in Delphi”主题有一个特定的问题。

我使用 Delphi 2009 中出色的 Import Type-Library 指南在组件面板中获取 TSpVoice 组件。这很好用。和

我可以写

获得异步音频输出。

第一个问题

根据文档,我可以写

获得同步音频输出,但我得到一个 EZeroDivide 异常。为什么?

第二个问题

但更重要的是,我希望能够动态创建 SpVoice 对象(我认为这被称为“后期绑定”SpVoice 对象),部分原因是我的应用程序的所有会话中只有一小部分会使用它,部分原因是我不想假设最终用户系统上存在 SAPI 服务器。

为此,我尝试了

这显然什么都不做!(用 1 替换 0 会给我 EZeroDivide 异常。)

免责声明

我对 COM/OLE 自动化相当陌生。对于我在这篇文章中表现出的任何无知或愚蠢,我深表歉意......

更新

为了让遇到与我相同的问题的每个人都受益,François 的视频解释了 SAPI/Windows 中存在一个错误(某些地方不兼容),这使得以下代码引发了 EZeroDivide 异常:

如视频所示,解决方案是更改 FPU 控制字:

此外,如果您想异步播放声音,则必须确保播放器不会超出范围!

0 投票
2 回答
12641 浏览

c# - 如何在 C# 中使用 SpeechRecognizer 混合语法(规则)和听写(自由言论)

我真的很喜欢微软最新的语音识别(和 SpeechSynthesis)产品。

http://msdn.microsoft.com/en-us/library/ms554855.aspx

http://estellasays.blogspot.com/2009/04/speech-recognition-in-cnet.html

但是,我觉得在使用语法时我有些受限。

不要误会我的意思,语法非常适合准确地告诉语音识别要注意哪些单词/短语,但是如果我想让它识别我没有提醒它的东西怎么办?或者我想解析一个半预先确定的命令名称和半随机单词的短语?

例如..

场景 A - 我说“Google [Oil Spill]”,我希望它打开 Google 的搜索结果,括号中的术语可以是任何内容。

场景 B - 我说“定位 [曼彻斯特]”,我希望它在 Google 地图或其他任何非预先确定的地方搜索曼彻斯特

我想让它知道“Google”和“Locate”是命令,它之后是参数(并且可以是任何东西)。

问题:有谁知道如何混合使用预先确定的语法(语音识别应该识别的单词)和不在其预先确定的语法中的单词?

代码片段..