news 2026/9/20 19:00:54

MeloTTS 安装教程:多语言文本转语音(TTS)系统 6 语种快速上手指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
MeloTTS 安装教程:多语言文本转语音(TTS)系统 6 语种快速上手指南

MeloTTS 安装教程:多语言文本转语音(TTS)系统 6 语种快速上手指南

【免费下载链接】MeloTTSHigh-quality multi-lingual text-to-speech library by MyShell.ai. Support English, Spanish, French, Chinese, Japanese and Korean.项目地址: https://gitcode.com/GitHub_Trending/me/MeloTTS

MeloTTS 是一个高质量的**多语言文本转语音(TTS)**库,能把英语、中文、西班牙语、法语、日语、韩语的文本转成自然语音。它跑在普通 CPU 上就能实时合成,不需要显卡。不管你是想用一条命令生成语音文件、开个 Web 页面点一点,还是把多语言语音合成嵌进自己的 Python 项目,装完 10 分钟内就能跑起来。

功能速览:30 秒判断适不适合你

项目提供内容
支持语言英语、中文、西班牙语、法语、日语、韩语,共 6 种
英语发音人EN-DefaultEN-USEN-BREN_INDIAEN-AU,5 种口音
中文支持中英文混排在同一段文本中
运行要求CPU 即可实时推理,GPU 可加速
使用入口Web 界面 / 命令行(melo)/ Python API
部署方式原生安装(Linux、macOS)、Docker(推荐 Windows)
协议MIT,商用和非商用都免费

💡 只要你需要把上面 6 种语言的文本读出来、并且想跑在自己机器上,MeloTTS 就是对的选择。

安装前检查:4 项全部满足再动手

  • 操作系统:Linux(推荐 Ubuntu 20.04)或 macOS;Windows 用户建议直接走 Docker 路线
  • Python 版本:3.9 或更高。执行python --version确认
  • 硬件:普通 CPU 足够,有 NVIDIA GPU 则推理更快
  • 网络:安装过程要联网下载模型权重和日语词典资源

如果四项都满足,继续往下。macOS 用户如果原生安装卡在依赖上,不用纠结,换成 Docker 路线即可。

选择你的安装路线:原生还是 Docker

路线一:原生安装,3 条命令搞定(Linux / macOS)

适合谁:有 Python 环境、想在本地直接import使用的 Linux 和 macOS 用户。

  1. 把项目源码拉到本地,执行后当前目录会多出一个MeloTTS文件夹:
git clone https://gitcode.com/GitHub_Trending/me/MeloTTS.git cd MeloTTS
  1. 以可编辑模式安装依赖,执行后你会看到 torch、transformers 等一个个包开始下载,过程可能持续几分钟:
pip install -e .
  1. 下载日语分词词典(日语文本转音素要用到它),执行后出现下载进度条,结束即完成:
python -m unidic download

完成标志:终端里执行melo --help能打印出命令帮助,说明命令行工具已就绪。

⚠️ 建议先python -m venv venv建个虚拟环境再安装,避免污染系统 Python。

路线二:Docker 安装,Windows 用户首选

适合谁:Windows 用户,或原生安装遇到兼容性问题、想要干净隔离环境的人。前提是机器已装好 Docker。

  1. 先进入项目目录(克隆方式同路线一),构建镜像。执行后你会看到镜像逐层构建,最后输出Successfully tagged melotts
docker build -t melotts .
  1. 启动容器并映射 8888 端口,执行后容器自动拉起 Web 界面:
docker run -it -p 8888:8888 melotts
  1. 浏览器打开http://localhost:8888,看到包含 Speaker、Language、Text to speak 的页面就说明一切就绪。

机器有 NVIDIA GPU 的话,换成下面这条就能启用 GPU 加速:

docker run --gpus all -it -p 8888:8888 melotts

第一次运行验证:生成你的第一条语音

装完别急着研究参数,先跑一次最小合成,确认链路是通的。

  • Docker 用户:容器已经在跑 Web 界面,直接跳到下一节用 Web 界面体验。
  • 原生用户:执行下面的命令。执行结束后当前目录会生成output.wav,用播放器打开能听到英语朗读:
melo "Hello, this is MeloTTS." output.wav

三种用法上手:Web、命令行、Python API

不想写代码:Web 界面

执行启动命令,Gradio 页面会自动打开浏览器(没自动开就访问终端打印的地址):

melo-ui # 或者 python melo/app.py

界面上选语言、选发音人、拖动语速滑块、输入文本,点 Synthesize 就能听效果。想换端口加--port,想临时生成一个对外分享链接加--share(链接请只发给可信的人)。界面逻辑都在 melo/app.py 里,很薄,好读。

习惯终端:命令行(TTS CLI 用法)

CLI 用melomelotts调用,两个命令等价。常用姿势:

# 默认英语朗读 melo "Text to read" output.wav # 指定语言(EN/ES/FR/ZH/JP/KR) melo "Text to read" output.wav --language EN # 挑一个英语口音 melo "Text to read" output.wav --language EN --speaker EN-US melo "Text to read" output.wav --language EN --speaker EN-AU # 1.5 倍速 melo "Text to read" output.wav --speed 1.5 # 中文,中英混排也没问题 melo "text-to-speech 领域近年来发展迅速" zh.wav -l ZH # 从文件读取文本 melo file.txt out.wav --file

参数细节随时melo --help查看。

💡--speaker只对英语生效,其他语言传了会被忽略(见 melo/main.py 中的逻辑)。

开发者:Python API 嵌入你自己的应用

核心就三步:建模型、取发音人 ID、调tts_to_file落盘。实现代码在 melo/api.py,下面示例可直接复制运行。

