标签: text-to-speech

在您的语言中开始文本到语音

是否有任何开源库可用于提供字母和声音并生成文本到语音系统.

从头开始我该怎么办?Python将是我的首选语言,因此我必须在哪里开始用我的语言开发自己的文本到语音.

text-to-speech

3
推荐指数
1
解决办法
1037
查看次数

TextToSpeech.setEngineByPackageName() 触发 NullPointerException

我的活动onInit()包含对TextToSpeech.setEngineByPackageName()以下内容的调用:

  tts = new TextToSpeech(this, this);
  tts.setEngineByPackageName("com.ivona.tts.voicebeta.eng.usa.kendra");
Run Code Online (Sandbox Code Playgroud)

它适用于 Android 2.2.2 设备,但在 Android 2.3.4 设备上它产生 NullPointerException,具有以下堆栈跟踪:

 E/TextToSpeech.java - setEngineByPackageName(3423): NullPointerException
 W/System.err(3423): java.lang.NullPointerException
 W/System.err(3423):    at android.os.Parcel.readException(Parcel.java:1328)
 W/System.err(3423):    at android.os.Parcel.readException(Parcel.java:1276)
 W/System.err(3423):    at android.speech.tts.ITts$Stub$Proxy.setEngineByPackageName(ITts.java:654)
 W/System.err(3423):    at android.speech.tts.TextToSpeech.setEngineByPackageName(TextToSpeech.java:1356)
Run Code Online (Sandbox Code Playgroud)

因为我提供了一个硬编码的字符串参数,所以我知道该参数不是导致 NullPointerException 的原因。

我也知道setEngineByPackageName()已被弃用,但这只是从 API 14 开始,所以这不是原因。

知道是什么导致了这个 NullPointerException?

编辑:如果这不会导致无休止的轰炸,我就不会关心“为什么”:

I/TextToSpeech.java(3652): initTts() successfully bound to service
Run Code Online (Sandbox Code Playgroud)

其次是调用onInit()(由系统,而不是我的代码)。

我的希望是,如果我理解为什么会发生这种情况,我可以停止对onInit()s的轰击并从错误中优雅地恢复。

android text-to-speech

3
推荐指数
1
解决办法
1091
查看次数

Android TTS文本超过4k字符不播放

TextToSpeech有时会使用一些长文本,我注意到,因为Android 4.1.2如果文本超过4000个字符,它就不会播放.

我没有收到任何错误,但文本将不会播放.到目前为止,我能够重现这一点Android 4.1.2(三星Galaxy Nexus,Nexus7).

这是一个bug 4.1.2还是正常的(虽然我没有找到任何关于这种行为的文档)?

另外我发现了一个帖子:如果收到的TTS太长则onUtteranceCompleted()会丢失,这表示文本超过4000个字符会出现不同的问题.

编辑:我试图将我的字符串拆分为4k长度的块,并将其发送到TTS使用QUEUE_ADD,我遇到了另一个错误:QUEUE_ADD无法工作,而是刷新现有队列,只有最后一个块被播放.

EDIT2:这是我的号召TTS

mTTS.speak(longText, TextToSpeech.QUEUE_FLUSH, null);
Run Code Online (Sandbox Code Playgroud)

android text-to-speech android-4.2-jelly-bean

3
推荐指数
1
解决办法
2046
查看次数

如何在 VBScript 中将 SAPI 文本保存为语音文件?

我有以下用于文本到语音转换的 VBScript 代码:

Set objVoice = CreateObject("SAPI.SpVoice")
objVoice.Speak Inputbox("Enter Text")
Run Code Online (Sandbox Code Playgroud)

我想将演讲保存到音频文件中。我怎样才能做到这一点?

vbscript sapi text-to-speech

3
推荐指数
1
解决办法
7019
查看次数

Windows Phone 8.1语音合成器访问被拒绝?

我正在尝试构建一个应用程序,当用户按下按钮时会对用户说话.

语音合成器代码如下

 Windows.Media.SpeechSynthesis.SpeechSynthesizer x = new Windows.Media.SpeechSynthesis.SpeechSynthesizer();
      var stream = await x.SynthesizeTextToStreamAsync(someString);
      var mediaElement = new MediaElement();
      mediaElement.SetSource(stream, stream.ContentType);
      mediaElement.Play();
Run Code Online (Sandbox Code Playgroud)

虽然此代码在不同的应用程序中工作,但它不适用于此项目.我一直收到以下错误.

  +     e   {System.UnauthorizedAccessException: Access is denied. Access is denied. at Windows.Media.SpeechSynthesis.SpeechSynthesizer..ctor()  at TalkingWalkingMaps.ManeuverDisplayer.<DisplayManeuver>d__0.MoveNext()}    System.Exception {System.UnauthorizedAccessException}
Run Code Online (Sandbox Code Playgroud)

我在线阅读我必须使用regedit从我的注册表中删除HKEY_CURRENT_USER\Software\Microsoft\Speech\CurrentUserLexicon值,但这不起作用.

