我花了几天的时间尝试在MBROLA和FreeTTS的项目中添加us1,us2和us3的不同声音。我在Windows(64位)上使用Eclipse
我已阅读所有这些消息:
How to change voice in FreeTTS - Java
MBROLA voices with FreeTTS - Windows
FreeTTS mbrola not able to find path
How to change voice in FreeTTS - Java
和其他
http://sourceforge.net/p/freetts/discussion/137669/thread/848a09ab
这些是我已经完成的步骤:
1.-首先我读了Freetts docs http://freetts.sourceforge.net/docs/index.php#download_and_install
2.-我已经下载了
freetts-1.2.2-src.zip and freetts-1.2.2-bin.zip
3.-我创建了新的Eclipse项目,并添加了
freetts-1.2.2-src\freetts-1.2.2\demo\freetts\HelloWorld\FreeTTSHelloWorld.java
4.-导入jar
freetts-1.2.2-bin\freetts-1.2\lib\freetts.jar
运行时,在控制台中我得到
All voices available:
System property "mbrola.base" is undefined. Will not use MBROLA voices.
alan (time domain)
kevin (general domain)
kevin16 (general domain)
Using voice: kevin16
System property "mbrola.base" is undefined. Will not use MBROLA voices.
然后我下载了MBROLA PC / DOS二进制文件
mbr301d.zip
来自http://tcts.fpms.ac.be/synthesis/mbrola.html
我在
解压缩了C:\Users\Usuario\Downloads\mbr301d
并添加了us1,us2和us3的声音。文件夹结构是:
mbr302a (folder)
us1 (folder)
us2 (folder)
us3 (folder)
mbrola.exe
readme.txt
现在我设置了mbrola.base
System.setProperty("mbrola.base", "C:\\Users\\Usuario\\Downloads\\mbr301d");
当我再次跑步时:
All voices available:
alan (time domain)
kevin (general domain)
kevin16 (general domain)
mbrola_us1 (general domain)
mbrola_us2 (general domain)
mbrola_us3 (general domain)
Using voice: mbrola_us1
一切都与那些声音完美配合。但我需要与西班牙语合作。然后我从MBROLA网站下载
es1: Spanish Male (2.1Mb) Alistair Conkie
es2: Spanish Male (5.1Mb) TCC Communications Corp.
es3: Spanish Female (1.9Mb) Universidad Carlos III de Madrid
并解压缩我的MBROLA文件夹
mbr302a (folder)
us1 (folder)
us2 (folder)
us3 (folder)
es1 (folder)
es2 (folder)
es3 (folder)
mbrola.exe
readme.txt
但是当我再次跑步时,没有找到。我得到了比以前更多的声音。
有没有人用不同的声音运行mbrola而不是us1,us2和us3?配置新语音需要遵循哪些步骤?
答案 0 :(得分:0)
我现在也正在试验mbrola的声音,并尝试添加一些德语和日语的声音,这些声音也没有用。经过一段时间的搜索,我想我发现了问题。在lib文件夹(包含freetts.jar的文件夹)中,还有一个mbrola.jar文件。在MbrolaVoiceDirectory.class中,它注册所有mbrola语音,并且只有us1,us2和us3被注册。现在我正在尝试编辑此文件,再次编译它,然后用新文件替换mbrola.jar。我会告诉你它是否有用。
编辑:它工作了一半我认为^^我现在可以加载德语或日语或任何其他声音但不知何故我真的不能让它说些什么。也许是因为我正在用相同的英文文本尝试不同的声音。 以下是我使用其他声音所做的快速列表:在lib文件夹中反编译mbrola.jar
编辑包de.dfki.lt.freetts.en.us中的MbrolaVoiceDirectory.java文件。我将代码更改为:http://pastebin.com/aUxw3FDv这会自动搜索语音文件夹,并且它应该始终适用于每种语言。只需将带有语言标识符的文件夹(例如“us”或“de”或“es”)放在mbola.base文件夹中的数字
然后我将它重新编译为一个不可运行的jar,打开jar(使用WinRaR或类似的那样)并用原始mbrola jar文件的META-INF文件夹替换那里的META-INF文件夹。 / p>
这是加载声音的jar文件:https://www.dropbox.com/s/i51mazz1wv39pn2/mbrola.jar?dl=0
我希望它适合你。
Moritz的