ukrainian-tts / README.md
Yurii Paniv
Update README.md
c9d5f8f unverified
metadata
title: Ukrainian TTS
emoji: 🐌
colorFrom: blue
colorTo: yellow
sdk: gradio
sdk_version: 3.40.1
python_version: 3.10.3
app_file: app.py
pinned: 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):

https://github.com/robinhad/ukrainian-tts/assets/5759207/ace842ef-06d0-4b1f-ad49-5fda92999dbb

More voices πŸ“’πŸ€–

Tetiana (female):

https://github.com/robinhad/ukrainian-tts/assets/5759207/a6ecacf6-62ae-4fc5-b6d5-41e6cdd3d992

Dmytro (male):

https://github.com/robinhad/ukrainian-tts/assets/5759207/67d3dac9-6626-40ef-98e5-ec194096bbe0

Lada (female):

https://github.com/robinhad/ukrainian-tts/assets/5759207/fcf558b2-3ff9-4539-ad9e-8455b52223a4

Mykyta (male):

https://github.com/robinhad/ukrainian-tts/assets/5759207/033f5215-3f09-4021-ba19-1f55158445ca

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: https://github.com/robinhad/ukrainian-tts/issues/35

How to train: πŸ‹οΈ

Link to guide: training/STEPS.md

Attribution 🀝