marytts

用纯 Java 实现多语言语音合成,快速集成到你的应用

MARY TTS 是一个用纯 Java 编写的开源多语言文本转语音合成系统。它解决了开发者需要将文本转换为自然语音但缺乏跨平台、可扩展 TTS 引擎的问题。核心能力包括支持多种语言(如英语、德语、法语、意大利语等)、提供基于 HMM 和 Unit Selection 的合成器、支持实时语音合成、具备模块化架构便于扩展新语言和音色,并提供 Web 接口和 API 集成。它适用于语音助手、无障碍应用、教育工具等场景,是研究者和开发者在 Java 生态中实现 TTS 功能的可靠选择。

开源 free 音频音乐
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 2582
维护状态 低维护
是否开源
定价模式 free

项目数据

分类音频音乐
开发团队marytts
所属国家
定价模式free
价格说明开源项目,完全免费,可自行部署使用。
访问状态
是否开源
开源协议NOASSERTION
主要语言Java
技术栈/模型java,speech-synthesis,text-to-speech,tts
GitHub 星标★ 2582
30天Star增速
HF 下载量
上线时间2011-12-20 00:00:00
最近更新2026-09-17 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数5

使用教程

难度:入门 约 15 分钟 部署方式:本地安装 6 步

环境要求

  • 安装 JDK(MaryTTS 为纯 Java 程序,README 未指明具体版本)
  • 本地已安装 Git(用于获取源码仓库)
  • 操作系统需能运行 Gradle Wrapper:Linux/macOS 用 ./gradlew,Windows 用 gradlew.bat
  • 可用端口 59125(默认)或自定义端口

安装与启动步骤

  1. 1准备 Java 环境

    MaryTTS 是纯 Java 编写的客户端-服务器系统,可跨平台运行,先确保机器上已装好 JDK。

  2. 2获取源码

    从 GitHub 拉取源码仓库并进入目录;若只想直接使用,可改用 releases 页面的打包版本。

    git clone https://github.com/marytts/marytts.git
    cd marytts
  3. 3启动 MaryTTS 服务

    用仓库自带的 Gradle Wrapper 启动服务器,Windows 上请改用 gradlew.bat run。

    ./gradlew run
  4. 4打开 Web 界面

    服务启动后用浏览器访问默认地址和端口,即可看到 MaryTTS 页面并试用合成。

  5. 5改地址与端口

    通过系统属性指定新端口与监听地址,0.0.0.0 表示监听所有网卡;--info 可提升日志级别。

    ./gradlew run -Dsocket.port=5920 -Dsocket.addr=0.0.0.0 --info
  6. 6下载安装语音

    运行安装器 GUI 下载并安装更多音色,安装完成后必须重启已运行的 MaryTTS 服务器才能使用。

    ./gradlew runInstallerGui

关键配置

配置项必填说明示例
socket.port指定 MaryTTS 服务监听的端口5920
socket.addr指定监听地址,0.0.0.0 表示监听所有网卡接口0.0.0.0
log4j.logger.marytts通过系统变量设置 MaryTTS 日志级别为 INFO 或 DEBUGDEBUG

如何确认成功

浏览器打开 http://localhost:59125 能看到 MaryTTS 页面,说明服务已启动成功。

常见问题

Q:默认端口 59125 被占用了怎么办?

A:启动时加上 -Dsocket.port=5920 换成其它可用端口,README 中的示例用的是 5920。

Q:想让局域网内其他机器访问服务?

A:使用 -Dsocket.addr=0.0.0.0 启动,此时所有网络接口都会被监听,再通过实际 IP 加端口访问。

Q:怎样看到更详细的运行日志?

A:启动命令加 --info 将 gradle 和 MaryTTS 日志设为 INFO,加 --debug 则设为 DEBUG,也可设置系统变量 log4j.logger.marytts。

Q:在 Windows 上执行命令报错?

A:Windows 上不能用 ./gradlew,应改用 gradlew.bat,例如 gradlew.bat run。

Q:新装的语音不生效?

A:安装语音后必须重启正在运行的 MaryTTS 服务器,新语音才能被加载使用。

注意事项

  • README 面向源码编译与开发,普通用户若只想直接使用,建议到 GitHub releases 页面下载现成包。
  • 项目采用 LGPL v3 许可证,使用与二次分发时请遵守相应条款。
  • IDE 配置可参考 wiki,其中 IntelliJ IDEA 与 Eclipse 已有测试文档。
  • README 未给出 JDK 版本要求,如编译或启动失败可优先检查 Java 版本兼容性。

核心亮点

  • 纯 Java 实现,跨平台部署无需额外原生依赖
  • 支持多语言和多种合成器(HMM/Unit Selection),灵活切换
  • 提供 Web 服务接口和 Java API,集成简单

不足之处

  • 项目维护活跃度较低,更新频率不高
  • 文档和社区资源相对有限,新手入门可能费劲

适用场景

  • 开发需要语音播报的 Java 桌面或 Web 应用
  • 构建多语言语音助手或无障碍阅读工具
  • 学术研究中的语音合成实验和原型验证

替代项目

FreeTTS、eSpeakNG、MaryTTS(本身)

项目介绍

marytts 是音频音乐领域的开源项目,由 marytts 开发,2011 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(2,582)位列前 30%,在音频音乐分类的 738 个项目里位列前 9%。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-17。完全免费,可自行部署使用。

它主要面向的使用场景是:开发需要语音播报的Java桌面或Web应用。同类可对比的替代方案包括 FreeTTS、eSpeakNG、MaryTTS(本身)。

上一篇:ChatTTS_colab

下一篇:pyttsx3

同类项目推荐

tango 开源

输入一句话,自动生成匹配的音频内容

A family of diffusion models for text-to-audio generation.

★ 1239 2026-08-09
AuK 开源

一个模型搞定语音生成、编辑与分离

AuK: An Open-Source Foundational Model for Speech Generation and Editing

★ 1236 2026-09-13
swift-tts 开源

Swift 项目三行代码接入系统 TTS,兼容 TCA 和 Combine

A straightforward package containing version for Swift modern concurrency, Point-Fre···

★ 52 2026-08-09
ai-dj 开源

现场演出中实时用 AI 生成音乐,保持人类掌控

AI music generation for live performance - Standalone (Ableton Link) + VST3/AU. 8 tr···

★ 245 2026-08-09