Commit graph

17 commits

Author SHA1 Message Date
482b17960c
F5-TTS engine consistency sweep (Makefile, startup, README, docs) 2026-05-24 08:24:38 -04:00
2df34f85cc
Add F5-TTS as tts-1-f5 engine (additive, alongside tts-1-qwen) 2026-05-23 13:24:25 -04:00
c3ac2def48 Add idempotent voice registry system for permanent speaker-to-name assignments
- voice_registry.json: append-only registry with 50 name pools per gender,
  locked speaker assignments, and multi-corpus support
- Rewrite download script to be registry-driven: loads registry, assigns
  names deterministically (sorted by speaker ID), never changes existing
  assignments
- Update docs/VOICES.md with registry system documentation
- Support --registry and --corpora CLI flags for multi-corpus downloads
2026-01-27 13:59: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
99bc6bf014 renamed: docs/CLAUDE.md -> CLAUDE.md 2026-01-26 10:00:07 -05:00
7559e56d0c Standardize project naming to uncloseai-speech across all files
- Add CHANGELOG.md with full version history (moved from README)
- Update all documentation to use lowercase 'uncloseai-speech' project name
- Update organization references to lowercase 'uncloseai' (not 'UncloseAI')
- Add Brand Identity section to docs/CLAUDE.md with naming guidelines
- Update speech.py argparse description to match branding
- Update README.md headers and sections with consistent naming
- Update all model documentation with consistent branding

Files updated:
- CHANGELOG.md (new file)
- README.md (changelog reference, server options, multilingual section)
- speech.py (--workers argument, branding in argparse)
- Makefile (header comment)
- docs/CLAUDE.md (Brand Identity section)
- docs/MODELS.md
- docs/MIRRORS.md
- docs/AUDIT.md
- docs/models/coqui-tts.md
- docs/research/tts-models-overview.md

Branding standard:
- Project: uncloseai-speech (lowercase, hyphenated)
- Organization: uncloseai (lowercase, one word)

🦝 Generated with Claude Code
2025-11-10 05:23:34 -05:00
3887e9b850 🦝 Streamline CLAUDE.md - reference guide not changelog
Remove verbose explanations and code examples. Keep it concise:
- TTS Engine Status: one-liner per engine
- Testing: condensed workflow steps
- Multiprocess: key pattern + implementation reference

CLAUDE.md is a quick reference, not documentation.
2025-11-09 18:29:24 -05:00
187121558e 📚 Update docs with hydration results and multiprocess fixes
**README.md:**
- Added Raccoon Mission Updates section (2025-11-09)
- Documented 235/245 voices working (95.9% success rate)
- Listed all major fixes: multiprocess architecture, voice auto-detection,
  cache initialization, args initialization
- Added Makefile targets documentation (hydrate, load-test)

**docs/CLAUDE.md:**
- Updated TTS Engine Status with hydration percentages
- Added Testing Philosophy section with hydrate and load-test targets
- Documented Known Issues and Solutions:
  * Worker processes not loading caches - lifespan solution
  * Worker processes AttributeError on args - DefaultArgs solution
- Included code examples for both fixes

These updates capture the complete journey from 0% to 95.9% voice
hydration success and document the multiprocess worker architecture fixes.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 18:27:48 -05:00
9b5caadb8f Fix Kokoro TTS integration - correct KPipeline API
- Removed model_path parameter (not supported by kokoro package)
- Removed repo_id parameter (causes KeyError)
- Use default KPipeline initialization with only lang_code
- Kokoro package handles model download automatically

Tested and working:
- American English voices (alloy, af_sarah, am_michael, etc.)
- British English voices (bm_george, bf_emma, etc.)
- Audio generation produces valid MP3 files

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 14:20:09 -05:00
f8d46e92d5 Update documentation for Silero and Kokoro integrations
- Created comprehensive silero-tts.md documentation
  * 148 voices across 5 languages
  * Integration details and API usage
  * Known issues documented (Russian/Spanish)
  * Raccoon rating: 5/5 (perfect rescue!)

- Updated kokoro-tts.md with integration status
  * 34 voices (American + British English)
  * API usage examples and configuration
  * Successful Raccoon Mission completion
  * Raccoon rating: 4/5

- Updated MODELS.md master doc
  * Moved Silero and Kokoro to "Currently Integrated"
  * Updated voice counts (245 total across all engines)
  * Updated roadmap with completed tasks
  * Added /v1/models endpoint to integration status

Documentation reflects current state:
- 4 TTS engines integrated (Piper, XTTS, Silero, Kokoro)
- 245 total voices available
- 4 API endpoints (tts-1, tts-1-hd, tts-1-silero, tts-1-kokoro)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 13:56:18 -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
Claude
2d1e1b344f Add comprehensive TTS model documentation and research
Added detailed documentation for 10 TTS models:
- Coqui TTS (XTTS-v2): High-quality multilingual with voice cloning
- Mozilla TTS: Historical context, superseded by Coqui
- Piper TTS: Fast, lightweight, 100+ voices
- Chatterbox: Emotion control, 23 languages
- Mimic 3: Privacy-focused, offline capable
- eSpeak NG: 100+ languages, accessibility-focused
- Kokoro TTS: Fast decoder-only architecture
- Tortoise TTS: Studio-quality but slow
- Step-Audio-EditX: Experimental LLM-based audio editing
- Maya1: Indic languages specialist

Created comprehensive research overview:
- Complete model comparison matrix
- Performance characteristics and feature analysis
- License compatibility analysis
- Integration roadmap and priorities
- Raccoon Mission risk assessment

Updated MODELS.md:
- Added documentation index with links to all model docs
- Added research overview reference
- Added detailed doc references in existing sections
- Added "Additional Models Under Research" section

All documentation follows Raccoon Mission theme of rescuing
abandoned open-source TTS models for long-term preservation.
2025-11-09 10:48:32 -05:00
cd4248045e Update MODELS.md with comprehensive TTS engine documentation
- Expanded Piper TTS and Coqui XTTS sections with full details
- Added Mozilla TTS (historical reference, skip in favor of Coqui)
- Added Chatterbox (voice assistant framework)
- Added Mimic 3 (Mycroft TTS, at-risk from shutdown)
- Added eSpeak NG (legacy formant synthesis, 100+ languages)
- Added Kokoro TTS (new 2024 project, StyleTTS2-based)
- Expanded Silero TTS as HIGHEST priority (actively maintained)
- Documented licenses, repositories, model hubs for all engines
- Added integration effort estimates and raccoon priorities

This update provides comprehensive tracking of all TTS engines for
the raccoon mission to rescue and integrate abandoned models.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 10:37:57 -05:00
2c6c1ad577 Add XTTS support to Makefile and create CLAUDE.md guide
Makefile improvements:
- Add voices-xtts target to download speaker samples
- Add test-xtts target for testing HD model
- Split voices into voices-piper and voices-xtts
- Update help text with all new targets

speech.py:
- Fix threading import scope issue for XTTS
- Remove redundant 'import threading' inside Piper block

docs/CLAUDE.md:
- Complete guide for Claude Code contributors
- Makefile-first development philosophy
- Never create dirs manually, always use Makefile
- Documentation requirements and testing philosophy
- Common mistakes to avoid
- Raccoon mission values and principles

This ensures consistent, repeatable deployments and makes it easy
to add new TTS engines following the same pattern.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 09:52:13 -05:00
874a7f170c Add comprehensive repository audit and raccoon mission roadmap
Created docs/AUDIT.md with:
- Complete file inventory and assessment
- Analysis of 10+ abandoned TTS models to integrate
- Multi-tier binary mirror strategy
- Proposed refactoring with engine abstraction
- License clarification (AGPL v3, not MIT)

This audit identifies all non-essential files for removal and documents
the plan to rescue abandoned TTS projects (Silero, StyleTTS2, Bark, etc.)
into a unified resilient system.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 09:32:22 -05:00
3a9e27e556 Add comprehensive TTS model and mirror documentation
docs/MODELS.md:
- Document 10+ abandoned TTS engines to integrate
- Piper TTS (integrated, fixed)
- Coqui XTTS v2 (integrated, company shut down)
- Silero TTS (HIGH PRIORITY - still active, fast)
- StyleTTS2 (HIGH PRIORITY - best quality)
- Fish Speech (active, good quality)
- Kokoro, Bark, Tortoise, MetaVoice (lower priority)
- Integration roadmap with time estimates
- Performance targets and storage requirements

docs/MIRRORS.md:
- Multi-tier mirror strategy for resilience
- Tier 1: Upstream (HuggingFace, PyPI, GitHub)
- Tier 2: Self-hosted MinIO on ai.foxhop.net
- Tier 3: Archive.org for public archival
- Tier 4: IPFS for decentralization
- Complete implementation with scripts and configs
- Fallback download logic
- Recovery scenarios
- Cost: $0-20/month

Raccoon mission: Ensure TTS keeps working when upstream dies.
Documentation-first approach before implementing features.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 09:28:02 -05:00
e8183b4585 Organize repository: create scripts/ and docs/ directories
- Move utility scripts to scripts/ directory:
  - add_voice.py (add custom voices)
  - say.py (CLI TTS client)
  - test_voices.sh (voice testing)
  - download_samples.sh (OpenAI samples)

- Remove Windows batch files (.bat) - Linux/Docker focus
  - startup.bat
  - download_samples.bat
  - download_voices_tts-1.bat
  - download_voices_tts-1-hd.bat

- Create docs/ directory with AUDIT.md:
  - Complete repository file audit
  - Document 10+ abandoned TTS models to integrate
  - Plan for binary mirror strategy
  - Outline future refactoring to src/ structure

Raccoon mission: Scripts are in scripts/, docs reference them.
No code belongs in docs/ - only documentation.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 09:25:21 -05:00