Text-to-Speech
Piper
ONNX
tts
voaice
voice
mindx
File size: 18,321 Bytes
11c19eb
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
---
license: other
license_name: per-voice-open-licences
license_link: https://huggingface.co/PYTHAI/voaice/blob/main/piper/LICENSE.md
tags: [text-to-speech, tts, piper, onnx, voaice, voice, mindx]
language: ["bn", "ca", "cs", "de", "el", "en", "es", "et", "eu", "fa", "fi", "fr", "hy", "it", "kk", "lt", "lv", "mr", "ne", "nl", "no", "pl", "pt", "sl", "sv", "te", "uk", "ur", "zh"]
library_name: piper
pipeline_tag: text-to-speech
---

# voaice

**The voice of an AI, written down and checkable.** voaice is the voice stack of [mindX](https://mindx.pythai.net):
speech in, speech out, measured throughout. It gives a machine a voice, says the realm's names the way their
owners say them, and proves which voice made a recording.

This repository is voaice's **voice library**: 70 open-licensed [Piper](https://github.com/rhasspy/piper)
voices in 29 language families (4.62 GB), kept here so a mindX node holds only the voices it
speaks with and fetches any other on demand.

## Free for anyone to use

The voices in [`piper/`](piper/) are here **for anyone to use**: download one, run it with
[Piper](https://github.com/rhasspy/piper), build on it. Each voice keeps its own open licence, the licence of the
dataset its speakers recorded, and the folder's [official licences](piper/LICENSE.md) list every voice under its
licence with a link to the legal code. They are **Piper's voices**, not ours: credit Piper and the dataset named in
each voice's `MODEL_CARD`.

## What voaice is

| part | what it does | code |
|---|---|---|
| **the stack** | in-house DSP, torch-free neural TTS and zero-shot cloning, a non-destructive editor, quality-tiered WAV/OGG export, the `/voicey` surface | [Professor-Codephreak/voaice](https://github.com/Professor-Codephreak/voaice) |
| **identity** | a `.voaice` is a voice's identity card: model, measurements, and an 18-decimal **vprint** (eight acoustic metrics, SHA-256/512, uint256) that Python and the browser compute identically | [cryptoAGI/voaice](https://github.com/cryptoAGI/voaice) |
| **pronunciation** | one respelling table every engine applies to the text it speaks: realm names, then the bankML register (scientific, technical, financial), each entry measured with espeak-ng and versioned | [PRONUNCIATION.md](https://github.com/cryptoAGI/voaice/blob/main/PRONUNCIATION.md) |
| **OVERLORD** | the voice of the OVERLORD: two neural voices in unison, aligned frame by frame (DTW + WSOLA, residual lag 0–10 ms), with an octave and a fifth below, presence harmonics and a diffuse hall without a single echo | [hear v3](https://deltaverse.pythai.net/audio/samples/overlord-v3-presence.opus) |
| **this library** | the open piper voices, unchanged, with their licences and cards | here |

voaice is the **voice** peer of [faicey](https://github.com/Professor-Codephreak/faicey) (the face); with a
`.persona` they compose [aivatar](https://github.com/Professor-Codephreak/aivatar), a person's AI model that looks,
speaks and thinks. Staged together the suite is **ollywoo**, the Hollywood of AI avatars, inside the
[DeltaVerse](https://deltaverse.pythai.net), where **irecto** (the director) deploys the finished personas.

## Hear it

- [rage.pythai.net](https://rage.pythai.net): every article read aloud from pre-rendered audio. Press LISTEN for
  the audio deck; [OVERLORD of the DeltaVerse](https://rage.pythai.net/overlord-of-the-deltaverse/) opens in the
  OVERLORD voice, and [Three readers, one voice](https://rage.pythai.net/three-readers-one-voice/) explains the readers.
- [**playdocs**](https://deltaverse.pythai.net/playdocs): any document read in any voice of the cast, with a voice studio,
  a waveform editor and device rendering. A voice your machine can speak as itself is synthesised and encoded on your
  own processor, inside a budget you set (processor, memory and graphics, 0–100 % to 18 decimals); the host renders
  the rest.
- [deltaverse.pythai.net/voices](https://deltaverse.pythai.net/voices): the cast · [/listen](https://deltaverse.pythai.net/listen): the reader.
- [The render ledger](https://deltaverse.pythai.net/audio/ledger.txt): every rendered article, measured — duration against word count, bytes against duration, said right or said wrong.

## Use a voice

```python
from huggingface_hub import hf_hub_download
onnx = hf_hub_download("PYTHAI/voaice", "piper/en_US/ryan/high/en_US-ryan-high.onnx")
cfg  = hf_hub_download("PYTHAI/voaice", "piper/en_US/ryan/high/en_US-ryan-high.onnx.json")
# echo "Hello" | piper --model <onnx> --output_file out.wav
```

Or with voaice's own fetcher, which refuses any voice not classed open and checks every file's md5:
`python3 voaice/scripts/piper_voices_hub.py fetch en_US-ryan-high`.

## Attribution: these voices are Piper's

Every voice here was trained and published by the **Piper** project and its contributors:
[rhasspy/piper](https://github.com/rhasspy/piper) (Michael Hansen and contributors; Piper is MIT-licensed). They
are redistributed **unchanged** from [rhasspy/piper-voices](https://huggingface.co/rhasspy/piper-voices). Each voice keeps the licence of the
dataset its speakers recorded, and the original `MODEL_CARD` (dataset, licence, training notes) sits beside every
model exactly as upstream ships it. When you use a voice, credit the dataset named in its card and Piper.
See [`LICENSE.md`](LICENSE.md) (licences grouped) and [`NOTICE`](NOTICE).

## Only open licences, and why most English voices are missing

Of the 177 voices in the upstream catalogue, a voice is carried here only if **both** its own licence and,
when it is "fine-tuned from" another voice, its parent's are open: CC0, public domain, CC BY, CC BY-SA,
Apache-2.0, MIT, Unlicense or GPL/AGPL. The following are left out:

- non-commercial voices (CC BY-NC);
- the lessac / CSTR Blizzard 2013 research-only voices, and every voice **fine-tuned from lessac**, which is most of the English ones;
- voices whose licence reads only "See URL" or "Unknown".

The full classification of all 177 voices, with the licence text each decision was read from, is
[`piper-voices.json`](piper-voices.json). Copyleft voices (GPL, AGPL, CC BY-SA) keep their share-alike terms in
anything built from them. If a classification is wrong, or you hold an excluded voice whose terms allow
redistribution, open a discussion.

## The voices

English 11 · Dutch 7 · French 5 · Spanish 5 · Ukrainian 5 · German 4 · Kazakh 3 · Basque 2 · Catalan 2 · Farsi 2 · Greek 2 · Italian 2 · Swedish 2 · Telugu 2 · Urdu 2 · Armenian 1 · Bengali 1 · Chinese 1 · Czech 1 · Estonian 1 · Finnish 1 · Latvian 1 · Lithuanian 1 · Marathi 1 · Nepali 1 · Norwegian 1 · Polish 1 · Portuguese 1 · Slovenian 1

`piper/<locale>/<voice>/<quality>/` holds `<key>.onnx`, `<key>.onnx.json` and `MODEL_CARD`: the upstream tree minus
the language-family directory, every file matching the md5 upstream publishes in `voices.json`.

| voice | language | quality | speakers | licence (from the card) | upstream |
|---|---|---|---|---|---|
| `bn_BD-google-medium` | Bengali | medium | 16 | Attribution-ShareAlike 4.0 International | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/bn/bn_BD/google/medium/MODEL_CARD) |
| `ca_ES-upc_ona-x_low` | Catalan | x_low | 1 | CC BY-SA 3.0 ES | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/ca/ca_ES/upc_ona/x_low/MODEL_CARD) |
| `ca_ES-upc_pau-x_low` | Catalan | x_low | 1 | CC BY-SA 3.0 ES | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/ca/ca_ES/upc_pau/x_low/MODEL_CARD) |
| `cs_CZ-kasandra-medium` | Czech | medium | 1 | Creative Commons Attribution 4.0 International (CC BY 4.0) | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/cs/cs_CZ/kasandra/medium/MODEL_CARD) |
| `de_DE-kerstin-low` | German | low | 1 | CC0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/de/de_DE/kerstin/low/MODEL_CARD) |
| `de_DE-mls-medium` | German | medium | 236 | CC-BY 4.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/de/de_DE/mls/medium/MODEL_CARD) |
| `de_DE-thorsten-low` | German | low | 1 | CC0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/de/de_DE/thorsten/low/MODEL_CARD) |
| `de_DE-thorsten_emotional-medium` | German | medium | 8 | CC0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/de/de_DE/thorsten_emotional/medium/MODEL_CARD) |
| `el_GR-rapunzelina-low` | Greek | low | 1 | CC0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/el/el_GR/rapunzelina/low/MODEL_CARD) |
| `el_GR-rapunzelina-medium` | Greek | medium | 1 | CC0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/el/el_GR/rapunzelina/medium/MODEL_CARD) |
| `en_GB-cori-high` | English | high | 1 | public domain | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/en/en_GB/cori/high/MODEL_CARD) |
| `en_GB-cori-medium` | English | medium | 1 | public domain | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/en/en_GB/cori/medium/MODEL_CARD) |
| `en_GB-southern_english_female-low` | English | low | 1 | CC-BY-SA 4.0 International | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/en/en_GB/southern_english_female/low/MODEL_CARD) |
| `en_US-bryce-medium` | English | medium | 1 | public domain | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/en/en_US/bryce/medium/MODEL_CARD) |
| `en_US-john-medium` | English | medium | 1 | public domain | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/en/en_US/john/medium/MODEL_CARD) |
| `en_US-kathleen-low` | English | low | 1 | CC0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/en/en_US/kathleen/low/MODEL_CARD) |
| `en_US-kristin-medium` | English | medium | 1 | public domain | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/en/en_US/kristin/medium/MODEL_CARD) |
| `en_US-libritts-high` | English | high | 904 | CC BY 4.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/en/en_US/libritts/high/MODEL_CARD) |
| `en_US-ljspeech-high` | English | high | 1 | public domain | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/en/en_US/ljspeech/high/MODEL_CARD) |
| `en_US-ljspeech-medium` | English | medium | 1 | public domain | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/en/en_US/ljspeech/medium/MODEL_CARD) |
| `en_US-norman-medium` | English | medium | 1 | public domain | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/en/en_US/norman/medium/MODEL_CARD) |
| `es_ES-carlfm-x_low` | Spanish | x_low | 1 | Public domain | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/es/es_ES/carlfm/x_low/MODEL_CARD) |
| `es_ES-mls_10246-low` | Spanish | low | 1 | CC BY 4.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/es/es_ES/mls_10246/low/MODEL_CARD) |
| `es_ES-mls_9972-low` | Spanish | low | 1 | CC BY 4.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/es/es_ES/mls_9972/low/MODEL_CARD) |
| `es_MX-ald-medium` | Spanish | medium | 1 | http://unlicense.org | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/es/es_MX/ald/medium/MODEL_CARD) |
| `es_MX-claude-high` | Spanish | high | 1 | apache-2.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/es/es_MX/claude/high/MODEL_CARD) |
| `et_EE-news-medium` | Estonian | medium | 4 | CC-BY (META-SHARE "Available - Unrestricted Use") | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/et/et_EE/news/medium/MODEL_CARD) |
| `eu_ES-antton-medium` | Basque | medium | 1 | Creative Commons Attribution 4.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/eu/eu_ES/antton/medium/MODEL_CARD) |
| `eu_ES-maider-medium` | Basque | medium | 1 | Creative Commons Attribution 4.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/eu/eu_ES/maider/medium/MODEL_CARD) |
| `fa_IR-ganji-medium` | Farsi | medium | 1 | CC0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/fa/fa_IR/ganji/medium/MODEL_CARD) |
| `fa_IR-ganji_adabi-medium` | Farsi | medium | 1 | CC0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/fa/fa_IR/ganji_adabi/medium/MODEL_CARD) |
| `fi_FI-harri-low` | Finnish | low | 1 | CC0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/fi/fi_FI/harri/low/MODEL_CARD) |
| `fr_FR-gilles-low` | French | low | 1 | CC0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/fr/fr_FR/gilles/low/MODEL_CARD) |
| `fr_FR-mls-medium` | French | medium | 125 | CC-BY 4.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/fr/fr_FR/mls/medium/MODEL_CARD) |
| `fr_FR-mls_1840-low` | French | low | 1 | CC BY 4.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/fr/fr_FR/mls_1840/low/MODEL_CARD) |
| `fr_FR-siwis-low` | French | low | 1 | CC-BY 4.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/fr/fr_FR/siwis/low/MODEL_CARD) |
| `fr_FR-tom-medium` | French | medium | 1 | AGPLv3 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/fr/fr_FR/tom/medium/MODEL_CARD) |
| `hy_AM-gor-medium` | Armenian | medium | 1 | GPL 2.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/hy/hy_AM/gor/medium/MODEL_CARD) |
| `it_IT-serena-high` | Italian | high | 1 | CC-BY-4.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/it/it_IT/serena/high/MODEL_CARD) |
| `it_IT-serena-medium` | Italian | medium | 1 | CC-BY-4.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/it/it_IT/serena/medium/MODEL_CARD) |
| `kk_KZ-iseke-x_low` | Kazakh | x_low | 1 | CC-BY-4.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/kk/kk_KZ/iseke/x_low/MODEL_CARD) |
| `kk_KZ-issai-high` | Kazakh | high | 6 | CC-BY-4.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/kk/kk_KZ/issai/high/MODEL_CARD) |
| `kk_KZ-raya-x_low` | Kazakh | x_low | 1 | CC-BY-4.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/kk/kk_KZ/raya/x_low/MODEL_CARD) |
| `lt_LT-reginute1-medium` | Lithuanian | medium | 1 | CC-BY-4.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/lt/lt_LT/reginute1/medium/MODEL_CARD) |
| `lv_LV-aivars-medium` | Latvian | medium | 1 | CC0 1.0 Universal | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/lv/lv_LV/aivars/medium/MODEL_CARD) |
| `mr_IN-google-medium` | Marathi | medium | 9 | Attribution-ShareAlike 4.0 International | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/mr/mr_IN/google/medium/MODEL_CARD) |
| `ne_NP-google-x_low` | Nepali | x_low | 18 | CC-BY-SA-4.0 International | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/ne/ne_NP/google/x_low/MODEL_CARD) |
| `nl_BE-nathalie-x_low` | Dutch | x_low | 1 | CC0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/nl/nl_BE/nathalie/x_low/MODEL_CARD) |
| `nl_BE-rdh-medium` | Dutch | medium | 1 | CC0 1.0 Universal | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/nl/nl_BE/rdh/medium/MODEL_CARD) |
| `nl_BE-rdh-x_low` | Dutch | x_low | 1 | CC0 1.0 Universal | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/nl/nl_BE/rdh/x_low/MODEL_CARD) |
| `nl_NL-alex-medium` | Dutch | medium | 1 | CC0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/nl/nl_NL/alex/medium/MODEL_CARD) |
| `nl_NL-mls-medium` | Dutch | medium | 52 | CC-BY 4.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/nl/nl_NL/mls/medium/MODEL_CARD) |
| `nl_NL-mls_5809-low` | Dutch | low | 1 | CC BY 4.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/nl/nl_NL/mls_5809/low/MODEL_CARD) |
| `nl_NL-mls_7432-low` | Dutch | low | 1 | CC BY 4.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/nl/nl_NL/mls_7432/low/MODEL_CARD) |
| `no_NO-nvcc-medium` | Norwegian | medium | 10 | CC0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/no/no_NO/nvcc/medium/MODEL_CARD) |
| `pl_PL-mls_6892-low` | Polish | low | 1 | CC BY 4.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/pl/pl_PL/mls_6892/low/MODEL_CARD) |
| `pt_BR-edresson-low` | Portuguese | low | 1 | CC BY 4.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/pt/pt_BR/edresson/low/MODEL_CARD) |
| `sl_SI-artur-medium` | Slovenian | medium | 1 | https://creativecommons.org/licenses/by/4.0/ | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/sl/sl_SI/artur/medium/MODEL_CARD) |
| `sv_SE-alma-medium` | Swedish | medium | 1 | The model weights are released under CC BY 4.0, following the license  | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/sv/sv_SE/alma/medium/MODEL_CARD) |
| `sv_SE-nst-medium` | Swedish | medium | 1 | CC0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/sv/sv_SE/nst/medium/MODEL_CARD) |
| `te_IN-padmavathi-medium` | Telugu | medium | 1 | CC-BY-4.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/te/te_IN/padmavathi/medium/MODEL_CARD) |
| `te_IN-venkatesh-medium` | Telugu | medium | 1 | CC-BY-4.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/te/te_IN/venkatesh/medium/MODEL_CARD) |
| `uk_UA-lada-x_low` | Ukrainian | x_low | 1 | Apache 2.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/uk/uk_UA/lada/x_low/MODEL_CARD) |
| `uk_UA-mykyta-high` | Ukrainian | high | 1 | Apache 2.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/uk/uk_UA/mykyta/high/MODEL_CARD) |
| `uk_UA-oleksa-high` | Ukrainian | high | 1 | Apache 2.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/uk/uk_UA/oleksa/high/MODEL_CARD) |
| `uk_UA-tetiana-high` | Ukrainian | high | 1 | Apache 2.0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/uk/uk_UA/tetiana/high/MODEL_CARD) |
| `uk_UA-ukrainian_tts-medium` | Ukrainian | medium | 3 | CC0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/uk/uk_UA/ukrainian_tts/medium/MODEL_CARD) |
| `ur_PK-aegis_female-medium` | Urdu | medium | 1 | mit | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/ur/ur_PK/aegis_female/medium/MODEL_CARD) |
| `ur_PK-fasih-medium` | Urdu | medium | 1 | mit | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/ur/ur_PK/fasih/medium/MODEL_CARD) |
| `zh_CN-chaowen-medium` | Chinese | medium | 1 | CC0 | [card](https://huggingface.co/rhasspy/piper-voices/blob/main/zh/zh_CN/chaowen/medium/MODEL_CARD) |