问题标签 [speechsynthesizer]

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 投票
0 回答
368 浏览

c# - Unity 中带有 SpeechSynthesizer 的 NullReferenceException

我在 Unity 项目中使用 C# SpeechSynthesizer,如下例所示:

https://docs.microsoft.com/en-us/dotnet/api/system.speech.synthesis.speechsynthesizer?view=netframework-4.8

我收到此错误:

这是我的课:

欢迎任何想法。

0 投票
1 回答
152 浏览

c# - SSML - 是否可以删除自动中断暂停?

我正在尝试删除合成处理器添加的自动中断,以创建没有任何“语言暂停”的语音文件。

我正在使用 Microsoft 的语音合成引擎和SpeechSynthesizerC# 中的类。

这是我通过“这是为什么会发生自动中断的示例?”得到的输出。包裹在<speak>标签中SpeechSynthesizer

https://clyp.it/4nofhh3n

这是我想要的输出(通过使用Oddcast 的 TTS Demo实现):

https://clyp.it/m55wt14u

我已经多次阅读w3.org 的 SSML 文档,在第3.2.3 点 - break element中,请注意以下几点:

If the element is not present between tokens, the synthesis processor is expected to automatically determine a break based on the linguistic context. In practice, the break element is most often used to override the typical automatic behavior of a synthesis processor.

这就是我的声音目前的表现。我想以某种方式覆盖/关闭此功能,并让演讲完全不间断。我尝试将一个带有属性的<break>元素放在发生这种自动中断的单词之间,就像他们在上面写的那样覆盖它,以及各种不同的东西,例如将整个文本字符串包装在标签中等,但无济于事。strength="none"time="0ms"<s>

我也不能只删除后期处理中的中断,因为当添加自动中断时,语音对所说的话有不同的语气。

我已经阅读了几个不同的 SSML 文档,虽然与 w3 文档相比,这些文档的措辞通常有所不同,但没有解释如何具体覆盖自动中断,这是我的问题。

0 投票
1 回答
137 浏览

c# - C# 重复文本到语音合成

因此,我正在尝试编写一个文本到语音的程序,该程序将逐渐变得更快,在句子之间留下更少的间隙,并最终过度分层并同时运行多个命令,因此它变得一团糟。它目前是一个控制台应用程序,我有相关的参考资料

我如何调整它以将每个说话命令作为自己的实例运行的任何想法。我是否必须重新学习如何使用多线程才能使其工作?

任何帮助都会很棒,在它循环的那一刻(迭代次数不是太重要),我试图在每次之后减少停顿,但无法让一个说话命令覆盖之前的内容。

0 投票
1 回答
130 浏览

.net - .NET SpeechSynthesizer 抛出 System.NullReferenceException

我似乎无法在任何地方找到任何解决我的问题的方法。

我正在尝试在我的应用程序中使用 SpeechSynthesizer,但我尝试的任何东西(包括 Microsoft 文档中的代码)但似乎没有任何效果。我正在使用的代码是:

我正在使用以下命名空间

我从此处的 Microsoft .NET 文档中获得了代码: LINK

该代码会抛出一个 System.NullReferenceException ,synth.SetOutputToDefaultAudioDevice();当我注释掉该行时,它也会在这里抛出它synth.Speak("test");

堆栈跟踪表明它来自 System.Speech dll,或者至少我认为它是无论如何;我不知道。堆栈跟踪的链接是:

似乎还有其他与此相关的问题,因此我的问题似乎不是其他 NRE 相关问题的简单重复。以下是一些可能有助于提供答案的类似问题:

0 投票
0 回答
46 浏览

c# - 如何在 .net 上“发音”标点符号

我正在编写一个带有 UI 消息语音复制的应用程序(它适用于盲人和弱视人群)。该应用程序将在有或没有互联网连接的情况下工作,因此我决定使用内部 SpeechSynthesizer。看起来像:

我的问题,SpeechSynthesizer 不发音标点符号。所以上面的文字听起来像是“错过了”。我有一个愚蠢(但有效)的解决方案 - 我正在用适当的文本替换所有标点符号:

它有效,但我很确定应该有设置来设置它。有人可以指出我这个设置吗?

0 投票
0 回答
24 浏览

reactjs - 如何从 Web 语音更改为 Azure 语音?

我正在尝试替换一些 web api TTS 代码:

使用 Azure TTS 替代方案。我添加了一个功能:

并更改了这一行:

这与以下错误有关:

所以看起来我的新版本没有设置utterance。我错过了什么?

编辑:所以我认为这是由 Async 函数尚未创建任何语音引起的。我如何在 React 中处理这个问题?

0 投票
1 回答
82 浏览

javascript - 使用 Web Speech API 的 SpeechSynthesis 接口时改进发音

我正在编写一个使用Web Speech API的SpeechSynthesis Interface的前端用户界面。

我通常对此感到满意。我不关心这些词是否以美国、英国、澳大利亚、猕猴桃、南非、印度、新加坡英语、菲律宾等口音发音,但我不确定当SpeechSynthesis Interface破坏单词时如何处理事情。

到目前为止,我提出的唯一解决方案是替换:

  • 单个字符串(语音合成器说出与用户阅读相同的字符串)

和:

  • 对字符串(语音合成器说出与用户阅读的字符串不同的字符串 - 指定的对应字符串)

例子:

每当向用户显示“协议”“网络应用程序”这两个词时,没有成对创建单词并告诉语音合成器“proto kols”“weh bapp”,还有其他方法可以用来覆盖破坏?

0 投票
1 回答
59 浏览

c# - 语音合成器和 SSML

我一直在尝试使用韵律音高属性,但似乎并不简单或似乎有效。我想按照 g 大调创建一个简单的“do re mi”。使用不同的赫兹值,结果并不像预期的那样。有时它似乎做它想做的事,不管我放什么。例子:

0 投票
0 回答
29 浏览

asp.net - 播放音频时没有任何反应

早上好,

我正在尝试使用 ASP.NET 5.0 开发一个 webapp,并且在我发布应用程序之前,一切都在调试模式下运行良好。当我发布应用程序时,主页会打开: 当我发布应用程序时,主页会打开

但是,只要我单击“单击我”按钮,URL 就会更改为 .../?handler=button,这意味着请求已被理解,但没有其他任何反应。它应该正在播放下面 OnPost() 方法中定义的音频。

我已经尝试了一些 stackoverflows 提示来将 NET.CORE 环境更改为生产环境,但它根本不影响错误

我还仔细检查了我的标签是否静音。我对所有的包裹进行了三次检查,它们都很好。

对于 Button,我使用 HTML 标签助手和 OnPost() 方法,如下所示:

你知道这个错误来自哪里以及如何解决它吗?我真的被困在这里了。

0 投票
0 回答
20 浏览

python - python:if else之后如何让程序按下一些按钮

我有一个程序,当我用麦克风说话时会做一些事情。所以我不知道如何让它自己按下按钮。我做了一个简单的 if else 请求,我说一些话,它必须按下按钮。如果你能说出如何循环它,所以它不会在第一次回答请求后关闭,那么你可以尝试帮助解决这个问题