问题标签 [webspeech-api]

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 投票
1 回答
1059 浏览

javascript - Safari 中未触发 voiceschanged 事件

据我所知,无论是在 Mac 上还是在 iOS 上,voiceschanged 事件都不会在 Safari 中触发。同样奇怪的是,它似乎也不会在 iOS 上的 Chrome 中触发,但我假设 iOS 上的 Chrome 使用与 Safari 相同的 JavaScript 引擎。

这是我用来验证的演示:http: //jsbin.com/gosaqihi/9/edit ?js,console (取自Getting the list of voices in speechSynthesis of Chrome (Web Speech API)

我也尝试过使用 addEventListener:

这两种方法(onvoiceschanged、addEventListener)在适用于 Windows、Android 和 Mac 的 Chrome 中都可以正常工作,但在适用于 iOS 的 Chrome 和适用于 Mac 和 iOS 的 Safari 上都失败了。据我所知,Safari 根本不会触发 voiceschanged 事件。

让事情变得复杂的是,我实际上并不拥有任何 Apple 设备,所以我不得不通过让朋友尝试来解决这个问题。

我需要在 Safari 中做些什么来获取声音列表吗?还是语音合成 API 还没有(完全)实现?

0 投票
1 回答
2162 浏览

google-chrome - chrome.tts.speak 字符限制

我在我的扩展程序中使用 Chrome 的 tts 服务。根据chrome.tts文档:

文本的最大长度为 32,768 个字符。

但是,当我传递超过 250 个字符的字符串时,引擎不会读取所有话语(它只会在单词中间停止读取)。我现在想知道这是一个错误还是设计使然。Web 语音 API 具有规范中描述的类似字符限制,并且其行为方式相同。

我想知道我是否做错了什么,或者它只依赖于浏览器中的 TTS 引擎而我对此无能为力?

0 投票
0 回答
113 浏览

javascript - 网页 JS 到 Chrome 应用程序(网络语音 API)

我有一个网页,我一直在测试 Google 的 Web Speech API,我正在寻找创建一个利用它的 Chrome 应用程序。我知道要让 API 工作,它必须通过网络服务器而不是文件运行,所以我不知道 Chrome 应用程序是否会绕过这个并允许它从桌面运行。另外,我将如何将我的 HTML 网页使用转移到 Chrome 应用程序中。

0 投票
1 回答
1201 浏览

google-chrome - Chrome 语音 API 网络错误

我正在尝试使用 Chrome 网络语音 API 创建一个 PHP 网络应用程序。我总是遇到网络错误。但是,我有良好的网络连接。

谢谢

0 投票
2 回答
1696 浏览

php - 谷歌语音 API - php 不返回任何内容

我的代码受到这个用于语音到文本的全双工谷歌语音 API 的 php 版本的启发:http: //mikepultz.com/2013/07/google-speech-api-full-duplex-php-version/

我有几个 flac 文件可以正常工作并按照 Mike 的帖子中的说明提供数组输出。但是对于少数 flac 文件,它只是不返回任何内容作为输出。例如: http: //gavyadhar.com/video/upload/Pantry_Survey.flac,不返回任何输出。

但同样的代码适用于这个 flac 文件: http: //gavyadhar.com/video/upload/pantry_snack_video.flac并返回数组输出如下:

---------响应1:你的脸是一个储藏室和一个主要的堆栈我通常是Wesley Rd rasa multigrain 饼干,我喜欢它们,因为它们对你很健康而且[...] ...等等5个响应。

谁能告诉我,为什么有些flac文件不起作用?或者有什么方法可以捕获由 google API 创建的异常并显示它们以进行故障排除?

谢谢。在此处附上我的两个 php 文件的代码:

0 投票
1 回答
531 浏览

google-chrome - Chrome OS German 是 Chrome OS 上正确的默认语音吗?

我正在将 Web Speech API 用于文本到语音,并且需要能够确定默认语音。为此,我调用speechSynthesis.getVoices()并枚举声音以找到默认为真的声音。

我在美国,在我的所有设备上都使用美国英语语言环境。在 Windows 和 Mac 上的 Chrome 中,返回的默认语音是 Google 美国英语。然而,在 Chromebook 上,返回的默认语音是 Chrome OS German。这真的是正确的默认值吗?

Chromebook 上是否还有其他一些我缺少的语言环境设置?我曾尝试更改 ChromeVox 的默认语音(在我更改之前也是 Chrome OS 德语),但没有成功。

或者有什么方法可以将语言传递给getVoices()?

HTML

我页面的 HTML 语言设置为美国英语。

我试过 lang="en",删除 DOCTYPE 声明等,没有任何变化。

Javascript

0 投票
1 回答
5834 浏览

html - Web Speech API - iOS 中的语音识别

HTML5 有一个新的语音识别 API,caniuse.com 建议,Safari iOS 7.1 支持这个 API。但是,我已经尝试过了,它不能在带有 Safari 7.1 或 MAC OS x safari 7.1 的 iOS (iPhone 5S) 上运行。

是否有任何解决方法可以使其在 iOS 和 Android 上运行?此语音识别 API 是否可用于敏感数据,因为它使用 Google 服务 ()。

我试过这个:

0 投票
1 回答
2052 浏览

javascript - 禁用脏话过滤器以通过 Web Speech API 进行识别

我正在使用webkitSpeechRecognition实例来访问 Chrome 中的本机语音识别。问题在于Web Speech API 规范没有涵盖脏话过滤的主题,但 Google 的 Speech API 默认启用了脏话过滤器。这不是一个大问题 - 幸运的是,Web Speech API 的默认过滤器显示第一个字母并将其余字母隐藏在星号下。但是,在某些情况下,以某个字母开头并具有一定长度的单词源自不同的粗俗单词,并且猜测该人所说的内容可能无法给出准确的结果。

这里的问题是:如何控制 Chrome 中 Web Speech API 的脏话过滤级别?JavaScript 实例不会公开任何额外的(特定于平台的)变量来使用。实际语音 API 的pfilterURL 参数可以设置为 0(不过滤)、1(过滤并用#### 替换单词)或 2(过滤并用星号替换除第一个字母之外的所有字母)。这个参数也暴露给 Chrome 扩展开发者,它位于SpeechInputStartOptions(然而它是一个布尔变量)。

PS SpeechInputStartOptions 文档讨论了默认的 Chrome 过滤设置。我找不到此设置或有关它所在位置的任何信息。即使理想情况下,该解决方案不应该涉及用户必须做某事,但为其找到 Chrome 中的设置仍然是一个突破。

0 投票
1 回答
1567 浏览

webspeech-api - 网络语音 API - SpeechGrammar

所以我浏览了 Web Speech API 文档,发现了这个

https://dvcs.w3.org/hg/speech-api/raw-file/tip/speechapi.html#speechreco-speechgrammar

是否可以将 SpeechGrammar 对象用作 api 理解的单词字典?

0 投票
1 回答
1619 浏览

mobile - SpeechSynthesisUtterance 在移动浏览器中不起作用

我在我的移动网站中使用 SpeechSynthesisUtterance。当我在桌面版网站中使用此代码时,它是可以的。但我发现该功能在 document.ready 中的移动浏览器中不起作用,如下所示:

}

但是当我使用“点击”事件时,它会起作用:

请帮忙。谢谢你。