anaksor-ocr
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…
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 . Download it on this page, a zip of its files. Nothing in it runs by itself.
pip install ema-lightning
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.
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.
| 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.
| 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 |
pip install ema-lightning
The Hugging Face record also lists a plain file download.
pip install -U huggingface_hub hf download canberkkkkkk/ema-lightning
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.
| 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 |
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, 48000Pass a list to say and the texts are made in shared batches, with the clips saved into a folder.
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.
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.
tts = EMA().lightning()
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.
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.
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.
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.
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:
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:
pip install ema-lightning
The Hugging Face record also lists a plain file download.
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.
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
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.
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.
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.
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:
Title: Speed against real time on an RTX 4090
Single stream: 440 x faster
With batching: 1316 x faster
Download its files with Hugging Face's command line:
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.
README.md 6 KB
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 | |
| AhenkShares turkish · text-to-speech | 0 | 29 | — | cc-by-4.0 | |
| Supertonic 3Shares speech-synthesis · text-to-speech | 92,359 | 1,043 | — | openrail | |
| ZeroTTSShares speech-synthesis · text-to-speech | 8,091 | 54 | — | mit | |
| Maya 2 NativeShares speech-synthesis · text-to-speech | 5,774 | 170 | 2.5B | apache-2.0 | |
| Confucius4-TTSShares speech-synthesis · text-to-speech | 2,190 | 46 | — | apache-2.0 |
Posts and comments that name this project on Hacker News, Bluesky, X, Reddit, Facebook and YouTube, found by a weekly search and on Trendshift. Mindket doesn’t write or check them. Open one to read it where it was posted.
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…
Qwen · Kit
Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…
ACE-Step · Kit
Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…
alirezarezvani · Skill
Adds 411 ready-made skills for Claude Code and other coding agents, grouped by role from engineering and product to marketing, finance and compliance. Installs…
block · Kit
Self-hostable workspace where people and AI agents share the same rooms, built on a Nostr relay that logs every action as a signed event. For teams that want t…
backnotprop · Kit
Opens your AI coding agent's plans, specs and code changes in a browser so you can annotate or comment on them and send the feedback straight back to the agent.