FreeTTS的MBROLA声音-Windows

我正在用Java 开发一个简单的 文本到语音

程序。我已经决定使用FreeTTS,但是声音并不是我真正想的,我一直想使用女性声音。因此,我开始四处张望,并决定使用MBROLA更改 文本到语音 程序

的声音

我读到

,但是我到处搜索,找不到清晰的指南来设置MBROLA,以及需要哪些文件。关于MBROLA的许多论坛都与FreeTTS一起工作,但是似乎也没有一个人知道自己在做什么。

  1. 需要下载什么文件?
  2. 是否要将这些步骤包含到我的程序中?
  3. 使用MBROLA声音的简单FreeTTS示例?

回答:

  1. 所有的库 (1.2.2的FreeTTS斌) - 这里下载
  2. zip文件夹 mbr301d.zip
  3. 可在上找到MBROLA网站

1.1 库 (位于freetts-1.2.2-bin / freetts-1.2 / lib中)

  • cmu_time_awb.jar
  • cmu_us_kal.jar
  • cmudict04.jar
  • cmulex.jar
  • cmutimelex.jar
  • en_us.jar
  • freetts.jar
  • freetts-jsapi10.jar
  • mbrola.jar

1.2 zip文件夹将包括:

  • 可执行文件
  • mbr302a (文件夹)
  • readme.txt

1.3 是压缩文件夹,其中包括一个名为“ ”或“ ”等的单个文件夹。


我的计算机上也安装了MBROLA

Tooklit,但是我不确定它是否对程序有影响,但我怀疑不会。编辑:我已经测试过,看看是否需要MBROLA工具包与FreeTTS一起运行MBROLA,事实证明它不是必需的。

  1. 提取freetts-1.2.2-bin
  2. 将库复制到您的项目中,并包含在构建路径中
  3. 解压缩mbr301d.zip文件夹
  4. 将’mbr301d’重命名为’mbrola’
  5. 将声音解压缩到名为“ mbrola”的文件夹

完成此操作后,您的mbrola文件夹应如下所示:

  • [mbr302a]- 文件夹
  • [us1]- 文件夹(名称取决于您下载的语言)
  • mbrola.exe- 文件
  • readme.txt- 文件

您可以将所有语言都放在此文件夹中,而它们只会从Java程序中调用。


我已经看到很多人得到这个错误:

System property "mbrola.base" is undefined.  Will not use MBROLA voices.

mbrola.base指的是你的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现在应该一起工作!此代码是直接从我的计算机复制的,并经过测试,然后再放在此处。

以上是 FreeTTS的MBROLA声音-Windows 的全部内容, 来源链接: utcz.com/qa/411204.html

回到顶部