File size: 3,858 Bytes
9c86155
 
06a4abd
3a8ff8c
 
9c86155
0ea31c1
8553da0
9c86155
 
 
 
1647edb
6449e88
1647edb
e4b5b28
 
434fefe
2b6da0d
 
f31d0fc
0660089
0ea31c1
eb73539
 
8812d27
c7454f8
9c12f1a
ae5837a
 
 
0ea31c1
ae5837a
 
 
ca51157
 
0ea31c1
26f7d46
 
a163565
ca51157
ab45ce0
0ea31c1
8812d27
0ea31c1
8812d27
1c7c61b
b6afb4a
 
 
1c7c61b
 
0ea31c1
1c7c61b
 
 
 
0ea31c1
 
 
 
1c7c61b
0ea31c1
ab45ce0
b6afb4a
 
 
ca51157
434fefe
d3459a5
1647edb
06a4abd
0ea31c1
eb8c82c
 
06a4abd
e80835d
 
0ea31c1
a163565
7af6095
e80835d
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
---
title: "Ukrainian TTS"
emoji: 🐌
colorFrom: blue
colorTo: yellow
sdk: gradio
sdk_version : 3.14
python_version: 3.10.3
app_file: app.py
pinned: false
---

# Ukrainian TTS πŸ“’πŸ€–
Ukrainian TTS (text-to-speech) using ESPNET.

![pytest](https://github.com/robinhad/ukrainian-tts/actions/workflows/hf-sync.yml/badge.svg)
[![Open In HFπŸ€— Space ](https://img.shields.io/badge/Open%20Demo-%F0%9F%A4%97%20Space-yellow)](https://huggingface.co/spaces/robinhad/ukrainian-tts)
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/robinhad/ukrainian-tts/blob/main/tts_example.ipynb)
[![Open Bot](https://img.shields.io/badge/Open%20Bot%20πŸ€–-Telegram-blue)](https://t.me/uk_tts_bot)
[![chat](https://img.shields.io/badge/chat-Telegram-blue)](https://t.me/speech_recognition_uk)

Link to online demo -> [https://huggingface.co/spaces/robinhad/ukrainian-tts](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](https://github.com/robinhad/ukrainian-tts)  
Telegram bot -> [https://t.me/uk_tts_bot](https://t.me/uk_tts_bot)  

# Features βš™οΈ
- Completely offline
- Multiple voices
- Automatic stress with priority queue: `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](https://send.monobank.ua/jar/48iHq4xAXm)  
For collaboration and questions please contact me here:  
[Telegram https://t.me/robinhad](https://t.me/robinhad)  
[Twitter https://twitter.com/robinhad](https://twitter.com/robinhad)  
You're welcome to join UA Speech Recognition and Synthesis community: [Telegram https://t.me/speech_recognition_uk](https://t.me/speech_recognition_uk)
# Examples πŸ€–

`Tetiana (female)`:

https://user-images.githubusercontent.com/5759207/224504324-d8236cad-7302-4dfd-9696-7a42b9f05fce.mp4


<details>
  <summary>More voices πŸ“’πŸ€–</summary>

`Dmytro (male)`:

https://user-images.githubusercontent.com/5759207/224504354-f84f74d3-fa46-497c-9604-4b63ba45989f.mp4


`Lada (female)`:

https://user-images.githubusercontent.com/5759207/224504360-ec198ac2-647c-4238-99ef-b6f074d633fd.mp4


`Mykyta (male)`:

https://user-images.githubusercontent.com/5759207/224504363-0227e8bf-8c1c-49ad-8602-8cbf8feaa82b.mp4

</details>


# How to use: πŸ“’

See example notebook: [tts_example.ipynb](./tts_example.ipynb)  [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/robinhad/ukrainian-tts/blob/main/tts_example.ipynb)

# How to train: πŸ‹οΈ
Link to guide: [training/STEPS.md](training/STEPS.md)


# Attribution 🀝

- Model training - [Yurii Paniv @robinhad](https://github.com/robinhad)   
- [Open Source Ukrainian Text-to-Speech dataset](https://github.com/egorsmkv/ukrainian-tts-datasets) - [Yehor Smoliakov @egorsmkv](https://github.com/egorsmkv)   
- Dmytro voice - [Dmytro Chaplynskyi @dchaplinsky](https://github.com/dchaplinsky)  
- Silence cutting using [HMM-GMM](https://github.com/proger/uk) - [Volodymyr Kyrylov @proger](https://github.com/proger)  
- Autostress (with dictionary) using [ukrainian-word-stress](https://github.com/lang-uk/ukrainian-word-stress) - [Oleksiy Syvokon @asivokon](https://github.com/asivokon)    
- Autostress (with model) using [ukrainian-accentor](https://github.com/egorsmkv/ukrainian-accentor) - [Bohdan Mykhailenko @NeonBohdan](https://github.com/NeonBohdan) + [Yehor Smoliakov @egorsmkv](https://github.com/egorsmkv)