- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在带有 FreeTTS 的 Java 程序中使用 MBROLA 语音...
我正在用 Java 开发一个简单的文本到语音程序。我决定使用 FreeTTS,但声音并不是我所想的那样,而且我一直在寻找使用女性声音的方法。所以我开始四处寻找,并决定使用 MBROLA 改变我的文本到语音程序的声音。
我读到“FreeTTS 可以使用 MBROLA 语音”,但我到处搜索,找不到关于如何设置 MBROLA 的明确指南,以及哪些文件是需要这样做。 MBROLA 上有许多与 FreeTTS 一起工作的论坛,但似乎没有人知道他们在做什么。
所以问题:
最佳答案
上述问题的答案:
1.需要下载哪些文件?
1.1 FreeTTS 库(位于 freetts-1.2.2-bin/freetts-1.2/lib):
1.2 MBROLA 压缩文件夹将包括:
1.3 Voices 是压缩文件夹,其中包含一个名为“us1”或“af1”等的文件夹。
2。将这些纳入我的计划的步骤?
注意:我有 MBROLA Tooklit也安装在我的电脑上,但是我不确定它是否对程序有影响,但我怀疑它没有。编辑:我已经测试过是否需要 MBROLA 工具包来与 FreeTTS 一起运行 MBROLA,结果证明不需要。
完成此操作后,您的 mbrola 文件夹应如下所示:
您可以将所有语言放在这个文件夹中,它们将只从您的 Java 程序中调用。
3.使用 MBROLA 语音的简单 FreeTTS 示例?
我见过很多人遇到这个错误:
System property "mbrola.base" is undefined. Will not use MBROLA voices.
mbrola.base
指的是您的 mbrola 文件在您的计算机上的位置,如果该属性没有指向正确的位置,您将收到此错误。
对于出现此错误的非 MBROLA 用户:如果您仅使用 FreeTTS,只需从引用的库中删除 mbrola.jar
要设置 mbrola.base
属性,请使用:
System.setProperty("mbrola.base", "C:/Path/to/your/mbrola")
下面是一个在 FreeTTS 程序中使用 MBROLA 语音的简单示例。请注意,必须先完成上述步骤,然后才能生效。如果未设置基数,仅将声音名称更改为“mbrola_us1”将不起作用!
package com.madmob.test;
import com.sun.speech.freetts.Voice;
import com.sun.speech.freetts.VoiceManager;
public class TestTTS {
VoiceManager freettsVM;
Voice freettsVoice;
public TestTTS(String words) {
// Most important part!
System.setProperty("mbrola.base", "C:/mbrola");
freettsVM = VoiceManager.getInstance();
// Simply change to MBROLA voice
freettsVoice = freettsVM.getVoice("mbrola_us1");
// Allocate your chosen voice
freettsVoice.allocate();
sayWords(words);
}
public void sayWords(String words) {
// Make her speak!
freettsVoice.speak(words);
}
public static void main(String [] args) {
new TestTTS("Hello there! Now M BROLA and Free T T S work together!");
}
}
MBROLA 和 FreeTTS 现在应该可以协同工作了!此代码是直接从我的计算机复制的,并且在将其放在这里之前已经过测试。
关于java - 带有 FreeTTS 的 MBROLA 语音 - Windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26236562/
我收到以下错误: System property "mbrola.base" is undefined. Will not use MBROLA voices. import javax.speec
当我尝试使用 FreeTTS 库时,出现错误: Could not validate any MBROLA voices at Some/Location/That/IThought/Held/mbr
在带有 FreeTTS 的 Java 程序中使用 MBROLA 语音... 我正在用 Java 开发一个简单的文本到语音程序。我决定使用 FreeTTS,但声音并不是我所想的那样,而且我一直在寻找使用
我正在java中使用语音合成。我想改变演讲的口音。所以我发现必须通过在其中嵌入 MBorla 声音来完成。我无法弄清楚如何嵌入它。我正在使用以下教程:http://freetts.sourceforg
我正在尝试使用 freetts 运行一个程序。我能够编译该程序,但是我无法使用 kevin 或 mbrola 声音 我在最后得到以下输出消息 System property "mbrola.base"
我是一名优秀的程序员,十分优秀!