Commit graph

14 commits

Author SHA1 Message Date
5e5e7936f1 Add 20 cloned voice samples for Qwen3-TTS
LJ Speech samples (public domain) for voice cloning:
- Standard: alloy, echo, fable, onyx, nova, shimmer
- Extended: amber, breeze, coral, dawn, ember, frost,
            glow, haze, ivy, jade, kite, lark, mist, nectar
2026-01-26 17:44:03 -05:00
02b4e7aaf7 Add 20 diverse voice samples for Qwen3-TTS
Standard voices: alloy, echo, fable, onyx, nova, shimmer
Extended voices: amber, breeze, coral, dawn, ember, frost,
                 glow, haze, ivy, jade, kite, lark, mist, nectar

Source: LJ Speech Dataset (public domain)
2026-01-26 16:50:54 -05:00
6b4f66dcf5 Use LJ Speech sample for voice cloning (Alibaba Cloud URL blocked) 2026-01-26 16:28:39 -05:00
b315659be6 Make Qwen3-TTS the default engine, add CPU-only docker support
- Switch default TTS engine from Piper to Qwen3-TTS (1.7B params)
- Upgrade to Python 3.12
- Add docker-compose.cpu.yml for CPU-only deployments
- Improve GPU configuration with NVIDIA environment variables
- Comment out optional engines (Piper, XTTS, Silero, Kokoro) in requirements
- Update Makefile with local/local-cpu targets and venv support
- Simplify voice_to_speaker.default.yaml for Qwen3-TTS voices
- Update docs/MODELS.md with Qwen3-TTS documentation
- Add git commit guidelines to CLAUDE.md
2026-01-26 10:41:23 -05:00
32393c7665 Remove misleading Silero OpenAI voice aliases
- Removed arbitrary OpenAI voice mappings from tts-1-silero (alloy→en_0, etc.)
- Kept intentional OpenAI-themed voices in tts-1-kokoro (af_alloy, am_echo, etc.)
- Silero's en_0-en_5 were random selections, not designed to match OpenAI voices
- Kokoro's af_alloy, am_echo, etc. are intentionally OpenAI-compatible by design
- Users can still access all voices by their native names
- Dropdown UI shows model name to differentiate duplicate voice names

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 15:08:06 -05:00
d48fa6b29c Integrate Kokoro TTS as tts-1-kokoro model
- Added kokoro>=0.9.2 and soundfile to requirements.txt
- Created kokoro_wrapper class for 24kHz decoder-only TTS
- Added tts-1-kokoro endpoint with full voice mapping
- Mapped 32 Kokoro voices (11 female American, 9 male American, 4 female British, 4 male British, 4 Spanish, etc.)
- Added OpenAI-compatible aliases (alloy, echo, fable, onyx, nova, shimmer)
- Lightweight 82M parameter model, Apache licensed

Voices:
- American English (lang_code 'a'): 20 voices
- British English (lang_code 'b'): 8 voices
- Supports 9 languages total (a, b, e, f, h, i, j, p, z)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 13:38:42 -05:00
20241632ea Fix Silero multilingual support with proper model loading
- Fixed Silero model caching to track language+speaker combination
- Updated Russian voices to use ru_v3 model (was v4_ru)
- Updated Spanish voices to use v3_es model (was v1_es)
- All model loading now properly switches between languages

Status:
 English (v3_en) - 119 voices working
 German (v3_de) - 6 voices working
 French (v3_fr) - 7 voices working
⚠️  Russian (ru_v3) - Model loading issue (investigating speaker format)
⚠️  Spanish (v3_es) - Model loading issue (investigating speaker format)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 13:29:52 -05:00
a8865564ae 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>
2025-11-09 13:16:22 -05:00
01e51b08b5 🦝 Raccoon Mission: Silero TTS integration complete with 140 voices
 Integrated Silero TTS as tts-1-silero model
