在Java中将文本转换为语音

Java语音API: Java语音API允许Java应用程序将语音技术整合到用户界面中。它定义了一个支持命令和控制识别器、听写系统和语音合成器的跨平台API。

null

Java语音支持语音合成,即在书面输入的基础上通过机器生成口语的过程。

重要的是要记住,Java语音只是一个规范,即不包含任何实现。因此,第三方提供了实现。这个 javax。演讲包 定义识别器、合成器和其他语音引擎的通用功能。包裹 javax。演讲合成 扩展了合成器的这一基本功能。

我们将了解java API将文本转换为语音需要什么

  1. 引擎: 语音包中提供了引擎接口。”“语音引擎”是用于处理语音输入或语音输出的系统的通用术语。
    import javax.speech.Engine;
  2. 中环: Central提供定位、选择和创建语音识别器和语音合成器的功能。
    import javax.speech.Central;
  3. 合成器调制解调器描述: SynthezerModeDesc使用语音合成器特有的属性扩展EngineModeDesc。
    import javax.speech.synthesis.SynthesizerModeDesc;
  4. 合成器: 合成器接口提供对语音合成功能的主要访问。SynthesizerModeDesc添加了两个属性:合成器启动时要加载的合成器语音提供的语音列表。
    import javax.speech.synthesis.Synthesizer;

下面是Java语音合成的一个开源实现,名为 弗里茨 以步骤的形式:

  • 以zip文件夹的形式从 在这里
  • 解压缩zip文件并转到
    freetts-1.2.2-bin/freetts-1.2/lib/jsapi.exe
  • 打开 jsapi。exe 归档并安装它。
  • 这将按名称创建一个jar文件 jsapi。罐子 .这是JAR库,其中包含要包含在项目中的FreeTTS库。
  • 在IDE中创建一个新的Java项目。
  • 包括这个 jsapi。jar文件 进入你的项目。
  • 现在将下面的代码复制到您的项目中
  • 执行项目以获得低于预期的输出。

以下是上述项目的代码:

// Java code to convert text to speech
import java.util.Locale;
import javax.speech.Central;
import javax.speech.synthesis.Synthesizer;
import javax.speech.synthesis.SynthesizerModeDesc;
public class TextSpeech {
public static void main(String[] args)
{
try {
// Set property as Kevin Dictionary
System.setProperty(
"freetts.voices" ,
"com.sun.speech.freetts.en.us"
+ ".cmu_us_kal.KevinVoiceDirectory" );
// Register Engine
Central.registerEngineCentral(
"com.sun.speech.freetts"
+ ".jsapi.FreeTTSEngineCentral" );
// Create a Synthesizer
Synthesizer synthesizer
= Central.createSynthesizer(
new SynthesizerModeDesc(Locale.US));
// Allocate synthesizer
synthesizer.allocate();
// Resume Synthesizer
synthesizer.resume();
// Speaks the given text
// until the queue is empty.
synthesizer.speakPlainText(
"GeeksforGeeks" , null );
synthesizer.waitEngineState(
Synthesizer.QUEUE_EMPTY);
// Deallocate the Synthesizer.
synthesizer.deallocate();
}
catch (Exception e) {
e.printStackTrace();
}
}
}


输出:

参考资料:

相关文章: 在Python中将文本转换为语音

本文由 阿卡什·沙兰 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。

如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享