aeneas

上传音频和文本,自动生成逐字字幕时间轴

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 音频音乐 🍴 复刻 277 🐛 待处理 39 👀 关注 64
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 2875
维护状态 低维护
是否开源 开源
定价模式 🏷️完全免费 开源项目,基于AGPL-3.0许可,可免费使用和自行部署。

项目预览

aeneas 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类音频音乐
开发团队readbeyond
定价模式🏷️完全免费
价格说明开源项目,基于AGPL-3.0许可,可免费使用和自行部署。
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议AGPL-3.0
主要语言Python
技术栈/模型alignment,audio,cli,dtw,espeak,espeak-ng,festival,ffmpeg,forced-alignment,linux,macos,nlp,python,smil,speech,srt,text,text-to-speech,tts,windows
GitHub 星标★ 2875
上线时间2015-05-11 00:00:00
代码更新2026-07-25
仓库体积28.5 MB
本站数据更新2026-11-10
维护状态低维护
收录时间2026-08-09
浏览次数8

项目介绍

aeneas 是一个用 Python/C 编写的开源工具集,用于自动将音频与文本进行强制对齐,即自动生成音频中每个单词或句子对应的时间戳。它解决了人工手动标注音视频字幕耗时费力的问题,能够快速生成精确的 SRT 字幕或 SMIL 媒体同步文件。核心能力包括:基于动态时间规整(DTW)的音频与文本对齐算法,支持多种语音合成引擎(如 espeak、festival)生成参考音频,与 FFmpeg 无缝集成处理音频格式,提供命令行工具和 Python API,可处理多语言文本。用户只需提供音频文件和对应的文本文件,aeneas 就能自动输出带时间戳的字幕,适用于教育视频、有声书、播客等场景。

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 2875

技术标签

使用教程

难度:进阶 约 20 分钟 部署方式:本地安装 8 步

环境要求

  • Python(README 推荐 2.7.x),pip 可用
  • FFmpeg,需提供 ffmpeg、ffprobe 可执行文件
  • eSpeak,需提供 espeak 可执行文件
  • espeak、ffmpeg、ffprobe、pip、python 均能在 shell 中直接调用

安装与启动步骤

  1. 1安装三大依赖

    按 README 先安装 Python、FFmpeg 和 eSpeak。Mac/Windows 可用官方一键安装包,Debian/Ubuntu 可用仓库内 Bash 脚本,也可用 VirtualBox+Vagrant 虚拟机。

  2. 2确认命令可用

    README 要求 espeak、ffmpeg、ffprobe、pip、python 都能从 shell 中直接调用,缺失时需先把它们加入 PATH。

    which espeak ffmpeg ffprobe pip python
  3. 3先装 numpy

    README 特别强调安装顺序:必须先装 numpy,再装 aeneas,顺序颠倒可能导致安装失败。

    pip install numpy
  4. 4安装 aeneas

    numpy 装好后,用 pip 从 PyPI 安装 aeneas 本体。

    pip install aeneas
  5. 5运行诊断检查

    用官方诊断命令确认安装是否正常,输出中不应出现错误提示。

    python -m aeneas.diagnostics
  6. 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. 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. 8批量处理任务

    任务较多时打包成 job.zip,其中需含 config.txt 或 config.xml,再用 execute_job 批量输出。

    python -m aeneas.tools.execute_job job.zip output_directory

关键配置

配置项必填说明示例
task_language是任务文本语言,如英语 engeng
is_text_type是输入文本格式,README 用到 plain 与 unparsedplain
os_task_file_format是输出同步映射格式,如 json 或 smiljson
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

上一篇:elevenlabs-python

下一篇:genmusic_demo_list

同类项目推荐

AgentVibes 开源

让 Claude Code 开口说话,边写代码边听反馈

TTS for Claude Code

★ 155 2026-11-08
totalvoice-node 开源

用 Node.js 快速集成 Totalvoice 语音和短信服务

Client em NodeJS para API da Totalvoice

★ 62 2026-08-09
MuseMorphose 开源

上传 MIDI,一键转换音乐风格,保留旋律。

PyTorch implementation of MuseMorphose (published at IEEE/ACM TASLP), a Transformer-···

★ 195 2026-08-09
editts 开源

用扩散模型精准编辑语音,改音高语速不动原声

Official implementation of EdiTTS: Score-based Editing for Controllable Text-to-Spee···

★ 122 2026-08-09
e2-tts-pytorch 开源

几行代码实现零样本语音克隆,让 TTS 不再复杂

Implementation of E2-TTS, "Embarrassingly Easy Fully Non-Autoregressive Zero-Shot TT···

★ 520 2026-08-09
YuE2-Studio 开源

装好就能在显卡上生成带人声的整首歌

Local AI song generator with an editable score — YuE2 on your GPU: full songs with ···

★ 2027 2026-10-29
sayit 开源

Mac 本地把文字变语音,不联网不上传

Private, local text-to-speech for Apple silicon Macs

★ 204 2026-10-01
OpenMusic 开源

输入文字,一键生成专属音乐片段

OpenMusic: SOTA Text-to-music (TTM) Generation

★ 642 2026-08-09
StreamingKokoroJS 开源

浏览器里无限量本地语音合成,告别云端依赖

Unlimited text-to-speech in the Browser using Kokoro-JS, 100% local, 100% open sourc···

★ 372 2026-08-09