File size: 3,934 Bytes
9c86155
 
06a4abd
3a8ff8c
 
9c86155
6449e88
3502c7a
9c86155
 
 
 
1647edb
6449e88
1647edb
e4b5b28
 
434fefe
2b6da0d
 
f31d0fc
0660089
312c1fb
eb73539
 
8812d27
 
ae5837a
c7454f8
9c12f1a
ae5837a
 
 
 
 
 
 
ca51157
 
26f7d46
 
 
a163565
ca51157
ab45ce0
8812d27
 
 
1c7c61b
 
b6afb4a
 
 
 
 
 
1c7c61b
 
 
 
 
 
 
 
 
 
 
 
 
ab45ce0
b6afb4a
 
 
ca51157
434fefe
d3459a5
1647edb
06a4abd
6449e88
eb8c82c
 
06a4abd
e80835d
 
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
86
87
88
89
90
---
title: "Ukrainian TTS"
emoji: 🐌
colorFrom: blue
colorTo: yellow
sdk: gradio
sdk_version : 3.12
python_version: 3.9
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 give your 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)  

Code is licensed under `MIT License`, models are under `GNU GPL v3 License`. 

# Features βš™οΈ
- Completely offline
- Multiple voices
- Automatic stress with priority queue: `user-defined` > `dictionary` > `model`
- Control speech speed
- Python package works on Windows, Mac, Linux
- 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 question 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 πŸ€–


`Olena (female)`:

https://user-images.githubusercontent.com/5759207/190852238-366782c1-9472-45fc-8fea-31346242f927.mp4

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

`Mykyta (male)`:

https://user-images.githubusercontent.com/5759207/190852232-34956a1d-77a9-42b9-b96d-39d0091e3e34.mp4

`Dmytro (male)`:

https://user-images.githubusercontent.com/5759207/190852251-db105567-52ba-47b5-8ec6-5053c3baac8c.mp4

`Olha (female)`:

https://user-images.githubusercontent.com/5759207/190852259-c6746172-05c4-4918-8286-a459c654eef1.mp4

`Lada (female)`:


https://user-images.githubusercontent.com/5759207/190852270-7aed2db9-dc08-4a9f-8775-07b745657ca1.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: πŸ‹οΈ
TBD


# Attribution 🀝

- Model training - [Yurii Paniv @robinhad](https://github.com/robinhad)   
- Mykyta, Olena, Lada, Dmytro, Olha dataset - [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)