有人可以帮忙吗?

c# text-to-speech windows-phone-8.1

3
推荐指数
1
解决办法
1369
查看次数

HTML5语音合成

简单地说,它非常简单,包含最少的量(只有两行)

但我仍然没有听到任何声音.但谷歌TTS在我的笔记本电脑上完美运行.

当我运行下面的页面时,我只看到"一二"警报.

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> </head>

<body>

<script>
    var utterance = new SpeechSynthesisUtterance('Hello baby');
    window.speechSynthesis.speak(utterance);
    alert("one two");
</script>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我使用Google Chrome版本36.如何在JavaScript中查看错误?非常感谢Stack Overflow!

javascript html5 text-to-speech

3
推荐指数
1
解决办法
7066
查看次数

MBROLA与FreeTTS的声音 - Windows

在FreeTTS的Java程序中使用MBROLA语音...

我正在研究一个简单的Java 文本到语音程序.我决定使用FreeTTS,但声音并不是我想的,而且我还是想用一个女声.所以我开始环顾四周,并决定使用MBROLA来改变我的文本到语音转换程序的声音.

我读到"FreeTTS可以使用MBROLA语音",但我在各处搜索,找不到如何设置MBROLA的明确指南,以及需要哪些文件.MBROLA上有许多论坛与FreeTTS一起工作,但似乎没有人知道他们在做什么.

所以问题:

  1. 需要下载哪些文件?
  2. 将这些包含在我的程序中的步骤?
  3. 使用MBROLA语音的简单FreeTTS示例?

java eclipse text-to-speech freetts

3
推荐指数
1
解决办法
1万
查看次数

在数组中说出单词

我想用Web Speech API大声说出一系列单词.

这些词是一,二,三,四,五.

在Chrome上说出单词时,下面的脚本会显示第一个单词,然后重复最后一个单词,直到迭代完成,语音输出为:

一,五,五,五,五.

在Firefox上,脚本说第一个单词然后停止,语音输出是:

一个.

我已经把东西记录到控制台,试图弄清楚发生了什么,这是两个浏览器的结果.

word: one
message: one 
word: two 
message: two 
word: three 
message: three 
word: four 
message: four 
word: five 
message: five
Run Code Online (Sandbox Code Playgroud)

控制台的输出是所需的语音输出,所以我不确定到底发生了什么.

var msg = new SpeechSynthesisUtterance();
var words = ['one', 'two', 'three', 'four', 'five'];

for (var i = 0; i < words.length; i++) {
    msg.text = words[i];

    console.log('word: ' + words[i]);
    console.log('message: ' + msg.text);

    window.speechSynthesis.speak(msg);
}
Run Code Online (Sandbox Code Playgroud)

可能导致这种情况的原因是什么?我该怎么做才能纠正它?

javascript text-to-speech speech-synthesis webspeech-api

3
推荐指数
1
解决办法
123
查看次数

文本到语音不能在Android设备上工作

下面是我的代码.我无法听到我的kitkat设备中的声音.播放出现但声音没有播放.我正在按照本教程

https://www.tutorialspoint.com/android/android_text_to_speech.htm

package com.example.insert;
import android.os.Parcelable;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.app.Activity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import java.util.Locale;
import android.widget.Toast;
import android.util.Log;
import java.lang.Object;


public class SecondActivity extends AppCompatActivity {
    TextToSpeech t1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        String emailid;
        emailid = "Hi,say your email id";

        t1 = new TextToSpeech(getApplicationContext(), new TextToSpeech.OnInitListener() {
            @Override
            public void onInit(int status) {
                if (status == TextToSpeech.SUCCESS) {
                    int result = t1.setLanguage(Locale.US);
                    if (result == TextToSpeech.LANG_MISSING_DATA …
Run Code Online (Sandbox Code Playgroud)

android speech-recognition text-to-speech voice-recognition google-text-to-speech

3
推荐指数
1
解决办法
5365
查看次数

如何改变pyttsx3中的声音?

这段代码正在运行,但我只能在Microsoft Windows中预先安装的声音之间切换.这些声音是"Microsoft David Mobile"和"Microsoft Zira Mobile".

后来我安装了"Microsoft Kalpana Mobile"并将其设置为默认的Windows语音.但我仍然无法切换到"Microsoft Kalpana Mobile".代码是 -

import pyttsx3
engine = pyttsx3.init()
voices = engine.getProperty('voices')
engine.setProperty('voice', voices[0].id) #changing index changes voices but ony 0 and 1 are working here
engine.say('Hello World')
engine.runAndWait()
Run Code Online (Sandbox Code Playgroud)

只有0和1作为声音[]内的索引.

我想要"微软Kalpana Mobile"发言.我在这个项目上工作了2个月.如果这不起作用,我所有的努力都将继续下去.请帮忙:(

提前致谢.

python text-to-speech speech-synthesis python-3.x pyttsx

3
推荐指数
2
解决办法
1万
查看次数