Map all available Piper voices and expand Makefile downloads

- Added 40+ Piper voice mappings to voice_to_speaker.default.yaml
  * 20 English US voices (libritts_r speakers + single-speaker models)
  * 9 English GB voices
  * All voices use proper naming convention (en_us_*, en_gb_*)
  * Kept OpenAI-compatible aliases (alloy, echo, fable, onyx, nova, shimmer)

- Updated Makefile voices-piper target to download ALL voices:
  * 20 English US models (amy, arctic, bryce, danny, hfc_female, hfc_male, joe, john, kathleen, kristin, kusal, l2arctic, lessac, libritts, libritts_r, ljspeech, norman, reza_ibrahim, ryan, sam)
  * 9 English GB models (alan, alba, aru, cori, jenny_dioco, northern_english_male, semaine, southern_english_female, vctk)
  * Download function with error handling

- Updated main 'voices' target to include Silero downloads

🦝 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Russell Ballestrini 2025-11-09 13:16:22 -05:00
parent 01e51b08b5
commit a8865564ae
2 changed files with 202 additions and 22 deletions

View file

@ -1,16 +1,11 @@
tts-1:
some_other_voice_name_you_want:
model: voices/choose your own model.onnx
speaker: set your own speaker
# OpenAI-compatible voice aliases (backward compatibility)
alloy:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 79 # 64, 79, 80, 101, 130
echo:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 134 # 52, 102, 134
echo-alt:
model: /app/voices/en_US-ryan-high.onnx
speaker: # default speaker (DISABLED - model not included)
fable:
model: /app/voices/en/en_GB/northern_english_male/medium/en_GB-northern_english_male-medium.onnx
speaker: # default speaker
@ -23,6 +18,160 @@
shimmer:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 163
# English US voices - all available Piper models
# libritts_r has 904 speakers (multi-speaker model)
en_us_libritts_r_0:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 0
en_us_libritts_r_52:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 52
en_us_libritts_r_55:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 55
en_us_libritts_r_57:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 57
en_us_libritts_r_61:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 61
en_us_libritts_r_64:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 64
en_us_libritts_r_79:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 79
en_us_libritts_r_80:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 80
en_us_libritts_r_90:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 90
en_us_libritts_r_101:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 101
en_us_libritts_r_102:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 102
en_us_libritts_r_107:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 107
en_us_libritts_r_130:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 130
en_us_libritts_r_132:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 132
en_us_libritts_r_134:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 134
en_us_libritts_r_136:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 136
en_us_libritts_r_137:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 137
en_us_libritts_r_150:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 150
en_us_libritts_r_159:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 159
en_us_libritts_r_162:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 162
en_us_libritts_r_163:
model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx
speaker: 163
# Single-speaker Piper voices (to be downloaded)
en_us_amy:
model: /app/voices/en/en_US/amy/medium/en_US-amy-medium.onnx
speaker: # default
en_us_arctic:
model: /app/voices/en/en_US/arctic/medium/en_US-arctic-medium.onnx
speaker: # default
en_us_bryce:
model: /app/voices/en/en_US/bryce/medium/en_US-bryce-medium.onnx
speaker: # default
en_us_danny:
model: /app/voices/en/en_US/danny/low/en_US-danny-low.onnx
speaker: # default
en_us_hfc_female:
model: /app/voices/en/en_US/hfc_female/medium/en_US-hfc_female-medium.onnx
speaker: # default
en_us_hfc_male:
model: /app/voices/en/en_US/hfc_male/medium/en_US-hfc_male-medium.onnx
speaker: # default
en_us_joe:
model: /app/voices/en/en_US/joe/medium/en_US-joe-medium.onnx
speaker: # default
en_us_john:
model: /app/voices/en/en_US/john/medium/en_US-john-medium.onnx
speaker: # default
en_us_kathleen:
model: /app/voices/en/en_US/kathleen/low/en_US-kathleen-low.onnx
speaker: # default
en_us_kristin:
model: /app/voices/en/en_US/kristin/medium/en_US-kristin-medium.onnx
speaker: # default
en_us_kusal:
model: /app/voices/en/en_US/kusal/medium/en_US-kusal-medium.onnx
speaker: # default
en_us_l2arctic:
model: /app/voices/en/en_US/l2arctic/medium/en_US-l2arctic-medium.onnx
speaker: # default (multi-speaker model)
en_us_lessac:
model: /app/voices/en/en_US/lessac/medium/en_US-lessac-medium.onnx
speaker: # default (multi-speaker model)
en_us_libritts:
model: /app/voices/en/en_US/libritts/high/en_US-libritts-high.onnx
speaker: # default (multi-speaker model)
en_us_ljspeech:
model: /app/voices/en/en_US/ljspeech/medium/en_US-ljspeech-medium.onnx
speaker: # default
en_us_norman:
model: /app/voices/en/en_US/norman/medium/en_US-norman-medium.onnx
speaker: # default
en_us_reza_ibrahim:
model: /app/voices/en/en_US/reza_ibrahim/medium/en_US-reza_ibrahim-medium.onnx
speaker: # default
en_us_ryan:
model: /app/voices/en/en_US/ryan/high/en_US-ryan-high.onnx
speaker: # default
en_us_sam:
model: /app/voices/en/en_US/sam/medium/en_US-sam-medium.onnx
speaker: # default
# English GB voices
en_gb_alan:
model: /app/voices/en/en_GB/alan/medium/en_GB-alan-medium.onnx
speaker: # default
en_gb_alba:
model: /app/voices/en/en_GB/alba/medium/en_GB-alba-medium.onnx
speaker: # default
en_gb_aru:
model: /app/voices/en/en_GB/aru/medium/en_GB-aru-medium.onnx
speaker: # default (multi-speaker model)
en_gb_cori:
model: /app/voices/en/en_GB/cori/medium/en_GB-cori-medium.onnx
speaker: # default (multi-speaker model)
en_gb_jenny_dioco:
model: /app/voices/en/en_GB/jenny_dioco/medium/en_GB-jenny_dioco-medium.onnx
speaker: # default
en_gb_northern_english_male:
model: /app/voices/en/en_GB/northern_english_male/medium/en_GB-northern_english_male-medium.onnx
speaker: # default
en_gb_semaine:
model: /app/voices/en/en_GB/semaine/medium/en_GB-semaine-medium.onnx
speaker: # default
en_gb_southern_english_female:
model: /app/voices/en/en_GB/southern_english_female/low/en_GB-southern_english_female-low.onnx
speaker: # default
en_gb_vctk:
model: /app/voices/en/en_GB/vctk/medium/en_GB-vctk-medium.onnx
speaker: # default (multi-speaker model)
tts-1-hd:
alloy-alt:
model: xtts