- Fixed omegaconf dependency
- Fixed Silero API integration (torch.hub.load returns 2 values)
- Fixed model.to(device) returning None bug
- Mapped all 140 Silero voices across 5 languages:
  * English (en): 118 speakers (en_0 to en_117) + random
  * Russian (ru): 5 speakers (aidar, baya, kseniya, xenia, eugene) + random
  * German (de): 5 speakers (bernd_ungerer, eva_k, friedrich, hokuspokus, karlsson) + random
  * Spanish (es): 3 speakers (es_0, es_1, es_2) + random
  * French (fr): 6 speakers (fr_0 to fr_5) + random

📝 Configuration changes:
- requirements.txt: Added omegaconf for Silero
- voice_to_speaker.default.yaml: All 140 Silero voices mapped
- speech.py: Silero wrapper class with proper API handling

🎯 Working TTS engines: 3
- Piper TTS (tts-1) - Fast, lightweight
- XTTS v2 (tts-1-hd) - High quality, voice cloning
- Silero TTS (tts-1-silero) - CPU-friendly, 5 languages, actively maintained

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 12:39:12 -05:00
Claude
848c2c6cb5 Integrate Silero TTS and add infrastructure for Chatterbox/Kokoro
INTEGRATED: Silero TTS (tts-1-silero)
- Added silero_wrapper class to speech.py for PyTorch Hub integration
- CPU-friendly, no GPU required (48kHz sample rate)
- Supports 5 languages: English (117 speakers), Russian, German, Spanish, French
- Loads on-demand via torch.hub from snakers4/silero-models
- Added 6 OpenAI-compatible voice mappings (alloy, echo, fable, etc.)

PREPARED: Chatterbox & Kokoro TTS
- Added dependencies to requirements.txt:
  * git+https://github.com/resemble-ai/chatterbox.git
  * transformers>=4.35.0 (for Kokoro)
  * huggingface-hub[cli] (for model downloads)
- Created Makefile targets for downloading models
- Created test targets for all three new engines

Makefile Enhancements:
- make voices-silero: Download Silero models (en, ru, de, es, fr)
- make test-silero: Test Silero TTS endpoint
- make voices-chatterbox: Download Chatterbox models via HF CLI
- make test-chatterbox: Test Chatterbox with emotion control
- make voices-kokoro: Download Kokoro models via HF CLI
- make test-kokoro: Test Kokoro fast synthesis

speech.py Changes:
- Added silero_wrapper class with tts() method
- Added tts-1-silero model handler in generate_speech()
- Registered tts-1-silero model in app
- Added PCM media type for Silero (48000 Hz)
- Global state: silero_model, silero_speakers dict

Configuration:
- Updated voice_to_speaker.default.yaml with tts-1-silero section
- Mapped all 6 OpenAI voices to Silero speakers (en_0 through en_5)

Documentation:
- Updated docs/MODELS.md: Silero marked as  INTEGRATED
- Updated roadmap: Phase 1 task 3 completed
- Updated status footer: 3 models rescued
- Added integration examples and Makefile commands

Next Steps:
- Test Silero integration in Docker
- Implement Chatterbox emotion control engine
- Implement Kokoro fast decoder engine
2025-11-09 10:48:44 -05:00
d015dd044b 🦝 Fix: Use absolute paths for Piper models
SOLUTION FOUND! Piper requires ABSOLUTE paths to model files, not relative paths.

Changes:
- Update voice_to_speaker.default.yaml to use /app/voices/... absolute paths
- Update Makefile voices target to set absolute paths via sed
- Tested: Piper works with /app/voices/en/en_US/libritts_r/medium/en_US-libritts_r-medium.onnx

Root cause: PyPI piper-tts package doesn't auto-download voices or support
voice name resolution. Must use full absolute file paths.

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 08:24:00 -05:00
matatonic
fdd443b10f 0.17.1 2024-07-01 19:43:32 -04:00
matatonic
ae6a384e75 0.14.0 +streaming, +pcm, +wav, +temp, top_p, etc. 2024-06-26 20:54:24 -04:00
matatonic
ea4af74e5c 0.13.0 -parler, +arm64, +audio_reader 2024-06-23 12:52:03 -04:00
Renamed from config/voice_to_speaker.default.yaml (Browse further)