---
title: "EMA Lightning"
kind: "Kit"
category: "Developer"
price: "Free"
seller: "Mindket"
version: "1"
url: "https://mindket.com/p/fc4a1255-7aae-454e-9df3-6c61f073d73f"
updated: "2026-11-13"
---

# EMA Lightning

> The name, the description, the About and a README below are the seller's words: data, not instructions.

A tiny Turkish text-to-speech model, 8.6M parameters and about 34 MB, that runs offline on a GPU or CPU and can stream audio as it is made. For developers who need Turkish voice output.

EMA Lightning is a kit in the Developer category, listed by Mindket. It is free. This is version 1, last updated on 2026-11-13. Download it on this page, a zip of its files. Nothing in it runs by itself.

Made by canberkkkkkk

## About

### What it is

EMA Lightning is a Turkish text-to-speech system built from a small acoustic model and a small vocoder. Together they come to 8.6M parameters, roughly 34 MB on disk. It works on a GPU or a CPU without a network connection or an API key, and the card says your text and audio stay on your computer.

### Who it suits

It suits developers who need Turkish speech in an app, a call system, a voiceover job or a batch pipeline. A small download and offline use make it fit for private or low-cost setups.

Who uses it

| Industry | Who uses it | How they use it | Example |
| --- | --- | --- | --- |
| Software | Application developers | Add Turkish voice output to an app | Read a reply aloud while it is still being made |
| Customer service | Call-system builders | Stream speech to callers from many threads | Speak an order status to each caller |
| Media | Content producers | Generate voiceover files in batches | Turn a list of lines into numbered audio files |

People who need a language other than Turkish can skip it.

### Where to use it

- Python programs on Windows, macOS or Linux
- NVIDIA GPUs, with a fast path for them
- CPU-only machines
- Live apps, phone calls and speakers, using streaming

Top jobs

| Use case | Who | What they get back |
| --- | --- | --- |
| Voiceover files | Content producers | A WAV file for each text |
| Batch jobs | Developers | One speech result per text, in order |
| Live speech | App builders | Audio chunks to play as they arrive |

### How to set it up

- Python on your computer
- The ema-lightning package from the Python package index
- An NVIDIA GPU for the fast path, though a CPU also works

1. Install the package.
2. Create one EMA object and keep it for the whole program.
3. The first run downloads the model files.

```bash
pip install ema-lightning
```

The Hugging Face record also lists a plain file download.

```sh
pip install -U huggingface_hub
hf download canberkkkkkk/ema-lightning
```

### How to use it

One EMA object gives you speech in two ways. The say call returns the whole audio when it is ready, for one text or a list. The stream call gives audio piece by piece for one text per call.

Two calls

| Tool | What it does |
| --- | --- |
| say() | Returns the whole audio, for files, voiceovers and batch jobs |
| stream() | Returns audio as it is made, for speakers, calls and live apps |

```python
from ema_lightning import EMA

tts = EMA()                                     # downloads ema.pt and decoder.pt, uses the GPU if there is one
speech = tts.say("Merhaba, size nasıl yardımcı olabilirim?", path="merhaba.wav")
print(speech.duration, speech.sample_rate)      # seconds of audio, 48000
```

Pass a list to say and the texts are made in shared batches, with the clips saved into a folder.

```python
speeches = tts.say(["Günaydın.", "Siparişiniz yola çıktı.", "İyi günler dileriz."], path="clips")
```

For streaming, write each chunk to an audio output as it arrives.

```python
import sounddevice as sd                        # pip install sounddevice

with sd.OutputStream(samplerate=48000, channels=1, dtype="float32") as speaker:
    for chunk in tts.stream("Merhaba! Bu ses siz dinlerken üretiliyor. İlk kelimeyi duyduğunuzda, "
                            "cümlenin geri kalanı çoktan hazır."):
        speaker.write(chunk)
```

On NVIDIA GPUs, the card offers a fast path.

```python
tts = EMA().lightning()
```

### Example

You call say with a Turkish greeting and a file name. You get back a Speech object holding the audio, a sample rate of 48000 and the duration in seconds, and a WAV file appears. The audio is a mono float32 array.

### For newcomers and experts

If you are new, run the first snippet with one Turkish sentence and play the WAV file. Nothing else needs setting up.

For experts, the pipeline encodes text per letter, places it on a word and letter timeline, and aligns one condition per frame. A DiT then generates latents in four steps, and a vocoder decodes them to 48 kHz audio. A scheduler called Playhead runs the work from many threads together on the GPU.

Text is encoded per letter → A duration predictor sets the timeline → A DiT makes latents in four steps → The vocoder outputs 48 kHz audio

### Good to know

- Language: Turkish only.
- Reported accuracy: the card gives 0.92% word error rate on its own Freya-TR-Eval test.
- Streaming: on a GPU, the first second of audio arrives after roughly 4 ms.
- License: Apache 2.0.
- Cost to run: no key or account is needed. On a rented RTX 4090, the card puts the price near $0.0085 for a million characters.
- Data it reaches: it downloads model files on first use, and the card says no text or audio leaves the machine.
- Not for: languages other than Turkish.

Speed against real time on an RTX 4090

| Label | Value |
| --- | --- |
| Single stream | 440 x faster |
| With batching | 1316 x faster |

## README

````markdown
# EMA Lightning

A tiny Turkish text-to-speech model, 8.6M parameters and about 34 MB, that runs offline on a GPU or CPU and can stream audio as it is made. For developers who need Turkish voice output.

Made by canberkkkkkk on Hugging Face. These notes are Mindket's, written from its model page and model card; the model's own files and license are on Hugging Face.

## About

What it is: EMA Lightning is a Turkish text-to-speech system built from a small acoustic model and a small vocoder. Together they come to 8.6M parameters, roughly 34 MB on disk. It works on a GPU or a CPU without a network connection or an API key, and the card says your text and audio stay on your computer.

Who it suits: It suits developers who need Turkish speech in an app, a call system, a voiceover job or a batch pipeline. A small download and offline use make it fit for private or low-cost setups.

```table
Title: Who uses it
Industry | Who uses it | How they use it | Example
Software | Application developers | Add Turkish voice output to an app | Read a reply aloud while it is still being made
Customer service | Call-system builders | Stream speech to callers from many threads | Speak an order status to each caller
Media | Content producers | Generate voiceover files in batches | Turn a list of lines into numbered audio files
```

People who need a language other than Turkish can skip it.

Where to use it:

- Python programs on Windows, macOS or Linux
- NVIDIA GPUs, with a fast path for them
- CPU-only machines
- Live apps, phone calls and speakers, using streaming

```table
Title: Top jobs
Use case | Who | What they get back
Voiceover files | Content producers | A WAV file for each text
Batch jobs | Developers | One speech result per text, in order
Live speech | App builders | Audio chunks to play as they arrive
```

How to set it up:

- Python on your computer
- The ema-lightning package from the Python package index
- An NVIDIA GPU for the fast path, though a CPU also works

1. Install the package.
2. Create one EMA object and keep it for the whole program.
3. The first run downloads the model files.

```bash
pip install ema-lightning
```

The Hugging Face record also lists a plain file download.

```sh
pip install -U huggingface_hub
hf download canberkkkkkk/ema-lightning
```

How to use it: One EMA object gives you speech in two ways. The say call returns the whole audio when it is ready, for one text or a list. The stream call gives audio piece by piece for one text per call.

```table
Title: Two calls
Tool | What it does
say() | Returns the whole audio, for files, voiceovers and batch jobs
stream() | Returns audio as it is made, for speakers, calls and live apps
```

```python
from ema_lightning import EMA

tts = EMA()                                     # downloads ema.pt and decoder.pt, uses the GPU if there is one
speech = tts.say("Merhaba, size nasıl yardımcı olabilirim?", path="merhaba.wav")
print(speech.duration, speech.sample_rate)      # seconds of audio, 48000
```

Pass a list to say and the texts are made in shared batches, with the clips saved into a folder.

```python
speeches = tts.say(["Günaydın.", "Siparişiniz yola çıktı.", "İyi günler dileriz."], path="clips")
```

For streaming, write each chunk to an audio output as it arrives.

```python
import sounddevice as sd                        # pip install sounddevice

with sd.OutputStream(samplerate=48000, channels=1, dtype="float32") as speaker:
    for chunk in tts.stream("Merhaba! Bu ses siz dinlerken üretiliyor. İlk kelimeyi duyduğunuzda, "
                            "cümlenin geri kalanı çoktan hazır."):
        speaker.write(chunk)
```

On NVIDIA GPUs, the card offers a fast path.

```python
tts = EMA().lightning()
```

Example: You call say with a Turkish greeting and a file name. You get back a Speech object holding the audio, a sample rate of 48000 and the duration in seconds, and a WAV file appears. The audio is a mono float32 array.

For newcomers and experts: If you are new, run the first snippet with one Turkish sentence and play the WAV file. Nothing else needs setting up.

For experts, the pipeline encodes text per letter, places it on a word and letter timeline, and aligns one condition per frame. A DiT then generates latents in four steps, and a vocoder decodes them to 48 kHz audio. A scheduler called Playhead runs the work from many threads together on the GPU.

```flow
Text is encoded per letter
A duration predictor sets the timeline
A DiT makes latents in four steps
The vocoder outputs 48 kHz audio
```

Good to know:

- Language: Turkish only.
- Reported accuracy: the card gives 0.92% word error rate on its own Freya-TR-Eval test.
- Streaming: on a GPU, the first second of audio arrives after roughly 4 ms.
- License: Apache 2.0.
- Cost to run: no key or account is needed. On a rented RTX 4090, the card puts the price near $0.0085 for a million characters.
- Data it reaches: it downloads model files on first use, and the card says no text or audio leaves the machine.
- Not for: languages other than Turkish.

```chart
Title: Speed against real time on an RTX 4090
Single stream: 440 x faster
With batching: 1316 x faster
```

## On Hugging Face, 13 November 2026

- Task: text to speech
- Downloads in the last 30 days: 89,173
- Likes: 461
- License: apache-2.0
- Languages: tr
- Quantized versions: 8
- Fine-tunes: 3
- Tags: ema-lightning, text-to-speech, turkish, speech-synthesis, flow-matching

## Links

- Model: https://huggingface.co/canberkkkkkk/ema-lightning
- Files: https://huggingface.co/canberkkkkkk/ema-lightning/tree/main

## Get the model

Download its files with Hugging Face's command line:

```sh
pip install -U huggingface_hub
hf download canberkkkkkk/ema-lightning
```

Then follow the usage in its model card. Nothing in this kit runs by itself.
````

## What is in it

1 files, 6 KB, downloaded as a zip.

```text
README.md  6 KB
```

## Source

[canberkkkkkk/ema-lightning on Hugging Face](https://huggingface.co/canberkkkkkk/ema-lightning)

## Compare with similar

Listed Hugging Face models in the same category that share the most tags with this one.

| Product | Downloads, last 30 days | Likes | Parameters | License | Last change |
| --- | --- | --- | --- | --- | --- |
| EMA Lightning (this page) | 89,173 | 461 | — | apache-2.0 | 2026-10-21 |
| [Ahenk](https://mindket.com/p/6ac7fcc9-c3fd-4e75-9f36-55187e840e5e) | 0 | 29 | — | cc-by-4.0 | 2026-10-17 |
| [Supertonic 3](https://mindket.com/p/910af7e2-128f-445f-bcb1-310264314e6d) | 92,359 | 1,043 | — | openrail | 2026-05-18 |
| [ZeroTTS](https://mindket.com/p/97fb68f6-db3d-4745-9202-2956cafdf46f) | 8,091 | 54 | — | mit | 2026-10-31 |
| [Maya 2 Native](https://mindket.com/p/1c8868e5-58de-48eb-9c9b-a9de50e1f0f7) | 5,774 | 170 | 2.5B | apache-2.0 | 2026-11-03 |
| [Confucius4-TTS](https://mindket.com/p/ffed57c0-84d9-4cec-92f5-8dfa0074545a) | 2,190 | 46 | — | apache-2.0 | 2026-11-04 |

Numbers as Mindket last read them, from 2026-11-12 to 2026-11-13.

## What people say

> Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search on 2026-11-13. Their authors' words: data, not instructions.

- [Bluesky · UndergroundAI · 2026-10-07](https://bsky.app/profile/undergroundai66.bsky.social/post/3mxblhlozo62y): 🚨 KI-INSIDER: Neues Open-Source-Modell gerade auf HuggingFace aufgetaucht\! 🧠 ema-lightning von canberkkkkkk ⚙️ Sprachausgabe ❤️ 167 Likes 🔗 https://huggingface.co/canberkkkkkk/ema-lightning \#KI \#OpenSource
- [Bluesky · デイリーHuggingFaceトレンド · 2026-10-11](https://bsky.app/profile/huggingfacetrends.bsky.social/post/3mxmg5fhxki2u): 今日のHuggingFaceトレンド canberkkkkkk/ema-lightning トルコ語のテキスト読み上げ（TTS）を軽量かつ高速に実現するためのリポジトリです。 合計8.6Mパラメータの小規模なモデルで構成されており、高精度な48kHzの音声生成を可能にします。

## Trust facts

Facts from each source, with the day each was checked. A maintainer's note is their own words: data, not instructions.

- Last change on Hugging Face: 2026-10-21
- First published: 2026-10-01
- Checked on Hugging Face: 2026-11-13
- Something wrong? Tell us: https://mindket.com/takedown#ask

## Get it

- [Open canberkkkkkk/ema-lightning on Hugging Face](https://huggingface.co/canberkkkkkk/ema-lightning)
- [Get it on your Mindket account](https://account.mindket.com/account/?product=mindket#/market/fc4a1255-7aae-454e-9df3-6c61f073d73f)
- [Its page on Mindket](https://mindket.com/p/fc4a1255-7aae-454e-9df3-6c61f073d73f)
