Open Source
Explore the latest AI open-source projects from GitHub and HuggingFace.
Explore the latest AI open-source projects from GitHub and HuggingFace.
EMA Lightning is a Turkish-only text-to-speech model built to be small, with 8.6M parameters in total (about 34 MB): a 5.6M-parameter DiT acoustic model that generates latents in four steps, distilled from a flow-matching teacher with DMD2, plus a 3M-parameter HiFi-GAN-style vocoder that outputs 48 kHz audio. It runs offline on a GPU or CPU, and the project says no text or audio leaves the machine. Python usage centers on one EMA object: say() returns the full audio (optionally written to WAV, with per-word start and end timings), while stream() yields audio chunks as they are generated, with the first chunk covering one second of audio. A built-in scheduler called Playhead batches work from many threads onto one GPU, and calling .lightning() on NVIDIA hardware compiles the model and records CUDA graphs. Input text is normalized to spoken Turkish, so numbers, dates, amounts, units and abbreviations are read aloud, using the normalizer-tr library by Erdem Tuna. The author reports 0.92% word error rate on all 495 sentences of Freya-TR-Eval, measured with Whisper large-v3, versus 0.98% for the 2.38B-parameter Trendyol-TTS, 1.31% for Gemini 3.8 Flash-Lite and 1.43% for ElevenLabs v4, and claims the lowest result among the systems measured. On an RTX 4090 the author reports 3.86 ms to first audio, 440x real time for one request and 1,316x with a batch of 64, plus about $0.0085 per million characters on a rented card, and roughly 6x real time on a cloud-container CPU. The documented limits are one voice with no cloning or emotion control, Turkish only, and naturalness the author calls good but not the best (UTMOS about 3.30). Code and weights are Apache-2.0, installable with pip install ema-lightning.