多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

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

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/MeloTTSMeloTTS 是一个高质量的**多语言文本转语音TTS**库能把英语、中文、西班牙语、法语、日语、韩语的文本转成自然语音。它跑在普通 CPU 上就能实时合成不需要显卡。不管你是想用一条命令生成语音文件、开个 Web 页面点一点还是把多语言语音合成嵌进自己的 Python 项目装完 10 分钟内就能跑起来。功能速览30 秒判断适不适合你项目提供内容支持语言英语、中文、西班牙语、法语、日语、韩语共 6 种英语发音人EN-Default、EN-US、EN-BR、EN_INDIA、EN-AU5 种口音中文支持中英文混排在同一段文本中运行要求CPU 即可实时推理GPU 可加速使用入口Web 界面 / 命令行melo/ Python API部署方式原生安装Linux、macOS、Docker推荐 Windows协议MIT商用和非商用都免费 只要你需要把上面 6 种语言的文本读出来、并且想跑在自己机器上MeloTTS 就是对的选择。安装前检查4 项全部满足再动手✅操作系统Linux推荐 Ubuntu 20.04或 macOSWindows 用户建议直接走 Docker 路线✅Python 版本3.9 或更高。执行python --version确认✅硬件普通 CPU 足够有 NVIDIA GPU 则推理更快✅网络安装过程要联网下载模型权重和日语词典资源如果四项都满足继续往下。macOS 用户如果原生安装卡在依赖上不用纠结换成 Docker 路线即可。选择你的安装路线原生还是 Docker路线一原生安装3 条命令搞定Linux / macOS适合谁有 Python 环境、想在本地直接import使用的 Linux 和 macOS 用户。把项目源码拉到本地执行后当前目录会多出一个MeloTTS文件夹git clone https://gitcode.com/GitHub_Trending/me/MeloTTS.git cd MeloTTS以可编辑模式安装依赖执行后你会看到 torch、transformers 等一个个包开始下载过程可能持续几分钟pip install -e .下载日语分词词典日语文本转音素要用到它执行后出现下载进度条结束即完成python -m unidic download完成标志终端里执行melo --help能打印出命令帮助说明命令行工具已就绪。⚠️ 建议先python -m venv venv建个虚拟环境再安装避免污染系统 Python。路线二Docker 安装Windows 用户首选适合谁Windows 用户或原生安装遇到兼容性问题、想要干净隔离环境的人。前提是机器已装好 Docker。先进入项目目录克隆方式同路线一构建镜像。执行后你会看到镜像逐层构建最后输出Successfully tagged melottsdocker build -t melotts .启动容器并映射 8888 端口执行后容器自动拉起 Web 界面docker run -it -p 8888:8888 melotts浏览器打开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 用melo或melotts调用两个命令等价。常用姿势# 默认英语朗读 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(languageEN, deviceauto) # 有 GPU 自动用 GPU否则用 CPU speaker_ids model.hps.data.spk2id model.tts_to_file(text, speaker_ids[EN-US], en-us.wav, speed1.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(languageZH, deviceauto) model.tts_to_file(我最近在学习 machine learning, model.hps.data.spk2id[ZH], zh.wav) model TTS(languageJP, deviceauto) model.tts_to_file(こんにちは、元気ですか, model.hps.data.spk2id[JP], jp.wav) model TTS(languageKR, deviceauto) model.tts_to_file(안녕하세요, 반갑습니다, model.hps.data.spk2id[KR], kr.wav) model TTS(languageES, deviceauto) model.tts_to_file(El resplandor del sol acaricia las olas., model.hps.data.spk2id[ES], es.wav) model TTS(languageFR, deviceauto) 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 机器devicecuda或 Docker--gpus all并把长文本切成短句分批合成。下一步做什么到这里你已经有一条能用的多语言 TTS 流水线了。建议接着做这几件事接入自己的应用把 Python API 里建模型、取发音人、tts_to_file这三步封装成函数接到你的 Web 后端或自动化脚本里。尝试流式合成对低延迟场景把长文本按句切分、逐句合成通过 WebSocket 边合成边推送。调参找组合拿同一段文本把 5 个英语发音人、几个不同语速跑一遍听出最适合你场景的那组。定制音色有自己的数据集想训专属声音看 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),仅供参考
返回列表