gpt4 book ai didi

javascript - 网络语音 API : two utterances at same time

转载 作者:太空宇宙 更新时间:2023-11-04 13:13:12 24 4
gpt4 key购买 nike

我正在使用 Web Speech API 并想知道是否可以同时运行两个 SpeechSynthesisUtterance() 实例,以便声音相互叠加。

简化我当前的代码,我基本上有两个函数,每个函数定义一个新的 SpeechSynthesisUtterance() 实例,然后调用它们。然而,由此产生的听写在两个实例之间交替,如果声音 1 说“boom, chicka”而声音 2 说“bow, wow”,我听到的是“boom, bow, chicka, wow”而不是“boom +鞠躬,chicka + 哇”。

function speak(text) {
// Create a new instance of SpeechSynthesisUtterance.
var msg = new SpeechSynthesisUtterance();
//some code here where I define parameters like volume, pitch which I left out

window.speechSynthesis.speak(msg);
}
function speak2(text2) {
// Create another new instance of SpeechSynthesisUtterance.
var msg2 = new SpeechSynthesisUtterance();
//some code here where I define parameters like volume, pitch which I left out

window.speechSynthesis.speak(msg2);
}

speak(text);
speak2(text2);

最佳答案

MDN documentationwindow.speechSynthesis.speak() 上说

The speak() method of the SpeechSynthesis interface adds an utterance to the utterance queue; it will be spoken when any other utterances queued before it have been spoken.

所以我想那是不行的。
(如果您想真正了解它,这里是 W3 spec - 但它说的是同一件事)

与此同时,我正在使用基于音频文件的外部 TTS 服务。这些在并行性方面的限制较少。

关于javascript - 网络语音 API : two utterances at same time,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31102274/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com