英语,一种模型出五种口音:

from melo.api import TTS text = "The quick brown fox jumps over the lazy dog." model = TTS(language='EN', device='auto') # 有 GPU 自动用 GPU,否则用 CPU speaker_ids = model.hps.data.spk2id model.tts_to_file(text, speaker_ids['EN-US'], 'en-us.wav', speed=1.0) model.tts_to_file(text, speaker_ids['EN-BR'], 'en-br.wav') model.tts_to_file(text, speaker_ids['EN_INDIA'], 'en-india.wav')

其余 5 种语言,换language参数和spk2id里对应的 key 即可:

from melo.api import TTS model = TTS(language='ZH', device='auto') model.tts_to_file("我最近在学习 machine learning", model.hps.data.spk2id['ZH'], 'zh.wav') model = TTS(language='JP', device='auto') model.tts_to_file("こんにちは、元気ですか?", model.hps.data.spk2id['JP'], 'jp.wav') model = TTS(language='KR', device='auto') model.tts_to_file("안녕하세요, 반갑습니다", model.hps.data.spk2id['KR'], 'kr.wav') model = TTS(language='ES', device='auto') model.tts_to_file("El resplandor del sol acaricia las olas.", model.hps.data.spk2id['ES'], 'es.wav') model = TTS(language='FR', device='auto') model.tts_to_file("La lueur dorée du soleil caresse les vagues.", model.hps.data.spk2id['FR'], 'fr.wav')

进阶技巧:语速、发音人、GPU 与内存调优

语速speed参数控制倍速,1.0 是原速,1.5 即 1.5 倍。内部通过length_scale实现,建议放在 0.5–2.0 之间,拉太满音质会明显变差。

发音人:5 个英语发音人音色性格不同,场景不合就换人试试;其他语言目前各只有一个默认音色。

GPU 加速device参数可选'auto''cpu''cuda'(或'cuda:0')、'mps'。MeloTTS 在 CPU 上已能实时推理,GPU 主要是给批量合成、追求低延迟的场景。

内存管理:模型常驻占用不低。长驻服务建议每种语言建一个TTS实例复用,而不是反复加载卸载;大批量合成结束后及时释放实例,tts_to_file内部的torch.cuda.empty_cache()会帮你清一下显存。

遇到问题查这里:常见故障速查

现象:pip install -e .反复失败或依赖冲突可能原因:系统 Python 里已有冲突的包,或网络不稳定。 解决办法:python -m venv venv建虚拟环境、激活后重试;实在不行直接换 Docker 路线。

现象:运行时报日语相关错误、找不到 unidic 资源可能原因:跳过了python -m unidic download这一步。 解决办法:补跑该命令下载词典,再重新执行。

现象:合成的语音听着不自然可能原因:语速参数太极端,或当前发音人不适合这段内容。 解决办法:先把--speed调回 1.0,再逐个试听 EN-US、EN-BR、EN_INDIA、EN-AU,不同句子在不同发音人下表现差异不小。

现象:Docker 起来后浏览器打不开 localhost:8888可能原因:启动时漏了端口映射,或容器已退出。 解决办法:确认命令带-p 8888:8888,用docker ps看容器是否还在运行;8888 被占用就换别的端口映射。

现象:推理太慢可能原因:纯 CPU 跑长文本。 解决办法:换 GPU 机器(device='cuda'或 Docker--gpus all),并把长文本切成短句分批合成。

下一步做什么

到这里,你已经有一条能用的多语言 TTS 流水线了。建议接着做这几件事:

  1. 接入自己的应用:把 Python API 里建模型、取发音人、tts_to_file这三步封装成函数,接到你的 Web 后端或自动化脚本里。
  2. 尝试流式合成:对低延迟场景,把长文本按句切分、逐句合成,通过 WebSocket 边合成边推送。
  3. 调参找组合:拿同一段文本把 5 个英语发音人、几个不同语速跑一遍,听出最适合你场景的那组。
  4. 定制音色:有自己的数据集想训专属声音,看 docs/training.md。

更多细节可对照 docs/install.md,快速演示见 docs/quick_use.md。

【免费下载链接】MeloTTSHigh-quality multi-lingual text-to-speech library by MyShell.ai. Support English, Spanish, French, Chinese, Japanese and Korean.项目地址: https://gitcode.com/GitHub_Trending/me/MeloTTS

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/20 18:57:39

Wireshark UDP包被截断?一文读懂TRUNC标志与snaplen设置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/20 18:56:45

初二数学动点问题全攻略:核心模型与解题框架

简介:这份初二数学动点问题练习(含答案解析)面向初中二年级学生及数学教师,专门针对几何动点这一易错难点,通过典型例题帮助学生掌握“动中求静”的解题思路。资源为单个Word文档,共1个doc文件,…

作者头像 李华
网站建设 2026/9/20 18:54:34

使用 Pallas 编写 TPU 内核:从硬件架构到实战约束的完整指南

使用 Pallas 编写 TPU 内核:从硬件架构到实战约束的完整指南 【免费下载链接】jax Composable transformations of PythonNumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more 项目地址: https://gitcode.com/gh_mirrors/jax/jax Pallas 是…

作者头像 李华
网站建设 2026/9/20 18:52:53

Magisk Root 上手指南:4 步解锁小米手机,OTA 升级不掉权限

Magisk Root 上手指南:4 步解锁小米手机,OTA 升级不掉权限 【免费下载链接】Magisk The Magic Mask for Android 项目地址: https://gitcode.com/GitHub_Trending/ma/Magisk 用 Magisk 给小米拿 Root,改的是 boot 分区而非系统。照本文…

作者头像 李华