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…
Turns Ukrainian phonemes into speech with preset voices or a voice cloned from an audio sample, as streamed 24 kHz mono audio. For developers adding Ukrainian speech on PyTorch, ONNX Runtime, MLX or Android.
HolosTTS 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 -U huggingface_hub hf download patriotyk/HolosTTS
HolosTTS is an open-source text-to-speech model for Ukrainian, made by patriotyk. It reads phonemes and returns mono audio at 24 kHz, either all at once or as a stream. It has preset voices and can clone a voice from an audio sample.
It suits people who need Ukrainian speech in an app, on a server, on a Mac or on an Android phone. The author describes it as a balance of quality and speed.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| Software | App developers | Add Ukrainian voice replies or narration to a product | A phone app that speaks through the Android library |
| Media | Video and audio makers | Voice a script with a preset voice or a cloned one | Narrating a short clip in Ukrainian |
| Education | Teachers and language app builders | Read Ukrainian lessons aloud | Speaking a short greeting from a lesson |
| Research | Speech engineers | Compare PyTorch, ONNX Runtime and MLX runs | Timing the first audio chunk on a GPU |
You can skip it if you need languages other than Ukrainian, since the model lists Ukrainian only.
| Use case | Who | What they get back |
|---|---|---|
| Narrate a text | Creators | A 24 kHz WAV file of the speech |
| Live speech | App developers | Audio chunks as soon as each one is ready |
| Custom voice | People with a clean recording they may use | Speech in a voice cloned from that recording |
To fetch the files yourself:
pip install -U huggingface_hub hf download patriotyk/HolosTTS
For PyTorch:
python -m pip install holos-tts
For ONNX Runtime:
python -m pip install holos-tts-onnx # CPU and CUDA python -m pip install "holos-tts-onnx[tensorrt]" # plus TensorRT
For MLX on Apple silicon:
python -m pip install holos-tts-mlx
Turn your Ukrainian text into phonemes, then pass them to the model with a voice. Synthesize long texts one sentence at a time. A speed above 1 speaks faster and below 1 slower.
from ipa_uk import ipa
from ukrainian_word_stress import Stressifier
stressify = Stressifier()
phonemes = ipa(stressify("Привіт! Це український синтез мовлення."))import torch
import soundfile as sf
from holos.models import HolosTTS
device = "cuda" if torch.cuda.is_available() else "cpu"
model = HolosTTS("patriotyk/HolosTTS", device=device)
print(model.list_voices())
voice = model.list_voices()[0]
audio = model.generate(phonemes, voice=voice, speed=1.0)
sf.write("speech.wav", audio.squeeze().cpu().numpy(), 24000)For streaming, the chunks add up to the same audio as a single generate call:
for chunk in model.stream(phonemes, voice=voice):
play(chunk.squeeze().cpu().numpy()) # tensor [1, samples]To clone a voice, give the encoder a recording of the target voice with no music or other speakers:
from holos.models import VoiceEncoder
encoder = VoiceEncoder("patriotyk/HolosTTS", device=device)
with torch.inference_mode():
custom_voice = encoder("reference.wav")
audio = model.generate(phonemes, voice=custom_voice)
sf.write("custom_voice.wav", audio.squeeze().cpu().numpy(), 24000)| Tool | What it does |
|---|---|
| holos-tts | Runs the model on PyTorch and clones voices |
| holos-tts-onnx | Runs it on ONNX Runtime without PyTorch, on CPU, CUDA or TensorRT |
| holos-tts-mlx | Runs it on the GPU of an Apple silicon Mac with MLX |
| holos-tts-litert | Runs through LiteRT on a CPU or GPU and guides the Android library |
Take the Ukrainian greeting "Привіт!", turn it into phonemes with the two helper packages, and call generate with the first voice from list_voices. You get speech.wav back, a mono recording at 24 kHz that speaks the greeting.
The model reads sounds, not letters. Two small helper packages first turn your Ukrainian text into phonemes with stress marks. For a first try, install holos-tts, run the phoneme lines, print the voice list and generate one short sentence.
Underneath, streaming returns chunks of chunk_frames frames, 40 frames to the second by default. Small chunks start playing sooner, though the whole job takes longer, because each chunk is decoded with its neighbours as context. Each utterance begins with a silent boundary of roughly 50 ms. In streaming mode most of that gap is cut and a 5 ms fade-in prevents a click. Each voice is 256 numbers. Save them and the ONNX package can use that voice too.
The author reports a first audio chunk after 3 ms on an RTX 5090 and 5 ms on an RTX 3090. Those are the author's own numbers.
Turns Ukrainian phonemes into speech with preset voices or a voice cloned from an audio sample, as streamed 24 kHz mono audio. For developers adding Ukrainian speech on PyTorch, ONNX Runtime, MLX or Android.
Made by patriotyk 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: HolosTTS is an open-source text-to-speech model for Ukrainian, made by patriotyk. It reads phonemes and returns mono audio at 24 kHz, either all at once or as a stream. It has preset voices and can clone a voice from an audio sample.
Who it suits: It suits people who need Ukrainian speech in an app, on a server, on a Mac or on an Android phone. The author describes it as a balance of quality and speed.
Industry | Who uses it | How they use it | Example
Software | App developers | Add Ukrainian voice replies or narration to a product | A phone app that speaks through the Android library
Media | Video and audio makers | Voice a script with a preset voice or a cloned one | Narrating a short clip in Ukrainian
Education | Teachers and language app builders | Read Ukrainian lessons aloud | Speaking a short greeting from a lesson
Research | Speech engineers | Compare PyTorch, ONNX Runtime and MLX runs | Timing the first audio chunk on a GPU
You can skip it if you need languages other than Ukrainian, since the model lists Ukrainian only.
Where to use it:
Use case | Who | What they get back
Narrate a text | Creators | A 24 kHz WAV file of the speech
Live speech | App developers | Audio chunks as soon as each one is ready
Custom voice | People with a clean recording they may use | Speech in a voice cloned from that recording
How to set it up:
To fetch the files yourself:
pip install -U huggingface_hub
hf download patriotyk/HolosTTS
For PyTorch:
python -m pip install holos-tts
For ONNX Runtime:
python -m pip install holos-tts-onnx # CPU and CUDA
python -m pip install "holos-tts-onnx[tensorrt]" # plus TensorRT
For MLX on Apple silicon:
python -m pip install holos-tts-mlx
How to use it: Turn your Ukrainian text into phonemes, then pass them to the model with a voice. Synthesize long texts one sentence at a time. A speed above 1 speaks faster and below 1 slower.
from ipa_uk import ipa
from ukrainian_word_stress import Stressifier
stressify = Stressifier()
phonemes = ipa(stressify("Привіт! Це український синтез мовлення."))
import torch
import soundfile as sf
from holos.models import HolosTTS
device = "cuda" if torch.cuda.is_available() else "cpu"
model = HolosTTS("patriotyk/HolosTTS", device=device)
print(model.list_voices())
voice = model.list_voices()[0]
audio = model.generate(phonemes, voice=voice, speed=1.0)
sf.write("speech.wav", audio.squeeze().cpu().numpy(), 24000)
For streaming, the chunks add up to the same audio as a single generate call:
for chunk in model.stream(phonemes, voice=voice):
play(chunk.squeeze().cpu().numpy()) # tensor [1, samples]
To clone a voice, give the encoder a recording of the target voice with no music or other speakers:
from holos.models import VoiceEncoder
encoder = VoiceEncoder("patriotyk/HolosTTS", device=device)
with torch.inference_mode():
custom_voice = encoder("reference.wav")
audio = model.generate(phonemes, voice=custom_voice)
sf.write("custom_voice.wav", audio.squeeze().cpu().numpy(), 24000)
Tool | What it does
holos-tts | Runs the model on PyTorch and clones voices
holos-tts-onnx | Runs it on ONNX Runtime without PyTorch, on CPU, CUDA or TensorRT
holos-tts-mlx | Runs it on the GPU of an Apple silicon Mac with MLX
holos-tts-litert | Runs through LiteRT on a CPU or GPU and guides the Android library
Example: Take the Ukrainian greeting "Привіт!", turn it into phonemes with the two helper packages, and call generate with the first voice from list_voices. You get speech.wav back, a mono recording at 24 kHz that speaks the greeting.
For newcomers and experts: The model reads sounds, not letters. Two small helper packages first turn your Ukrainian text into phonemes with stress marks. For a first try, install holos-tts, run the phoneme lines, print the voice list and generate one short sentence.
Underneath, streaming returns chunks of chunk_frames frames, 40 frames to the second by default. Small chunks start playing sooner, though the whole job takes longer, because each chunk is decoded with its neighbours as context. Each utterance begins with a silent boundary of roughly 50 ms. In streaming mode most of that gap is cut and a 5 ms fade-in prevents a click. Each voice is 256 numbers. Save them and the ONNX package can use that voice too.
Ukrainian text gets stress marks
Phonetic transcription makes phonemes
HolosTTS adds a preset or cloned voice
Audio comes back whole or in chunks
Good to know: The author reports a first audio chunk after 3 ms on an RTX 5090 and 5 ms on an RTX 3090. Those are the author's own numbers.
Title: Reported time to the first audio chunk in milliseconds
RTX 5090: 3 ms
RTX 3090: 5 ms
Download its files with Hugging Face's command line:
pip install -U huggingface_hub
hf download patriotyk/HolosTTS
Then follow the usage in its model card. Nothing in this kit runs by itself.
README.md 7 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 |
|---|---|---|---|---|---|
| HolosTTS This page | 95 | 18 | — | mit | |
| Scylla's BandShares litert · tflite · text-to-speech | 929 | 17 | — | apache-2.0 | |
| phonon-31m English for Compute FlowShares litert · tflite · text-to-speech | 56 | 3 | 18.9M | apache-2.0 | |
| Idol on LiteRTShares litert · tflite | 1,066 | 5 | — | apache-2.0 | |
| GPT-2Shares tflite · onnx · safetensors | 32,892,223 | 3,932 | 137M | mit | |
| VieNeu-TTS v3 TurboShares text-to-speech · onnx · safetensors | 2,151,800 | 109 | 131M | apache-2.0 |
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.