Commit ·
3d735e1
1
Parent(s): f59ea02
Add model files
Browse files- README.md +194 -0
- config.yaml +92 -0
- model.onnx +3 -0
README.md
ADDED
|
@@ -0,0 +1,194 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
tags:
|
| 3 |
+
- audio
|
| 4 |
+
- text-to-speech
|
| 5 |
+
- onnx
|
| 6 |
+
inference: false
|
| 7 |
+
language: en
|
| 8 |
+
datasets:
|
| 9 |
+
- CSTR-Edinburgh/vctk
|
| 10 |
+
license: apache-2.0
|
| 11 |
+
library_name: txtai
|
| 12 |
+
---
|
| 13 |
+
|
| 14 |
+
# ESPnet VITS Text-to-Speech (TTS) Model for ONNX
|
| 15 |
+
|
| 16 |
+
[espnet/kan-bayashi_vctk_vits](https://huggingface.co/espnet/kan-bayashi_vctk_tts_train_multi_spk_vits_raw_phn_tacotron_g2p_en_no_space_train.total_count.ave) exported to ONNX. This model is an ONNX export using the [espnet_onnx](https://github.com/espnet/espnet_onnx) library.
|
| 17 |
+
|
| 18 |
+
## Usage with txtai
|
| 19 |
+
|
| 20 |
+
[txtai](https://github.com/neuml/txtai) has a built in Text to Speech (TTS) pipeline that makes using this model easy.
|
| 21 |
+
|
| 22 |
+
_Note the following example requires txtai >= 7.5_
|
| 23 |
+
|
| 24 |
+
```python
|
| 25 |
+
import soundfile as sf
|
| 26 |
+
|
| 27 |
+
from txtai.pipeline import TextToSpeech
|
| 28 |
+
|
| 29 |
+
# Build pipeline
|
| 30 |
+
tts = TextToSpeech("NeuML/vctk-vits-onnx")
|
| 31 |
+
|
| 32 |
+
# Generate speech with speaker id
|
| 33 |
+
speech = tts("Say something here", speaker=42)
|
| 34 |
+
|
| 35 |
+
# Write to file
|
| 36 |
+
sf.write("out.wav", speech, 22050)
|
| 37 |
+
```
|
| 38 |
+
|
| 39 |
+
## Usage with ONNX
|
| 40 |
+
|
| 41 |
+
This model can also be run directly with ONNX provided the input text is tokenized. Tokenization can be done with [ttstokenizer](https://github.com/neuml/ttstokenizer).
|
| 42 |
+
|
| 43 |
+
Note that the txtai pipeline has additional functionality such as batching large inputs together that would need to be duplicated with this method.
|
| 44 |
+
|
| 45 |
+
```python
|
| 46 |
+
import numpy as np
|
| 47 |
+
import onnxruntime
|
| 48 |
+
import soundfile as sf
|
| 49 |
+
import yaml
|
| 50 |
+
|
| 51 |
+
from ttstokenizer import TTSTokenizer
|
| 52 |
+
|
| 53 |
+
# This example assumes the files have been downloaded locally
|
| 54 |
+
with open("vctk-vits-onnx/config.yaml", "r", encoding="utf-8") as f:
|
| 55 |
+
config = yaml.safe_load(f)
|
| 56 |
+
|
| 57 |
+
# Create model
|
| 58 |
+
model = onnxruntime.InferenceSession(
|
| 59 |
+
"vctk-vits-onnx/model.onnx",
|
| 60 |
+
providers=["CPUExecutionProvider"]
|
| 61 |
+
)
|
| 62 |
+
|
| 63 |
+
# Create tokenizer
|
| 64 |
+
tokenizer = TTSTokenizer(config["token"]["list"])
|
| 65 |
+
|
| 66 |
+
# Tokenize inputs
|
| 67 |
+
inputs = tokenizer("Say something here")
|
| 68 |
+
|
| 69 |
+
# Generate speech
|
| 70 |
+
outputs = model.run(None, {"text": inputs, "sids": np.array([42])})
|
| 71 |
+
|
| 72 |
+
# Write to file
|
| 73 |
+
sf.write("out.wav", outputs[0], 22050)
|
| 74 |
+
```
|
| 75 |
+
|
| 76 |
+
## How to export
|
| 77 |
+
|
| 78 |
+
More information on how to export ESPnet models to ONNX can be [found here](https://github.com/espnet/espnet_onnx#text2speech-inference).
|
| 79 |
+
|
| 80 |
+
## Speaker reference
|
| 81 |
+
|
| 82 |
+
The [CSTR VCTK Corpus](https://datashare.ed.ac.uk/handle/10283/3443) includes speech data uttered by native speakers of English with various accents.
|
| 83 |
+
|
| 84 |
+
When using this model, set a `speaker` id from the reference table below. The `ref` column corresponds to the id in the VCTK dataset.
|
| 85 |
+
|
| 86 |
+
| SPEAKER | REF | AGE | GENDER | ACCENTS | REGION |
|
| 87 |
+
|----------:|-----:|------:|:---------|:---------------|:-----------------|
|
| 88 |
+
| 1 | 225 | 23 | F | English | Southern England |
|
| 89 |
+
| 2 | 226 | 22 | M | English | Surrey |
|
| 90 |
+
| 3 | 227 | 38 | M | English | Cumbria |
|
| 91 |
+
| 4 | 228 | 22 | F | English | Southern England |
|
| 92 |
+
| 5 | 229 | 23 | F | English | Southern England |
|
| 93 |
+
| 6 | 230 | 22 | F | English | Stockton-on-tees |
|
| 94 |
+
| 7 | 231 | 23 | F | English | Southern England |
|
| 95 |
+
| 8 | 232 | 23 | M | English | Southern England |
|
| 96 |
+
| 9 | 233 | 23 | F | English | Staffordshire |
|
| 97 |
+
| 10 | 234 | 22 | F | Scottish | West Dumfries |
|
| 98 |
+
| 11 | 236 | 23 | F | English | Manchester |
|
| 99 |
+
| 12 | 237 | 22 | M | Scottish | Fife |
|
| 100 |
+
| 13 | 238 | 22 | F | Northern Irish | Belfast |
|
| 101 |
+
| 14 | 239 | 22 | F | English | SW England |
|
| 102 |
+
| 15 | 240 | 21 | F | English | Southern England |
|
| 103 |
+
| 16 | 241 | 21 | M | Scottish | Perth |
|
| 104 |
+
| 17 | 243 | 22 | M | English | London |
|
| 105 |
+
| 18 | 244 | 22 | F | English | Manchester |
|
| 106 |
+
| 19 | 245 | 25 | M | Irish | Dublin |
|
| 107 |
+
| 20 | 246 | 22 | M | Scottish | Selkirk |
|
| 108 |
+
| 21 | 247 | 22 | M | Scottish | Argyll |
|
| 109 |
+
| 22 | 248 | 23 | F | Indian | |
|
| 110 |
+
| 23 | 249 | 22 | F | Scottish | Aberdeen |
|
| 111 |
+
| 24 | 250 | 22 | F | English | SE England |
|
| 112 |
+
| 25 | 251 | 26 | M | Indian | |
|
| 113 |
+
| 26 | 252 | 22 | M | Scottish | Edinburgh |
|
| 114 |
+
| 27 | 253 | 22 | F | Welsh | Cardiff |
|
| 115 |
+
| 28 | 254 | 21 | M | English | Surrey |
|
| 116 |
+
| 29 | 255 | 19 | M | Scottish | Galloway |
|
| 117 |
+
| 30 | 256 | 24 | M | English | Birmingham |
|
| 118 |
+
| 31 | 257 | 24 | F | English | Southern England |
|
| 119 |
+
| 32 | 258 | 22 | M | English | Southern England |
|
| 120 |
+
| 33 | 259 | 23 | M | English | Nottingham |
|
| 121 |
+
| 34 | 260 | 21 | M | Scottish | Orkney |
|
| 122 |
+
| 35 | 261 | 26 | F | Northern Irish | Belfast |
|
| 123 |
+
| 36 | 262 | 23 | F | Scottish | Edinburgh |
|
| 124 |
+
| 37 | 263 | 22 | M | Scottish | Aberdeen |
|
| 125 |
+
| 38 | 264 | 23 | F | Scottish | West Lothian |
|
| 126 |
+
| 39 | 265 | 23 | F | Scottish | Ross |
|
| 127 |
+
| 40 | 266 | 22 | F | Irish | Athlone |
|
| 128 |
+
| 41 | 267 | 23 | F | English | Yorkshire |
|
| 129 |
+
| 42 | 268 | 23 | F | English | Southern England |
|
| 130 |
+
| 43 | 269 | 20 | F | English | Newcastle |
|
| 131 |
+
| 44 | 270 | 21 | M | English | Yorkshire |
|
| 132 |
+
| 45 | 271 | 19 | M | Scottish | Fife |
|
| 133 |
+
| 46 | 272 | 23 | M | Scottish | Edinburgh |
|
| 134 |
+
| 47 | 273 | 23 | M | English | Suffolk |
|
| 135 |
+
| 48 | 274 | 22 | M | English | Essex |
|
| 136 |
+
| 49 | 275 | 23 | M | Scottish | Midlothian |
|
| 137 |
+
| 50 | 276 | 24 | F | English | Oxford |
|
| 138 |
+
| 51 | 277 | 23 | F | English | NE England |
|
| 139 |
+
| 52 | 278 | 22 | M | English | Cheshire |
|
| 140 |
+
| 53 | 279 | 23 | M | English | Leicester |
|
| 141 |
+
| 54 | 280 | | | Unknown | |
|
| 142 |
+
| 55 | 281 | 29 | M | Scottish | Edinburgh |
|
| 143 |
+
| 56 | 282 | 23 | F | English | Newcastle |
|
| 144 |
+
| 57 | 283 | 24 | F | Irish | Cork |
|
| 145 |
+
| 58 | 284 | 20 | M | Scottish | Fife |
|
| 146 |
+
| 59 | 285 | 21 | M | Scottish | Edinburgh |
|
| 147 |
+
| 60 | 286 | 23 | M | English | Newcastle |
|
| 148 |
+
| 61 | 287 | 23 | M | English | York |
|
| 149 |
+
| 62 | 288 | 22 | F | Irish | Dublin |
|
| 150 |
+
| 63 | 292 | 23 | M | Northern Irish | Belfast |
|
| 151 |
+
| 64 | 293 | 22 | F | Northern Irish | Belfast |
|
| 152 |
+
| 65 | 294 | 33 | F | American | San Francisco |
|
| 153 |
+
| 66 | 295 | 23 | F | Irish | Dublin |
|
| 154 |
+
| 67 | 297 | 20 | F | American | New York |
|
| 155 |
+
| 68 | 298 | 19 | M | Irish | Tipperary |
|
| 156 |
+
| 69 | 299 | 25 | F | American | California |
|
| 157 |
+
| 70 | 300 | 23 | F | American | California |
|
| 158 |
+
| 71 | 301 | 23 | F | American | North Carolina |
|
| 159 |
+
| 72 | 302 | 20 | M | Canadian | Montreal |
|
| 160 |
+
| 73 | 303 | 24 | F | Canadian | Toronto |
|
| 161 |
+
| 74 | 304 | 22 | M | Northern Irish | Belfast |
|
| 162 |
+
| 75 | 305 | 19 | F | American | Philadelphia |
|
| 163 |
+
| 76 | 306 | 21 | F | American | New York |
|
| 164 |
+
| 77 | 307 | 23 | F | Canadian | Ontario |
|
| 165 |
+
| 78 | 308 | 18 | F | American | Alabama |
|
| 166 |
+
| 79 | 310 | 21 | F | American | Tennessee |
|
| 167 |
+
| 80 | 311 | 21 | M | American | Iowa |
|
| 168 |
+
| 81 | 312 | 19 | F | Canadian | Hamilton |
|
| 169 |
+
| 82 | 313 | 24 | F | Irish | County Down |
|
| 170 |
+
| 83 | 314 | 26 | F | South African | Cape Town |
|
| 171 |
+
| 84 | 316 | 20 | M | Canadian | Alberta |
|
| 172 |
+
| 85 | 317 | 23 | F | Canadian | Hamilton |
|
| 173 |
+
| 86 | 318 | 32 | F | American | Napa |
|
| 174 |
+
| 87 | 323 | 19 | F | South African | Pretoria |
|
| 175 |
+
| 88 | 326 | 26 | M | Australian | Sydney |
|
| 176 |
+
| 89 | 329 | 23 | F | American | |
|
| 177 |
+
| 90 | 330 | 26 | F | American | |
|
| 178 |
+
| 91 | 333 | 19 | F | American | Indiana |
|
| 179 |
+
| 92 | 334 | 18 | M | American | Chicago |
|
| 180 |
+
| 93 | 335 | 25 | F | New Zealand | English |
|
| 181 |
+
| 94 | 336 | 18 | F | South African | Johannesburg |
|
| 182 |
+
| 95 | 339 | 21 | F | American | Pennsylvania |
|
| 183 |
+
| 96 | 340 | 18 | F | Irish | Dublin |
|
| 184 |
+
| 97 | 341 | 26 | F | American | Ohio |
|
| 185 |
+
| 98 | 343 | 27 | F | Canadian | Alberta |
|
| 186 |
+
| 99 | 345 | 22 | M | American | Florida |
|
| 187 |
+
| 100 | 347 | 26 | M | South African | Johannesburg |
|
| 188 |
+
| 101 | 351 | 21 | F | Northern Irish | Derry |
|
| 189 |
+
| 102 | 360 | 19 | M | American | New Jersey |
|
| 190 |
+
| 103 | 361 | 19 | F | American | New Jersey |
|
| 191 |
+
| 104 | 362 | 29 | F | American | |
|
| 192 |
+
| 105 | 363 | 22 | M | Canadian | Toronto |
|
| 193 |
+
| 106 | 364 | 23 | M | Irish | Donegal |
|
| 194 |
+
| 107 | 374 | 28 | M | Australian | English |
|
config.yaml
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
normalize:
|
| 2 |
+
use_normalize: false
|
| 3 |
+
text_cleaner:
|
| 4 |
+
cleaner_types:
|
| 5 |
+
- tacotron
|
| 6 |
+
token:
|
| 7 |
+
list:
|
| 8 |
+
- <blank>
|
| 9 |
+
- <unk>
|
| 10 |
+
- AH0
|
| 11 |
+
- T
|
| 12 |
+
- N
|
| 13 |
+
- S
|
| 14 |
+
- R
|
| 15 |
+
- IH1
|
| 16 |
+
- D
|
| 17 |
+
- L
|
| 18 |
+
- .
|
| 19 |
+
- Z
|
| 20 |
+
- DH
|
| 21 |
+
- K
|
| 22 |
+
- W
|
| 23 |
+
- M
|
| 24 |
+
- AE1
|
| 25 |
+
- EH1
|
| 26 |
+
- AA1
|
| 27 |
+
- IH0
|
| 28 |
+
- IY1
|
| 29 |
+
- AH1
|
| 30 |
+
- B
|
| 31 |
+
- P
|
| 32 |
+
- V
|
| 33 |
+
- ER0
|
| 34 |
+
- F
|
| 35 |
+
- HH
|
| 36 |
+
- AY1
|
| 37 |
+
- EY1
|
| 38 |
+
- UW1
|
| 39 |
+
- IY0
|
| 40 |
+
- AO1
|
| 41 |
+
- OW1
|
| 42 |
+
- G
|
| 43 |
+
- ','
|
| 44 |
+
- NG
|
| 45 |
+
- SH
|
| 46 |
+
- Y
|
| 47 |
+
- JH
|
| 48 |
+
- AW1
|
| 49 |
+
- UH1
|
| 50 |
+
- TH
|
| 51 |
+
- ER1
|
| 52 |
+
- CH
|
| 53 |
+
- '?'
|
| 54 |
+
- OW0
|
| 55 |
+
- OW2
|
| 56 |
+
- EH2
|
| 57 |
+
- EY2
|
| 58 |
+
- UW0
|
| 59 |
+
- IH2
|
| 60 |
+
- OY1
|
| 61 |
+
- AY2
|
| 62 |
+
- ZH
|
| 63 |
+
- AW2
|
| 64 |
+
- EH0
|
| 65 |
+
- IY2
|
| 66 |
+
- AA2
|
| 67 |
+
- AE0
|
| 68 |
+
- AH2
|
| 69 |
+
- AE2
|
| 70 |
+
- AO0
|
| 71 |
+
- AO2
|
| 72 |
+
- AY0
|
| 73 |
+
- UW2
|
| 74 |
+
- UH2
|
| 75 |
+
- AA0
|
| 76 |
+
- AW0
|
| 77 |
+
- EY0
|
| 78 |
+
- '!'
|
| 79 |
+
- UH0
|
| 80 |
+
- ER2
|
| 81 |
+
- OY2
|
| 82 |
+
- ''''
|
| 83 |
+
- OY0
|
| 84 |
+
- <sos/eos>
|
| 85 |
+
tokenizer:
|
| 86 |
+
g2p_type: g2p_en_no_space
|
| 87 |
+
token_type: phn
|
| 88 |
+
tts_model:
|
| 89 |
+
model_path: espnet/kan-bayashi_vctk_tts_train_multi_spk_vits_raw_phn_tacotron_g2p_en_no_space_train.total_count.ave/full/vits.onnx
|
| 90 |
+
model_type: VITS
|
| 91 |
+
vocoder:
|
| 92 |
+
vocoder_type: not_used
|
model.onnx
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:0e17774c62e9472bcaea260d6aa3c89570972c1dec34847893696412b58940d2
|
| 3 |
+
size 145025514
|