项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 2875
使用教程
环境要求
- Python(README 推荐 2.7.x),pip 可用
- FFmpeg,需提供 ffmpeg、ffprobe 可执行文件
- eSpeak,需提供 espeak 可执行文件
- espeak、ffmpeg、ffprobe、pip、python 均能在 shell 中直接调用
安装与启动步骤
-
1安装三大依赖
按 README 先安装 Python、FFmpeg 和 eSpeak。Mac/Windows 可用官方一键安装包,Debian/Ubuntu 可用仓库内 Bash 脚本,也可用 VirtualBox+Vagrant 虚拟机。
-
2确认命令可用
README 要求 espeak、ffmpeg、ffprobe、pip、python 都能从 shell 中直接调用,缺失时需先把它们加入 PATH。
which espeak ffmpeg ffprobe pip python -
3先装 numpy
README 特别强调安装顺序:必须先装 numpy,再装 aeneas,顺序颠倒可能导致安装失败。
pip install numpy -
4安装 aeneas
numpy 装好后,用 pip 从 PyPI 安装 aeneas 本体。
pip install aeneas -
5运行诊断检查
用官方诊断命令确认安装是否正常,输出中不应出现错误提示。
python -m aeneas.diagnostics -
6查看用法与示例
不带参数运行可打印用法说明;加 --examples 可列出本机可直接运行的示例。
python -m aeneas.tools.execute_task python -m aeneas.tools.execute_job python -m aeneas.tools.execute_task --examples python -m aeneas.tools.execute_task --examples-all -
7生成同步映射文件
用 execute_task 把音频与文本对齐,第三个参数是配置字符串,最后一个参数是输出文件。
python -m aeneas.tools.execute_task \ audio.mp3 \ text.txt \ "task_language=eng|os_task_file_format=json|is_text_type=plain" \ map.json -
8批量处理任务
任务较多时打包成 job.zip,其中需含 config.txt 或 config.xml,再用 execute_job 批量输出。
python -m aeneas.tools.execute_job job.zip output_directory
关键配置
| 配置项 | 必填 | 说明 | 示例 |
|---|---|---|---|
task_language | 是 | 任务文本语言,如英语 eng | eng |
is_text_type | 是 | 输入文本格式,README 用到 plain 与 unparsed | plain |
os_task_file_format | 是 | 输出同步映射格式,如 json 或 smil | json |
os_task_file_smil_audio_ref | 否 | SMIL 输出中引用的音频文件名 | audio.mp3 |
os_task_file_smil_page_ref | 否 | SMIL 输出中引用的页面文件名 | page.xhtml |
is_text_unparsed_id_regex | 否 | unparsed 文本中片段 id 的正则,如 f[0-9]+ | f[0-9]+ |
如何确认成功
运行 python -m aeneas.diagnostics 无报错即安装成功;执行 execute_task 后应生成 map.json 映射文件。
常见问题
Q:为什么必须先安装 numpy?
A:README 明确指出安装顺序很重要:先用 pip 装 numpy,再装 aeneas;顺序颠倒可能导致 aeneas 安装失败。
Q:不确定命令参数怎么用?
A:不带参数运行 python -m aeneas.tools.execute_task 或 execute_job 可打印用法消息,加 --examples 能列出可直接运行的示例。
Q:如何一次性对齐多个音频?
A:用 python -m aeneas.tools.execute_job job.zip output_directory,job.zip 内需包含 config.txt 或 config.xml 配置文件。
Q:文本文件该用什么格式?
A:README 示例使用 plain 纯文本格式,也支持 unparsed 格式的 xhtml 页面,片段由 id 属性如 f001 标记。
Q:支持哪些操作系统?
A:README 提供 Mac OS X、Windows 的一键安装包和 Debian/Ubuntu 的 Bash 脚本,也可下载 VirtualBox+Vagrant 虚拟机。
注意事项
- README 对应版本为 1.7.3(2017-03-15),Python 推荐 2.7.x。
- 项目采用 GNU AGPL v3 许可。
- 配置字符串是 execute_task 的第三个参数,详细参数需查阅官方文档与教程。
- 完整安装细节见仓库 wiki 中的 INSTALL 文件。
核心亮点
- 对齐精度高,支持单词级时间戳,适合制作逐字字幕
- 命令行和 Python API 双接口,易于集成到自动化流程
- 支持多种语言和语音合成引擎,灵活适配不同文本
不足之处
- 依赖外部工具如 espeak 和 FFmpeg,安装配置较复杂
- 对长音频处理速度较慢,内存占用可能较高
- 文档和社区支持相对有限,遇到问题排查困难
适用场景
- 为教育视频自动生成双语字幕
- 有声书章节与文本同步制作
- 播客或访谈节目生成可搜索的文字索引
替代项目
Montreal Forced Aligner、WhisperX、Gentle
同类项目推荐
AgentVibes
开源
让 Claude Code 开口说话,边写代码边听反馈
TTS for Claude Code
totalvoice-node
开源
用 Node.js 快速集成 Totalvoice 语音和短信服务
Client em NodeJS para API da Totalvoice
MuseMorphose
开源
上传 MIDI,一键转换音乐风格,保留旋律。
PyTorch implementation of MuseMorphose (published at IEEE/ACM TASLP), a Transformer-···
editts
开源
用扩散模型精准编辑语音,改音高语速不动原声
Official implementation of EdiTTS: Score-based Editing for Controllable Text-to-Spee···
e2-tts-pytorch
开源
几行代码实现零样本语音克隆,让 TTS 不再复杂
Implementation of E2-TTS, "Embarrassingly Easy Fully Non-Autoregressive Zero-Shot TT···
YuE2-Studio
开源
装好就能在显卡上生成带人声的整首歌
Local AI song generator with an editable score — YuE2 on your GPU: full songs with ···
sayit
开源
Mac 本地把文字变语音,不联网不上传
Private, local text-to-speech for Apple silicon Macs
OpenMusic
开源
输入文字,一键生成专属音乐片段
OpenMusic: SOTA Text-to-music (TTM) Generation
StreamingKokoroJS
开源
浏览器里无限量本地语音合成,告别云端依赖
Unlimited text-to-speech in the Browser using Kokoro-JS, 100% local, 100% open sourc···
