Skip to content

robinhad/ukrainian-tts

Repository files navigation

title emoji colorFrom colorTo sdk sdk_version python_version app_file pinned
Ukrainian TTS
🐌
blue
yellow
gradio
5.7.1
3.10.3
app.py
false

Ukrainian TTS 📢🤖

Ukrainian TTS (text-to-speech) using ESPNET.

pytest Open In HF🤗 Space Open In Colab Open Bot chat

Link to online demo -> https://huggingface.co/spaces/robinhad/ukrainian-tts
Note: online demo saves user input to improve user experience; by using it, you consent to analyze this data.
Link to source code and models -> https://github.com/robinhad/ukrainian-tts
Telegram bot -> https://t.me/uk_tts_bot

Features ⚙️

  • Completely offline
  • Multiple voices
  • Automatic stress with priority queue: acute -> user-defined > dictionary > model
  • Control speech speed
  • Python package works on Windows, Mac (x86/M1), Linux(x86/ARM)
  • Inference on mobile devices (inference models through espnet_onnx without cleaners)

Support ❤️

If you like my work, please support ❤️ -> https://send.monobank.ua/jar/48iHq4xAXm
You're welcome to join UA Speech Recognition and Synthesis community: Telegram https://t.me/speech_recognition_uk

Examples 🤖

Oleksa (male):

oleksa.mp4
More voices 📢🤖

Tetiana (female):

tetiana.mp4

Dmytro (male):

dmytro.mp4

Lada (female):

lada.mp4

Mykyta (male):

mykyta.mp4

How to use: 📢

Quickstart

Install using:

!pip install git+https://github.com/robinhad/ukrainian-tts.git

Code example:

from ukrainian_tts.tts import TTS, Voices, Stress
import IPython.display as ipd

tts = TTS(device="cpu") # can try gpu, mps
with open("test.wav", mode="wb") as file:
    _, output_text = tts.tts("Привіт, як у тебе справи?", Voices.Dmytro.value, Stress.Dictionary.value, file)
print("Accented text:", output_text)

ipd.Audio(filename="test.wav")

See example notebook: tts_example.ipynb Open In Colab

How to contribute: 🙌

Look into this list with current problems: #35

How to train: 🏋️

Link to guide: training/STEPS.md

Attribution 🤝