Fangjun Kuang
Committed by GitHub

Add more piper tts models (#2480)

@@ -331,7 +331,7 @@ jobs: @@ -331,7 +331,7 @@ jobs:
331 git lfs track ur_dict yue_dict 331 git lfs track ur_dict yue_dict
332 332
333 333
334 - cp -a ../$d ./ 334 + cp -a ../$d/* ./
335 335
336 git add . 336 git add .
337 337
@@ -146,6 +146,20 @@ jobs: @@ -146,6 +146,20 @@ jobs:
146 vits-piper-hi_IN-pratham-medium 146 vits-piper-hi_IN-pratham-medium
147 vits-piper-hi_IN-priyamvada-medium 147 vits-piper-hi_IN-priyamvada-medium
148 vits-piper-es_AR-daniela-high 148 vits-piper-es_AR-daniela-high
  149 + vits-piper-en_GB-miro-high
  150 + vits-piper-en_GB-dii-high
  151 + vits-piper-pt_PT-miro-high
  152 + vits-piper-pt_PT-dii-high
  153 + vits-piper-pt_BR-miro-high
  154 + vits-piper-pt_BR-dii-high
  155 + vits-piper-es_ES-miro-high
  156 + vits-piper-it_IT-miro-high
  157 + vits-piper-it_IT-dii-high
  158 + vits-piper-nl_NL-miro-high
  159 + vits-piper-nl_NL-dii-high
  160 + vits-piper-de_DE-miro-high
  161 + vits-piper-fr_FR-miro-high
  162 + vits-piper-en_US-miro-high
149 ) 163 )
150 for d in ${dirs[@]}; do 164 for d in ${dirs[@]}; do
151 src=scripts/piper/release/$d 165 src=scripts/piper/release/$d
@@ -144,7 +144,7 @@ jobs: @@ -144,7 +144,7 @@ jobs:
144 export PATH=/c/hostedtoolcache/windows/Python/3.10.11/x64/bin:$PATH 144 export PATH=/c/hostedtoolcache/windows/Python/3.10.11/x64/bin:$PATH
145 export PATH=/c/hostedtoolcache/windows/Python/3.11.9/x64/bin:$PATH 145 export PATH=/c/hostedtoolcache/windows/Python/3.11.9/x64/bin:$PATH
146 export PATH=/c/hostedtoolcache/windows/Python/3.12.10/x64/bin:$PATH 146 export PATH=/c/hostedtoolcache/windows/Python/3.12.10/x64/bin:$PATH
147 - export PATH=/c/hostedtoolcache/windows/Python/3.13.3/x64/bin:$PATH 147 + export PATH=/c/hostedtoolcache/windows/Python/3.13.5/x64/bin:$PATH
148 148
149 which sherpa-onnx 149 which sherpa-onnx
150 sherpa-onnx --help 150 sherpa-onnx --help
@@ -117,7 +117,7 @@ jobs: @@ -117,7 +117,7 @@ jobs:
117 export PATH=/c/hostedtoolcache/windows/Python/3.10.11/x64/bin:$PATH 117 export PATH=/c/hostedtoolcache/windows/Python/3.10.11/x64/bin:$PATH
118 export PATH=/c/hostedtoolcache/windows/Python/3.11.9/x64/bin:$PATH 118 export PATH=/c/hostedtoolcache/windows/Python/3.11.9/x64/bin:$PATH
119 export PATH=/c/hostedtoolcache/windows/Python/3.12.10/x64/bin:$PATH 119 export PATH=/c/hostedtoolcache/windows/Python/3.12.10/x64/bin:$PATH
120 - export PATH=/c/hostedtoolcache/windows/Python/3.13.3/x64/bin:$PATH 120 + export PATH=/c/hostedtoolcache/windows/Python/3.13.5/x64/bin:$PATH
121 121
122 sherpa-onnx --help 122 sherpa-onnx --help
123 sherpa-onnx-keyword-spotter --help 123 sherpa-onnx-keyword-spotter --help
@@ -118,6 +118,7 @@ def get_piper_models() -> List[TtsModel]: @@ -118,6 +118,7 @@ def get_piper_models() -> List[TtsModel]:
118 TtsModel(model_dir="vits-piper-de_DE-eva_k-x_low"), 118 TtsModel(model_dir="vits-piper-de_DE-eva_k-x_low"),
119 TtsModel(model_dir="vits-piper-de_DE-karlsson-low"), 119 TtsModel(model_dir="vits-piper-de_DE-karlsson-low"),
120 TtsModel(model_dir="vits-piper-de_DE-kerstin-low"), 120 TtsModel(model_dir="vits-piper-de_DE-kerstin-low"),
  121 + TtsModel(model_dir="vits-piper-de_DE-miro-high"),
121 # TtsModel(model_dir="vits-piper-de_DE-mls-medium"), 122 # TtsModel(model_dir="vits-piper-de_DE-mls-medium"),
122 TtsModel(model_dir="vits-piper-de_DE-pavoque-low"), 123 TtsModel(model_dir="vits-piper-de_DE-pavoque-low"),
123 TtsModel(model_dir="vits-piper-de_DE-ramona-low"), 124 TtsModel(model_dir="vits-piper-de_DE-ramona-low"),
@@ -138,7 +139,9 @@ def get_piper_models() -> List[TtsModel]: @@ -138,7 +139,9 @@ def get_piper_models() -> List[TtsModel]:
138 TtsModel(model_dir="vits-piper-en_GB-aru-medium"), 139 TtsModel(model_dir="vits-piper-en_GB-aru-medium"),
139 TtsModel(model_dir="vits-piper-en_GB-cori-high"), 140 TtsModel(model_dir="vits-piper-en_GB-cori-high"),
140 TtsModel(model_dir="vits-piper-en_GB-cori-medium"), 141 TtsModel(model_dir="vits-piper-en_GB-cori-medium"),
  142 + TtsModel(model_dir="vits-piper-en_GB-dii-high"),
141 TtsModel(model_dir="vits-piper-en_GB-jenny_dioco-medium"), 143 TtsModel(model_dir="vits-piper-en_GB-jenny_dioco-medium"),
  144 + TtsModel(model_dir="vits-piper-en_GB-miro-high"),
142 TtsModel(model_dir="vits-piper-en_GB-northern_english_male-medium"), 145 TtsModel(model_dir="vits-piper-en_GB-northern_english_male-medium"),
143 TtsModel(model_dir="vits-piper-en_GB-semaine-medium"), 146 TtsModel(model_dir="vits-piper-en_GB-semaine-medium"),
144 TtsModel(model_dir="vits-piper-en_GB-southern_english_female-low"), 147 TtsModel(model_dir="vits-piper-en_GB-southern_english_female-low"),
@@ -168,6 +171,7 @@ def get_piper_models() -> List[TtsModel]: @@ -168,6 +171,7 @@ def get_piper_models() -> List[TtsModel]:
168 TtsModel(model_dir="vits-piper-en_US-libritts_r-medium"), 171 TtsModel(model_dir="vits-piper-en_US-libritts_r-medium"),
169 TtsModel(model_dir="vits-piper-en_US-ljspeech-high"), 172 TtsModel(model_dir="vits-piper-en_US-ljspeech-high"),
170 TtsModel(model_dir="vits-piper-en_US-ljspeech-medium"), 173 TtsModel(model_dir="vits-piper-en_US-ljspeech-medium"),
  174 + TtsModel(model_dir="vits-piper-en_US-miro-high"),
171 TtsModel(model_dir="vits-piper-en_US-norman-medium"), 175 TtsModel(model_dir="vits-piper-en_US-norman-medium"),
172 TtsModel(model_dir="vits-piper-en_US-ryan-high"), 176 TtsModel(model_dir="vits-piper-en_US-ryan-high"),
173 TtsModel(model_dir="vits-piper-en_US-ryan-low"), 177 TtsModel(model_dir="vits-piper-en_US-ryan-low"),
@@ -176,6 +180,7 @@ def get_piper_models() -> List[TtsModel]: @@ -176,6 +180,7 @@ def get_piper_models() -> List[TtsModel]:
176 TtsModel(model_dir="vits-piper-es_ES-carlfm-x_low"), 180 TtsModel(model_dir="vits-piper-es_ES-carlfm-x_low"),
177 TtsModel(model_dir="vits-piper-es_ES-davefx-medium"), 181 TtsModel(model_dir="vits-piper-es_ES-davefx-medium"),
178 TtsModel(model_dir="vits-piper-es_ES-glados-medium"), 182 TtsModel(model_dir="vits-piper-es_ES-glados-medium"),
  183 + TtsModel(model_dir="vits-piper-es_ES-miro-high"),
179 TtsModel(model_dir="vits-piper-es_ES-sharvard-medium"), 184 TtsModel(model_dir="vits-piper-es_ES-sharvard-medium"),
180 TtsModel(model_dir="vits-piper-es_MX-ald-medium"), 185 TtsModel(model_dir="vits-piper-es_MX-ald-medium"),
181 TtsModel(model_dir="vits-piper-es_MX-claude-high"), 186 TtsModel(model_dir="vits-piper-es_MX-claude-high"),
@@ -189,13 +194,14 @@ def get_piper_models() -> List[TtsModel]: @@ -189,13 +194,14 @@ def get_piper_models() -> List[TtsModel]:
189 TtsModel(model_dir="vits-piper-fi_FI-harri-medium"), 194 TtsModel(model_dir="vits-piper-fi_FI-harri-medium"),
190 # TtsModel(model_dir="vits-piper-fr_FR-mls-medium"), 195 # TtsModel(model_dir="vits-piper-fr_FR-mls-medium"),
191 TtsModel(model_dir="vits-piper-fr_FR-gilles-low"), 196 TtsModel(model_dir="vits-piper-fr_FR-gilles-low"),
  197 + TtsModel(model_dir="vits-piper-fr_FR-miro-high"),
192 TtsModel(model_dir="vits-piper-fr_FR-siwis-low"), 198 TtsModel(model_dir="vits-piper-fr_FR-siwis-low"),
193 TtsModel(model_dir="vits-piper-fr_FR-siwis-medium"), 199 TtsModel(model_dir="vits-piper-fr_FR-siwis-medium"),
194 - TtsModel(model_dir="vits-piper-fr_FR-tom-medium"),  
195 - TtsModel(model_dir="vits-piper-fr_FR-upmc-medium"),  
196 TtsModel(model_dir="vits-piper-fr_FR-tjiho-model1"), 200 TtsModel(model_dir="vits-piper-fr_FR-tjiho-model1"),
197 TtsModel(model_dir="vits-piper-fr_FR-tjiho-model2"), 201 TtsModel(model_dir="vits-piper-fr_FR-tjiho-model2"),
198 TtsModel(model_dir="vits-piper-fr_FR-tjiho-model3"), 202 TtsModel(model_dir="vits-piper-fr_FR-tjiho-model3"),
  203 + TtsModel(model_dir="vits-piper-fr_FR-tom-medium"),
  204 + TtsModel(model_dir="vits-piper-fr_FR-upmc-medium"),
199 TtsModel(model_dir="vits-piper-hi_IN-pratham-medium"), 205 TtsModel(model_dir="vits-piper-hi_IN-pratham-medium"),
200 TtsModel(model_dir="vits-piper-hi_IN-priyamvada-medium"), 206 TtsModel(model_dir="vits-piper-hi_IN-priyamvada-medium"),
201 TtsModel(model_dir="vits-piper-hu_HU-anna-medium"), 207 TtsModel(model_dir="vits-piper-hu_HU-anna-medium"),
@@ -205,6 +211,8 @@ def get_piper_models() -> List[TtsModel]: @@ -205,6 +211,8 @@ def get_piper_models() -> List[TtsModel]:
205 TtsModel(model_dir="vits-piper-is_IS-salka-medium"), 211 TtsModel(model_dir="vits-piper-is_IS-salka-medium"),
206 TtsModel(model_dir="vits-piper-is_IS-steinn-medium"), 212 TtsModel(model_dir="vits-piper-is_IS-steinn-medium"),
207 TtsModel(model_dir="vits-piper-is_IS-ugla-medium"), 213 TtsModel(model_dir="vits-piper-is_IS-ugla-medium"),
  214 + TtsModel(model_dir="vits-piper-it_IT-dii-high"),
  215 + TtsModel(model_dir="vits-piper-it_IT-miro-high"),
208 TtsModel(model_dir="vits-piper-it_IT-paola-medium"), 216 TtsModel(model_dir="vits-piper-it_IT-paola-medium"),
209 TtsModel(model_dir="vits-piper-it_IT-riccardo-x_low"), 217 TtsModel(model_dir="vits-piper-it_IT-riccardo-x_low"),
210 TtsModel(model_dir="vits-piper-ka_GE-natia-medium"), 218 TtsModel(model_dir="vits-piper-ka_GE-natia-medium"),
@@ -220,6 +228,8 @@ def get_piper_models() -> List[TtsModel]: @@ -220,6 +228,8 @@ def get_piper_models() -> List[TtsModel]:
220 TtsModel(model_dir="vits-piper-nl_BE-nathalie-x_low"), 228 TtsModel(model_dir="vits-piper-nl_BE-nathalie-x_low"),
221 TtsModel(model_dir="vits-piper-nl_BE-rdh-medium"), 229 TtsModel(model_dir="vits-piper-nl_BE-rdh-medium"),
222 TtsModel(model_dir="vits-piper-nl_BE-rdh-x_low"), 230 TtsModel(model_dir="vits-piper-nl_BE-rdh-x_low"),
  231 + TtsModel(model_dir="vits-piper-nl_NL-miro-high"),
  232 + TtsModel(model_dir="vits-piper-nl_NL-dii-high"),
223 # TtsModel(model_dir="vits-piper-nl_NL-mls-medium"), 233 # TtsModel(model_dir="vits-piper-nl_NL-mls-medium"),
224 # TtsModel(model_dir="vits-piper-nl_NL-mls_5809-low"), 234 # TtsModel(model_dir="vits-piper-nl_NL-mls_5809-low"),
225 # TtsModel(model_dir="vits-piper-nl_NL-mls_7432-low"), 235 # TtsModel(model_dir="vits-piper-nl_NL-mls_7432-low"),
@@ -232,9 +242,13 @@ def get_piper_models() -> List[TtsModel]: @@ -232,9 +242,13 @@ def get_piper_models() -> List[TtsModel]:
232 TtsModel(model_dir="vits-piper-pl_PL-meski_wg_glos-medium"), 242 TtsModel(model_dir="vits-piper-pl_PL-meski_wg_glos-medium"),
233 TtsModel(model_dir="vits-piper-pl_PL-zenski_wg_glos-medium"), 243 TtsModel(model_dir="vits-piper-pl_PL-zenski_wg_glos-medium"),
234 TtsModel(model_dir="vits-piper-pt_BR-cadu-medium"), 244 TtsModel(model_dir="vits-piper-pt_BR-cadu-medium"),
  245 + TtsModel(model_dir="vits-piper-pt_BR-dii-high"),
235 TtsModel(model_dir="vits-piper-pt_BR-edresson-low"), 246 TtsModel(model_dir="vits-piper-pt_BR-edresson-low"),
236 TtsModel(model_dir="vits-piper-pt_BR-faber-medium"), 247 TtsModel(model_dir="vits-piper-pt_BR-faber-medium"),
237 TtsModel(model_dir="vits-piper-pt_BR-jeff-medium"), 248 TtsModel(model_dir="vits-piper-pt_BR-jeff-medium"),
  249 + TtsModel(model_dir="vits-piper-pt_BR-miro-high"),
  250 + TtsModel(model_dir="vits-piper-pt_PT-dii-high"),
  251 + TtsModel(model_dir="vits-piper-pt_PT-miro-high"),
238 TtsModel(model_dir="vits-piper-pt_PT-tugao-medium"), 252 TtsModel(model_dir="vits-piper-pt_PT-tugao-medium"),
239 TtsModel(model_dir="vits-piper-ro_RO-mihai-medium"), 253 TtsModel(model_dir="vits-piper-ro_RO-mihai-medium"),
240 TtsModel(model_dir="vits-piper-ru_RU-denis-medium"), 254 TtsModel(model_dir="vits-piper-ru_RU-denis-medium"),
@@ -249,6 +249,30 @@ def get_es_models(): @@ -249,6 +249,30 @@ def get_es_models():
249 ] 249 ]
250 ) 250 )
251 251
  252 + es_ES.extend(
  253 + [
  254 + PiperModel(
  255 + name="miro",
  256 + kind="high",
  257 + sr=22050,
  258 + ns=1,
  259 + cmd="""
  260 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_es-ES_miro/resolve/main/README.md
  261 +
  262 + echo "\n\nSee https://huggingface.co/OpenVoiceOS/pipertts_es-ES_miro" >> README.md
  263 + echo "and https://github.com/OHF-Voice/piper1-gpl/discussions/27" >> README.md
  264 +
  265 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_es-ES_miro/resolve/main/miro_es-ES.onnx
  266 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_es-ES_miro/resolve/main/miro_es-ES.onnx.json
  267 +
  268 + mv miro_es-ES.onnx es_ES-miro-high.onnx
  269 + mv miro_es-ES.onnx.json es_ES-miro-high.onnx.json
  270 + """,
  271 + url="https://huggingface.co/OpenVoiceOS/pipertts_es-ES_miro",
  272 + ),
  273 + ]
  274 + )
  275 +
252 es_MX = [ 276 es_MX = [
253 PiperModel(name="ald", kind="medium", sr=22050, ns=1), 277 PiperModel(name="ald", kind="medium", sr=22050, ns=1),
254 PiperModel(name="claude", kind="high", sr=22050, ns=1), 278 PiperModel(name="claude", kind="high", sr=22050, ns=1),
@@ -378,6 +402,28 @@ def get_fr_models(): @@ -378,6 +402,28 @@ def get_fr_models():
378 ] 402 ]
379 ) 403 )
380 404
  405 + fr_FR += [
  406 + PiperModel(
  407 + name="miro",
  408 + kind="high",
  409 + sr=22050,
  410 + ns=1,
  411 + cmd="""
  412 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_fr-FR_miro/resolve/main/README.md
  413 +
  414 + echo "\n\nSee https://huggingface.co/OpenVoiceOS/pipertts_fr-FR_miro" >> README.md
  415 + echo "and https://github.com/OHF-Voice/piper1-gpl/discussions/27" >> README.md
  416 +
  417 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_fr-FR_miro/resolve/main/miro_fr-FR.onnx
  418 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_fr-FR_miro/resolve/main/miro_fr-FR.onnx.json
  419 +
  420 + mv miro_fr-FR.onnx fr_FR-miro-high.onnx
  421 + mv miro_fr-FR.onnx.json fr_FR-miro-high.onnx.json
  422 + """,
  423 + url="https://huggingface.co/OpenVoiceOS/pipertts_fr-FR_miro",
  424 + ),
  425 + ]
  426 +
381 for m in fr_FR: 427 for m in fr_FR:
382 m.lang = "fr_FR" 428 m.lang = "fr_FR"
383 if m.model_name == "": 429 if m.model_name == "":
@@ -497,6 +543,47 @@ def get_it_models(): @@ -497,6 +543,47 @@ def get_it_models():
497 PiperModel(name="riccardo", kind="x_low", sr=16000, ns=1), 543 PiperModel(name="riccardo", kind="x_low", sr=16000, ns=1),
498 ] 544 ]
499 545
  546 + it_IT += [
  547 + PiperModel(
  548 + name="miro",
  549 + kind="high",
  550 + sr=22050,
  551 + ns=1,
  552 + cmd="""
  553 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_it-IT_miro/resolve/main/README.md
  554 +
  555 + echo "\n\nSee https://huggingface.co/OpenVoiceOS/pipertts_it-IT_miro" >> README.md
  556 + echo "and https://github.com/OHF-Voice/piper1-gpl/discussions/27" >> README.md
  557 +
  558 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_it-IT_miro/resolve/main/miro_it-IT.onnx
  559 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_it-IT_miro/resolve/main/miro_it-IT.onnx.json
  560 +
  561 + mv miro_it-IT.onnx it_IT-miro-high.onnx
  562 + mv miro_it-IT.onnx.json it_IT-miro-high.onnx.json
  563 + """,
  564 + url="https://huggingface.co/OpenVoiceOS/pipertts_it-IT_miro",
  565 + ),
  566 + PiperModel(
  567 + name="dii",
  568 + kind="high",
  569 + sr=22050,
  570 + ns=1,
  571 + cmd="""
  572 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_it-IT_dii/resolve/main/README.md
  573 +
  574 + echo "\n\nSee https://huggingface.co/OpenVoiceOS/pipertts_it-IT_dii" >> README.md
  575 + echo "and https://github.com/OHF-Voice/piper1-gpl/discussions/27" >> README.md
  576 +
  577 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_it-IT_dii/resolve/main/dii_it-IT.onnx
  578 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_it-IT_dii/resolve/main/dii_it-IT.onnx.json
  579 +
  580 + mv dii_it-IT.onnx it_IT-dii-high.onnx
  581 + mv dii_it-IT.onnx.json it_IT-dii-high.onnx.json
  582 + """,
  583 + url="https://huggingface.co/OpenVoiceOS/pipertts_it-IT_dii",
  584 + ),
  585 + ]
  586 +
500 for m in it_IT: 587 for m in it_IT:
501 m.lang = "it_IT" 588 m.lang = "it_IT"
502 if m.model_name == "": 589 if m.model_name == "":
@@ -706,6 +793,47 @@ def get_nl_models(): @@ -706,6 +793,47 @@ def get_nl_models():
706 PiperModel(name="ronnie", kind="medium", sr=22050, ns=1), 793 PiperModel(name="ronnie", kind="medium", sr=22050, ns=1),
707 ] 794 ]
708 795
  796 + nl_NL += [
  797 + PiperModel(
  798 + name="miro",
  799 + kind="high",
  800 + sr=22050,
  801 + ns=1,
  802 + cmd="""
  803 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_nl-NL_miro/resolve/main/README.md
  804 +
  805 + echo "\n\nSee https://huggingface.co/OpenVoiceOS/pipertts_nl-NL_miro" >> README.md
  806 + echo "and https://github.com/OHF-Voice/piper1-gpl/discussions/27" >> README.md
  807 +
  808 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_nl-NL_miro/resolve/main/miro_nl-NL.onnx
  809 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_nl-NL_miro/resolve/main/miro_nl-NL.onnx.json
  810 +
  811 + mv miro_nl-NL.onnx nl_NL-miro-high.onnx
  812 + mv miro_nl-NL.onnx.json nl_NL-miro-high.onnx.json
  813 + """,
  814 + url="https://huggingface.co/OpenVoiceOS/pipertts_nl-NL_miro",
  815 + ),
  816 + PiperModel(
  817 + name="dii",
  818 + kind="high",
  819 + sr=22050,
  820 + ns=1,
  821 + cmd="""
  822 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_nl-NL_dii/resolve/main/README.md
  823 +
  824 + echo "\n\nSee https://huggingface.co/OpenVoiceOS/pipertts_nl-NL_dii" >> README.md
  825 + echo "and https://github.com/OHF-Voice/piper1-gpl/discussions/27" >> README.md
  826 +
  827 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_nl-NL_dii/resolve/main/dii_nl-NL.onnx
  828 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_nl-NL_dii/resolve/main/dii_nl-NL.onnx.json
  829 +
  830 + mv dii_nl-NL.onnx nl_NL-dii-high.onnx
  831 + mv dii_nl-NL.onnx.json nl_NL-dii-high.onnx.json
  832 + """,
  833 + url="https://huggingface.co/OpenVoiceOS/pipertts_nl-NL_dii",
  834 + ),
  835 + ]
  836 +
709 for m in nl_BE: 837 for m in nl_BE:
710 m.lang = "nl_BE" 838 m.lang = "nl_BE"
711 839
@@ -858,7 +986,103 @@ def get_pt_models(): @@ -858,7 +986,103 @@ def get_pt_models():
858 ] 986 ]
859 987
860 pt_PT = [ 988 pt_PT = [
861 - PiperModel(name="tugão", kind="medium", sr=22050, ns=1), 989 + PiperModel(
  990 + name="tugao",
  991 + kind="medium",
  992 + sr=22050,
  993 + ns=1,
  994 + cmd="""
  995 + wget -qq https://huggingface.co/rhasspy/piper-voices/resolve/main/pt/pt_PT/tugão/medium/pt_PT-tugão-medium.onnx
  996 + wget -qq https://huggingface.co/rhasspy/piper-voices/resolve/main/pt/pt_PT/tugão/medium/pt_PT-tugão-medium.onnx.json
  997 + wget -qq https://huggingface.co/rhasspy/piper-voices/resolve/main/pt/pt_PT/tugão/medium/MODEL_CARD
  998 +
  999 + mv pt_PT-tugão-medium.onnx pt_PT-tugao-medium.onnx
  1000 + mv pt_PT-tugão-medium.onnx.json pt_PT-tugao-medium.onnx.json
  1001 + """,
  1002 + url="https://huggingface.co/rhasspy/piper-voices/tree/main/pt/pt_PT/tugão/medium",
  1003 + ),
  1004 + ]
  1005 +
  1006 + pt_PT += [
  1007 + PiperModel(
  1008 + name="miro",
  1009 + kind="high",
  1010 + sr=22050,
  1011 + ns=1,
  1012 + cmd="""
  1013 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_pt-PT_miro/resolve/main/README.md
  1014 +
  1015 + echo "\n\nSee https://huggingface.co/OpenVoiceOS/pipertts_pt-PT_miro" >> README.md
  1016 + echo "and https://github.com/OHF-Voice/piper1-gpl/discussions/27" >> README.md
  1017 +
  1018 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_pt-PT_miro/resolve/main/miro_pt-PT.onnx
  1019 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_pt-PT_miro/resolve/main/miro_pt-PT.onnx.json
  1020 +
  1021 + mv miro_pt-PT.onnx pt_PT-miro-high.onnx
  1022 + mv miro_pt-PT.onnx.json pt_PT-miro-high.onnx.json
  1023 + """,
  1024 + url="https://huggingface.co/OpenVoiceOS/pipertts_pt-PT_miro",
  1025 + ),
  1026 + PiperModel(
  1027 + name="dii",
  1028 + kind="high",
  1029 + sr=22050,
  1030 + ns=1,
  1031 + cmd="""
  1032 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_pt-PT_dii/resolve/main/README.md
  1033 +
  1034 + echo "\n\nSee https://huggingface.co/OpenVoiceOS/pipertts_pt-PT_dii" >> README.md
  1035 + echo "and https://github.com/OHF-Voice/piper1-gpl/discussions/27" >> README.md
  1036 +
  1037 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_pt-PT_dii/resolve/main/dii_pt-PT.onnx
  1038 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_pt-PT_dii/resolve/main/dii_pt-PT.onnx.json
  1039 +
  1040 + mv dii_pt-PT.onnx pt_PT-dii-high.onnx
  1041 + mv dii_pt-PT.onnx.json pt_PT-dii-high.onnx.json
  1042 + """,
  1043 + url="https://huggingface.co/OpenVoiceOS/pipertts_pt-PT_dii",
  1044 + ),
  1045 + ]
  1046 +
  1047 + pt_BR += [
  1048 + PiperModel(
  1049 + name="miro",
  1050 + kind="high",
  1051 + sr=22050,
  1052 + ns=1,
  1053 + cmd="""
  1054 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_pt-BR_miro/resolve/main/README.md
  1055 +
  1056 + echo "\n\nSee https://huggingface.co/OpenVoiceOS/pipertts_pt-BR_miro" >> README.md
  1057 + echo "and https://github.com/OHF-Voice/piper1-gpl/discussions/27" >> README.md
  1058 +
  1059 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_pt-BR_miro/resolve/main/miro_pt-BR.onnx
  1060 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_pt-BR_miro/resolve/main/miro_pt-BR.onnx.json
  1061 +
  1062 + mv miro_pt-BR.onnx pt_BR-miro-high.onnx
  1063 + mv miro_pt-BR.onnx.json pt_BR-miro-high.onnx.json
  1064 + """,
  1065 + url="https://huggingface.co/OpenVoiceOS/pipertts_pt-BR_miro",
  1066 + ),
  1067 + PiperModel(
  1068 + name="dii",
  1069 + kind="high",
  1070 + sr=22050,
  1071 + ns=1,
  1072 + cmd="""
  1073 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_pt-BR_dii/resolve/main/README.md
  1074 +
  1075 + echo "\n\nSee https://huggingface.co/OpenVoiceOS/pipertts_pt-BR_dii" >> README.md
  1076 + echo "and https://github.com/OHF-Voice/piper1-gpl/discussions/27" >> README.md
  1077 +
  1078 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_pt-BR_dii/resolve/main/dii_pt-BR.onnx
  1079 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_pt-BR_dii/resolve/main/dii_pt-BR.onnx.json
  1080 +
  1081 + mv dii_pt-BR.onnx pt_BR-dii-high.onnx
  1082 + mv dii_pt-BR.onnx.json pt_BR-dii-high.onnx.json
  1083 + """,
  1084 + url="https://huggingface.co/OpenVoiceOS/pipertts_pt-BR_dii",
  1085 + ),
862 ] 1086 ]
863 1087
864 for m in pt_BR: 1088 for m in pt_BR:
@@ -1267,6 +1491,47 @@ def get_en_models(): @@ -1267,6 +1491,47 @@ def get_en_models():
1267 ] 1491 ]
1268 ) 1492 )
1269 1493
  1494 + en_gb += [
  1495 + PiperModel(
  1496 + name="miro",
  1497 + kind="high",
  1498 + sr=22050,
  1499 + ns=1,
  1500 + cmd="""
  1501 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_en-GB_miro/resolve/main/README.md
  1502 +
  1503 + echo "\n\nSee https://huggingface.co/OpenVoiceOS/pipertts_en-GB_miro" >> README.md
  1504 + echo "and https://github.com/OHF-Voice/piper1-gpl/discussions/27" >> README.md
  1505 +
  1506 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_en-GB_miro/resolve/main/miro_en-GB.onnx
  1507 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_en-GB_miro/resolve/main/miro_en-GB.onnx.json
  1508 +
  1509 + mv miro_en-GB.onnx en_GB-miro-high.onnx
  1510 + mv miro_en-GB.onnx.json en_GB-miro-high.onnx.json
  1511 + """,
  1512 + url="https://huggingface.co/OpenVoiceOS/pipertts_en-GB_miro",
  1513 + ),
  1514 + PiperModel(
  1515 + name="dii",
  1516 + kind="high",
  1517 + sr=22050,
  1518 + ns=1,
  1519 + cmd="""
  1520 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_en-GB_dii/resolve/main/README.md
  1521 +
  1522 + echo "\n\nSee https://huggingface.co/OpenVoiceOS/pipertts_en-GB_dii" >> README.md
  1523 + echo "and https://github.com/OHF-Voice/piper1-gpl/discussions/27" >> README.md
  1524 +
  1525 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_en-GB_dii/resolve/main/dii_en-GB.onnx
  1526 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_en-GB_dii/resolve/main/dii_en-GB.onnx.json
  1527 +
  1528 + mv dii_en-GB.onnx en_GB-dii-high.onnx
  1529 + mv dii_en-GB.onnx.json en_GB-dii-high.onnx.json
  1530 + """,
  1531 + url="https://huggingface.co/OpenVoiceOS/pipertts_en-GB_dii",
  1532 + ),
  1533 + ]
  1534 +
1270 en_us.extend( 1535 en_us.extend(
1271 [ 1536 [
1272 # https://github.com/rhasspy/piper/issues/187#issuecomment-1805709037 1537 # https://github.com/rhasspy/piper/issues/187#issuecomment-1805709037
@@ -1287,6 +1552,28 @@ def get_en_models(): @@ -1287,6 +1552,28 @@ def get_en_models():
1287 ] 1552 ]
1288 ) 1553 )
1289 1554
  1555 + en_us += [
  1556 + PiperModel(
  1557 + name="miro",
  1558 + kind="high",
  1559 + sr=22050,
  1560 + ns=1,
  1561 + cmd="""
  1562 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_en-US_miro/resolve/main/README.md
  1563 +
  1564 + echo "\n\nSee https://huggingface.co/OpenVoiceOS/pipertts_en-US_miro" >> README.md
  1565 + echo "and https://github.com/OHF-Voice/piper1-gpl/discussions/27" >> README.md
  1566 +
  1567 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_en-US_miro/resolve/main/miro_en-US.onnx
  1568 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_en-US_miro/resolve/main/miro_en-US.onnx.json
  1569 +
  1570 + mv miro_en-US.onnx en_US-miro-high.onnx
  1571 + mv miro_en-US.onnx.json en_US-miro-high.onnx.json
  1572 + """,
  1573 + url="https://huggingface.co/OpenVoiceOS/pipertts_en-US_miro",
  1574 + ),
  1575 + ]
  1576 +
1290 for m in en_gb: 1577 for m in en_gb:
1291 m.lang = "en_GB" 1578 m.lang = "en_GB"
1292 if m.model_name == "": 1579 if m.model_name == "":
@@ -1298,6 +1585,7 @@ def get_en_models(): @@ -1298,6 +1585,7 @@ def get_en_models():
1298 m.model_name = f"{m.lang}-{m.name}-{m.kind}.onnx" 1585 m.model_name = f"{m.lang}-{m.name}-{m.kind}.onnx"
1299 1586
1300 ans = en_gb + en_us 1587 ans = en_gb + en_us
  1588 + ans = en_us
1301 1589
1302 for m in ans: 1590 for m in ans:
1303 m.text = "Friends fell out often because life was changing so fast. The easiest thing in the world was to lose touch with someone." 1591 m.text = "Friends fell out often because life was changing so fast. The easiest thing in the world was to lose touch with someone."
@@ -1411,6 +1699,29 @@ def get_de_models(): @@ -1411,6 +1699,29 @@ def get_de_models():
1411 url="https://huggingface.co/systemofapwne/piper-de-glados", 1699 url="https://huggingface.co/systemofapwne/piper-de-glados",
1412 ), 1700 ),
1413 ] 1701 ]
  1702 +
  1703 + de_de += [
  1704 + PiperModel(
  1705 + name="miro",
  1706 + kind="high",
  1707 + sr=22050,
  1708 + ns=1,
  1709 + cmd="""
  1710 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_de-DE_miro/resolve/main/README.md
  1711 +
  1712 + echo "\n\nSee https://huggingface.co/OpenVoiceOS/pipertts_de-DE_miro" >> README.md
  1713 + echo "and https://github.com/OHF-Voice/piper1-gpl/discussions/27" >> README.md
  1714 +
  1715 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_de-DE_miro/resolve/main/miro_de-DE.onnx
  1716 + wget -qq https://huggingface.co/OpenVoiceOS/pipertts_de-DE_miro/resolve/main/miro_de-DE.onnx.json
  1717 +
  1718 + mv miro_de-DE.onnx de_DE-miro-high.onnx
  1719 + mv miro_de-DE.onnx.json de_DE-miro-high.onnx.json
  1720 + """,
  1721 + url="https://huggingface.co/OpenVoiceOS/pipertts_de-DE_miro",
  1722 + ),
  1723 + ]
  1724 +
1414 for m in de_de: 1725 for m in de_de:
1415 m.lang = "de_DE" 1726 m.lang = "de_DE"
1416 if m.model_name == "": 1727 if m.model_name == "":
@@ -29,6 +29,11 @@ sample_rate={{ model.sr }} @@ -29,6 +29,11 @@ sample_rate={{ model.sr }}
29 29
30 {{ model.cmd }} 30 {{ model.cmd }}
31 31
  32 +echo "files"
  33 +
  34 +ls -lh
  35 +echo "---"
  36 +
32 python3 ./add_meta_data.py \ 37 python3 ./add_meta_data.py \
33 --name $name \ 38 --name $name \
34 --kind $kind \ 39 --kind $kind \
@@ -42,6 +47,7 @@ mkdir -p $dst @@ -42,6 +47,7 @@ mkdir -p $dst
42 mv -v tokens.txt $dst/ 47 mv -v tokens.txt $dst/
43 mv -v MODEL_CARD $dst/ || true 48 mv -v MODEL_CARD $dst/ || true
44 mv -v README $dst/ || true 49 mv -v README $dst/ || true
  50 +mv -v README.md $dst/ || true
45 mv -v LICENSE.txt $dst/ || true 51 mv -v LICENSE.txt $dst/ || true
46 mv -v *.json $dst/ 52 mv -v *.json $dst/
47 cp -a ./espeak-ng-data $dst/ 53 cp -a ./espeak-ng-data $dst/