You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Gradle从Jar包为MaryTTS添加法语新语音?

如何将MaryTTS法语语音包从Jar包添加到项目中

步骤1:确认依赖配置正确

确保你的build.gradle中已经配置了本地libs目录的依赖扫描,保证项目能加载marytts-lang-fr-5.2.jar:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    // 其他MaryTTS核心依赖(若未通过libs目录引入)
}

同步Gradle项目,让Jar包被纳入项目的classpath。

步骤2:让MaryTTS自动加载法语语音

MaryTTS会通过SPI机制自动扫描classpath中的语音包,无需手动注册。你可以在代码里验证是否加载成功:

import marytts.LocalMaryInterface;
import marytts.MaryInterface;
import java.util.List;

public class SpeechTest {
    public static void main(String[] args) throws Exception {
        // 初始化MaryTTS实例,自动扫描加载所有可用语音
        MaryInterface marytts = new LocalMaryInterface();
        
        // 打印所有可用语音,确认法语语音是否在列
        List<String> availableVoices = marytts.getAvailableVoices();
        System.out.println("可用语音列表:" + availableVoices);
        
        // 设置使用法语语音(可指定具体语音名,比如"fr-FR",根据打印结果调整)
        marytts.setVoice("fr");
    }
}

步骤3:测试法语语音合成

添加测试代码,生成并播放法语语音,验证功能正常:

import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;

// 接续上面的代码
String frenchText = "Bonjour tout le monde, bienvenue dans MaryTTS !";
AudioInputStream audio = marytts.generateAudio(frenchText);

// 播放合成的语音
Clip clip = AudioSystem.getClip();
clip.open(audio);
clip.start();
// 等待播放完成
Thread.sleep(clip.getMicrosecondLength() / 1000);
clip.close();

常见问题排查

  • 确认语音包版本与MaryTTS核心版本完全一致(均为5.2),版本不匹配会导致语音无法加载。
  • 如果未自动扫描到法语语音,检查Jar包是否完整放入libs目录,Gradle同步是否执行成功。

内容的提问来源于stack exchange,提问作者Bussiere

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 17:05:51