Skip to content

Releases: BitsAndDopamine/Esperanto-STT

v0.2

Choose a tag to compare

@github-actions github-actions released this 16 Oct 21:16

Full Changelog: v0.1.2...v0.2

  • improved progress bar with more information
  • improved file selector

v0.1.2

Choose a tag to compare

@github-actions github-actions released this 16 Oct 20:37

Full Changelog: v0.1.1...v0.1.2

Windows executable now works again.

v0.1.1

Choose a tag to compare

@github-actions github-actions released this 15 Oct 19:10

Full Changelog: v0.1.0...v0.1.1

Esperanto-STT v0.1.1

Esperanto speech-to-text: turn mp3 audio into .srt subtitle files, with a small desktop GUI. Runs on Linux and Windows, CPU-only, fully offline.

Special thanks to all the contributors of the Esperanto Dataset of the Common Voice Project that made this possible.

eo-stt GUI
srt preview window

Features

Transcription

  • INT8 ONNX export of NVIDIA's Esperanto Conformer-Transducer Large (~120M params) via onnx-asr + ONNX Runtime — no PyTorch, NeMo or CUDA
  • Word-level timestamps → properly timed subtitle blocks
  • Input formats: mp3, wav, ogg, flac (m4a/aac only when ffmpeg is installed)
  • Long files are transcribed in 30 s chunks (batched) at ~10-15× realtime on CPU — a 48-minute podcast takes ~3-5 minutes
  • Output is the model's raw text: lowercase Esperanto with diacritics (ĉĝĥĵŝŭ), no punctuation

Subtitles

  • The .srt is written incrementally — created when transcription starts and growing block by block, so you can already read it (editor, player, preview window) while the progress bar runs; a partial file is kept if a run fails midway
  • Readable blocks: ≤ 84 chars (2×42) and ≤ 7 s per block, split on pauses > 1.5 s, min 0.5 s per block

GUI (in Esperanto)

  • Dark-mode desktop app (CustomTkinter), fully in Esperanto with diacritics
  • File list with per-file progress; an srt button per file opens a read-only preview — works mid-run, too
  • When a run completes, a preview window opens automatically for the last file, with a kopii ĉion (copy all) button
  • OS-native file picker (zenity on GNOME/Linux, native dialog on Windows)

CLI

  • eo-stt episode.mp3 more.mp3 -o subtitles/ — one .srt per input, written next to the file or into -o
  • Chunk-level progress; ASCII-only output (safe on any Windows console)

Portable, offline builds

  • Self-contained executables for Linux and Windows — no Python, no admin rights, no internet needed on the target machine
  • The INT8 model (~142 MB) is bundled beside the executable (model/) — the app never downloads anything at runtime
  • One executable, two interfaces: no arguments → GUI, with arguments → CLI
  • Point the app at a different model directory with the EO_STT_MODEL_DIR environment variable (or --model on the CLI)

Downloads

Artifact Platform
eo-stt-v0.1.1-linux.tar.gz Linux (x86_64)
eo-stt-v0.1.1-windows.zip Windows (x64) - broken in this release

Both artifacts are built automatically by CI (GitHub Actions) from the v0.1.0 tag; the model is fetched at build time (pinned commit, sha256-verified) and bundled.

Unpack, then from the eo-stt/ folder run ./eo-stt for the GUI or ./eo-stt episode.mp3 -o out/ for the CLI. On Windows: unzip and double-click eo-stt.exe for the GUI, or run it from a terminal for the CLI.

Notes & known limitations

  • Model output is lowercase without punctuation — passed through as-is (that's the model, not a bug)
  • Audio is chunked in hard 30 s blocks without overlap: a word straddling a chunk boundary can rarely come out garbled or duplicated
  • Windows Defender may flag PyInstaller-built executables as a false positive — add an exclusion for the app folder if that happens
  • Build from source: see the README (python fetch_model.py, python build.py; tests: python -m pytest)

License

Big parts of this repo have been written by Mistral Larg 4 using OpenCode.

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 15 Oct 18:25

Full Changelog: https://github.com/BitsAndDopamine/Esperanto-STT/commits/v0.1.0

Esperanto-STT v0.1. -- broken release

This release can't open files. Use v0.1.1 instead

License