Flask demo for local meeting audio -> transcription (faster-whisper) → translation (Helsinki Marian) → TTS (NeuTTSAir) with live SSE progress and downloadable output
0
stars
1
commits
Python
primary language
Oct 11, 2025
updated

This demo provides a local web UI to:
NeuTTSAir implementation in lib/neuttsairThis repository includes a small single-page web UI (Flask + SSE) that shows live progress and lets you download the generated audio.
uploads/<task_uuid>/<original_filename>.outputs/<task_uuid>/<original_filename>.app.py). Progress state is stored in-memory (not durable).pip install -r requirements.txt
lib/neuttsair additional requirements:pip install -r lib\neuttsair\requirements.txt
Some TTS phonemizers require eSpeak (espeak-ng). Follow the platform instructions in the eSpeak NG guide:
On Windows you may also need to set environment variables (example):
set PHONEMIZER_ESPEAK_LIBRARY=C:\Program Files\eSpeak NG\libespeak-ng.dll
set PHONEMIZER_ESPEAK_PATH=C:\Program Files\eSpeak NG
At the top of app.py you can customize model names and OS-specific phonemizer paths. Defaults included in the file:
WHISPER_MODEL_SIZE = "base" # smaller model for CPU usage
JA_EN_MODEL_NAME = "Helsinki-NLP/opus-mt-ja-en"
EN_JA_MODEL_NAME = "Helsinki-NLP/opus-mt-en-jap"
WINDOWS_PHONEMIZER_ESPEAK_LIBRARY = "c:\\Program Files\\eSpeak NG\\libespeak-ng.dll"
WINDOWS_PHONEMIZER_ESPEAK_PATH = "c:\\Program Files\\eSpeak NG"
MACOS_PHONEMIZER_ESPEAK_LIBRARY = "/opt/homebrew/Cellar/espeak/1.48.04_1/lib/libespeak.1.1.48.dylib"
Adjust these values if you change install locations or model choices.
python -m venv .venv
.venv\Scripts\activate
lib/neuttsair):pip install -r requirements.txt
pip install -r lib\neuttsair\requirements.txt
python app.py
Open http://127.0.0.1:5000/ in your browser. Drag & drop audio files or pick files to upload. The SPA shows live progress via SSE and provides download links when processing completes.
lib/neuttsair/neutts.py provides the local NeuTTSAir API. If you modify it, update lib/neuttsair/requirements.txt as needed.progress_state dict). For production use, switch to a durable store (Redis) and a task queue (RQ/Celery).PHONEMIZER_ESPEAK_LIBRARY and PHONEMIZER_ESPEAK_PATH variables in app.py and ensure the file exists.1 commits
Python
82.3%
HTML
17.7%
Flask demo for local meeting audio -> transcription (faster-whisper) → translation (Helsinki Marian) → TTS (NeuTTSAir) with live SSE progress and downloadable output
0
stars
1
commits
Python
primary language
Oct 11, 2025
updated

This demo provides a local web UI to:
NeuTTSAir implementation in lib/neuttsairThis repository includes a small single-page web UI (Flask + SSE) that shows live progress and lets you download the generated audio.
uploads/<task_uuid>/<original_filename>.outputs/<task_uuid>/<original_filename>.app.py). Progress state is stored in-memory (not durable).pip install -r requirements.txt
lib/neuttsair additional requirements:pip install -r lib\neuttsair\requirements.txt
Some TTS phonemizers require eSpeak (espeak-ng). Follow the platform instructions in the eSpeak NG guide:
On Windows you may also need to set environment variables (example):
set PHONEMIZER_ESPEAK_LIBRARY=C:\Program Files\eSpeak NG\libespeak-ng.dll
set PHONEMIZER_ESPEAK_PATH=C:\Program Files\eSpeak NG
At the top of app.py you can customize model names and OS-specific phonemizer paths. Defaults included in the file:
WHISPER_MODEL_SIZE = "base" # smaller model for CPU usage
JA_EN_MODEL_NAME = "Helsinki-NLP/opus-mt-ja-en"
EN_JA_MODEL_NAME = "Helsinki-NLP/opus-mt-en-jap"
WINDOWS_PHONEMIZER_ESPEAK_LIBRARY = "c:\\Program Files\\eSpeak NG\\libespeak-ng.dll"
WINDOWS_PHONEMIZER_ESPEAK_PATH = "c:\\Program Files\\eSpeak NG"
MACOS_PHONEMIZER_ESPEAK_LIBRARY = "/opt/homebrew/Cellar/espeak/1.48.04_1/lib/libespeak.1.1.48.dylib"
Adjust these values if you change install locations or model choices.
python -m venv .venv
.venv\Scripts\activate
lib/neuttsair):pip install -r requirements.txt
pip install -r lib\neuttsair\requirements.txt
python app.py
Open http://127.0.0.1:5000/ in your browser. Drag & drop audio files or pick files to upload. The SPA shows live progress via SSE and provides download links when processing completes.
lib/neuttsair/neutts.py provides the local NeuTTSAir API. If you modify it, update lib/neuttsair/requirements.txt as needed.progress_state dict). For production use, switch to a durable store (Redis) and a task queue (RQ/Celery).PHONEMIZER_ESPEAK_LIBRARY and PHONEMIZER_ESPEAK_PATH variables in app.py and ensure the file exists.1 commits
Python
82.3%
HTML
17.7%