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:
parent
01e51b08b5
commit
a8865564ae
2 changed files with 202 additions and 22 deletions
63
Makefile
63
Makefile
|
|
@ -86,25 +86,56 @@ test:
|
|||
@echo "✅ Test complete! Playing audio..."
|
||||
@firefox /tmp/raccoon_test.mp3 || mpv /tmp/raccoon_test.mp3 || echo "Install firefox or mpv to play audio"
|
||||
|
||||
voices: voices-piper voices-xtts
|
||||
@echo "✅ All voices downloaded!"
|
||||
voices: voices-piper voices-xtts voices-silero
|
||||
@echo "✅ All voices downloaded (Piper, XTTS, Silero)!"
|
||||
|
||||
voices-piper:
|
||||
@echo "🎤 Downloading Piper voices with correct directory structure..."
|
||||
@echo "🎤 Downloading all Piper voices..."
|
||||
ssh $(REMOTE_USER)@$(REMOTE_HOST) "docker exec $(CONTAINER_NAME) bash -c '\
|
||||
mkdir -p /app/voices/en/en_US/libritts_r/medium && \
|
||||
cd /app/voices/en/en_US/libritts_r/medium && \
|
||||
curl -L https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx -o en_US-libritts_r-medium.onnx && \
|
||||
curl -L https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx.json -o en_US-libritts_r-medium.onnx.json && \
|
||||
mkdir -p /app/voices/en/en_GB/northern_english_male/medium && \
|
||||
cd /app/voices/en/en_GB/northern_english_male/medium && \
|
||||
curl -L https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_GB/northern_english_male/medium/en_GB-northern_english_male-medium.onnx -o en_GB-northern_english_male-medium.onnx && \
|
||||
curl -L https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_GB/northern_english_male/medium/en_GB-northern_english_male-medium.onnx.json -o en_GB-northern_english_male-medium.onnx.json'"
|
||||
@echo "📝 Updating voice_to_speaker.yaml with ABSOLUTE paths..."
|
||||
ssh $(REMOTE_USER)@$(REMOTE_HOST) "docker exec $(CONTAINER_NAME) bash -c '\
|
||||
sed -i \"s|model: voices/en_US-libritts_r-medium.onnx|model: /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx|g\" /app/config/voice_to_speaker.yaml && \
|
||||
sed -i \"s|model: voices/en_GB-northern_english_male-medium.onnx|model: /app/voices/en/en_GB/northern_english_male/medium/en_GB-northern_english_male-medium.onnx|g\" /app/config/voice_to_speaker.yaml'"
|
||||
@echo "✅ Piper voices installed with absolute paths!"
|
||||
set -e; \
|
||||
BASE_URL=\"https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0\"; \
|
||||
download_voice() { \
|
||||
local path=\"\$$1\"; \
|
||||
local name=\"\$$2\"; \
|
||||
mkdir -p \"/app/voices/\$$path\"; \
|
||||
cd \"/app/voices/\$$path\"; \
|
||||
echo \"Downloading \$$name...\"; \
|
||||
curl -f -L \"\$$BASE_URL/\$$path/\$$name.onnx\" -o \"\$$name.onnx\" || echo \"Failed to download \$$name.onnx\"; \
|
||||
curl -f -L \"\$$BASE_URL/\$$path/\$$name.onnx.json\" -o \"\$$name.onnx.json\" || echo \"Failed to download \$$name.onnx.json\"; \
|
||||
}; \
|
||||
echo \"=== Downloading English US voices ===\"; \
|
||||
download_voice \"en/en_US/libritts_r/medium\" \"en_US-libritts_r-medium\"; \
|
||||
download_voice \"en/en_US/amy/medium\" \"en_US-amy-medium\"; \
|
||||
download_voice \"en/en_US/arctic/medium\" \"en_US-arctic-medium\"; \
|
||||
download_voice \"en/en_US/bryce/medium\" \"en_US-bryce-medium\"; \
|
||||
download_voice \"en/en_US/danny/low\" \"en_US-danny-low\"; \
|
||||
download_voice \"en/en_US/hfc_female/medium\" \"en_US-hfc_female-medium\"; \
|
||||
download_voice \"en/en_US/hfc_male/medium\" \"en_US-hfc_male-medium\"; \
|
||||
download_voice \"en/en_US/joe/medium\" \"en_US-joe-medium\"; \
|
||||
download_voice \"en/en_US/john/medium\" \"en_US-john-medium\"; \
|
||||
download_voice \"en/en_US/kathleen/low\" \"en_US-kathleen-low\"; \
|
||||
download_voice \"en/en_US/kristin/medium\" \"en_US-kristin-medium\"; \
|
||||
download_voice \"en/en_US/kusal/medium\" \"en_US-kusal-medium\"; \
|
||||
download_voice \"en/en_US/l2arctic/medium\" \"en_US-l2arctic-medium\"; \
|
||||
download_voice \"en/en_US/lessac/medium\" \"en_US-lessac-medium\"; \
|
||||
download_voice \"en/en_US/libritts/high\" \"en_US-libritts-high\"; \
|
||||
download_voice \"en/en_US/ljspeech/medium\" \"en_US-ljspeech-medium\"; \
|
||||
download_voice \"en/en_US/norman/medium\" \"en_US-norman-medium\"; \
|
||||
download_voice \"en/en_US/reza_ibrahim/medium\" \"en_US-reza_ibrahim-medium\"; \
|
||||
download_voice \"en/en_US/ryan/high\" \"en_US-ryan-high\"; \
|
||||
download_voice \"en/en_US/sam/medium\" \"en_US-sam-medium\"; \
|
||||
echo \"=== Downloading English GB voices ===\"; \
|
||||
download_voice \"en/en_GB/northern_english_male/medium\" \"en_GB-northern_english_male-medium\"; \
|
||||
download_voice \"en/en_GB/alan/medium\" \"en_GB-alan-medium\"; \
|
||||
download_voice \"en/en_GB/alba/medium\" \"en_GB-alba-medium\"; \
|
||||
download_voice \"en/en_GB/aru/medium\" \"en_GB-aru-medium\"; \
|
||||
download_voice \"en/en_GB/cori/medium\" \"en_GB-cori-medium\"; \
|
||||
download_voice \"en/en_GB/jenny_dioco/medium\" \"en_GB-jenny_dioco-medium\"; \
|
||||
download_voice \"en/en_GB/semaine/medium\" \"en_GB-semaine-medium\"; \
|
||||
download_voice \"en/en_GB/southern_english_female/low\" \"en_GB-southern_english_female-low\"; \
|
||||
download_voice \"en/en_GB/vctk/medium\" \"en_GB-vctk-medium\"; \
|
||||
echo \"=== All Piper voices downloaded! ===\"'"
|
||||
@echo "✅ All Piper voices downloaded!"
|
||||
|
||||
voices-xtts:
|
||||
@echo "🎤 Downloading XTTS speaker samples..."
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue