# readbeyond/aeneas

aeneas is a Python/C library and a set of tools to automagically synchronize audio and text (aka forced alignment)

Repository: https://github.com/readbeyond/aeneas
Canonical: https://ross.abutalabs.com/products/aeneas
Homepage: http://www.readbeyond.it/aeneas/
Language: Python
License: AGPL-3.0
License Family: copyleft
Topics: speech, alignment, tts, python, linux, macos, windows, nlp, espeak, espeak-ng, festival, cli, dtw, ffmpeg, forced-alignment, text, audio, srt, smil, text-to-speech
Last push: 2026-07-25T10:22:31+00:00

## Health v2 (maintenance only)
Score: 65/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 94, release rhythm 8, longevity 100
- inputs: {"age_days": 4132, "days_push": 39, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2863, forks 275 (observed 2026-08-28T04:07:26.422158+00:00)

## What it is
aeneas is a Python/C library and set of CLI tools that automatically computes forced alignments, generating a synchronization map between a list of text fragments and an audio file narrating that text. It supports many output formats including SRT, SMIL (EPUB 3 Media Overlays), ELAN EAF, TextGrid, and JSON, using MFCC features and dynamic time warping with eSpeak/eSpeak-ng or Festival TTS.

## Use cases
- align audiobook narration with text fragments
- generate subtitles from a transcript and audio
- create EPUB 3 media overlay SMIL files for audio-eBooks
- synchronize lyrics or poetry with a recording
- produce ELAN or TextGrid annotations for speech research
- batch-align many audio/text pairs via job files

## When to choose
- you need to time-align a known transcript to its audio without manual annotation
- you want EPUB 3 audio-eBook synchronization maps
- you need subtitle files (SRT, VTT, TTML) generated from text and narration
- you work offline with a lightweight Python/C tool rather than heavy deep-learning ASR

## When to avoid
- you need state-of-the-art speech recognition or alignment on noisy, spontaneous audio
- you want an actively developed project with recent releases and modern Python support
- you need word-level alignment with neural acoustic models
- you cannot install C dependencies like ffmpeg and espeak-ng

## Facets
- artifact type: library
- maturity: maintenance
- function: speech-recognition, tts, audio-processing, nlp, cli
- domain: speech-processing, media, accessibility
- platform: python, windows, cli
- tags: forced-alignment, dtw, sync-map, subtitles, epub3-media-overlays, espeak, ffmpeg, audio-text-synchronization, audio, natural-language-processing, linux, macos

## Member repositories
- readbeyond/aeneas (main) score 65

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:26.422158+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:48:29.393797+00:00, confidence not recorded.
  - readme: https://github.com/readbeyond/aeneas (fetched 2026-08-28T04:07:26.422158+00:00, sha e27199e75fbc)
  - homepage: http://www.readbeyond.it/aeneas/ (fetched 2026-08-29T09:52:07.878713+00:00, sha b92ff4d76b84)
  - site_page: http://www.readbeyond.it/aeneas/docs/libtutorial.html (fetched 2026-08-29T09:52:07.891188+00:00, sha f41706419ffa)
  - site_page: http://www.readbeyond.it/aeneas/docs/changelog.html (fetched 2026-08-29T09:52:07.893311+00:00, sha 12fa9cb3fbaf)
  - site_page: https://www.readbeyond.it/about.html (fetched 2026-08-29T09:52:07.895337+00:00, sha 22e1090e98dc)
  - site_page: https://www.readbeyond.it/aeneas/docs (fetched 2026-08-29T09:52:07.882063+00:00, sha ddb5da610293)
  - site_page: http://www.readbeyond.it/aeneas/docs (fetched 2026-08-29T09:52:07.884132+00:00, sha ddb5da610293)
  - site_page: http://www.readbeyond.it/aeneas/docs/clitutorial.html (fetched 2026-08-29T09:52:07.886087+00:00, sha e72ba305471c)
  - site_page: http://www.readbeyond.it/aeneas/docs/textfile.html (fetched 2026-08-29T09:52:07.889128+00:00, sha fa51172bc4a4)
  - registry_pypi: https://pypi.org/pypi/aeneas/json (fetched 2026-08-29T09:52:07.896978+00:00, sha 116b5a823dd4)
- Data as of 2026-08-30T08:39:29.467469+00:00.
