- New utils/text/segment_parameters.py with parameter validation, aliases, and engine compatibility
- Extended CharacterSegment to include per-segment parameters
- Extended language resolver to parse pipe-separated parameters: [Alice|seed:42|temp:0.5]
- Support for: seed, temperature, cfg, speed, top_p, top_k, inference_steps, exaggeration, emotion_alpha
- Case-insensitive aliases and order-independent syntax
- Integrated into VibeVoice Custom Character Switching mode (text and SRT)
- Fixed grouping logic to break groups when parameters change
- Added PARAMETER_SWITCHING_GUIDE.md documentation
- Updated PROJECT_INDEX.md
NOTE: Currently implemented for VibeVoice Custom Character Switching only.
Native Multi-Speaker mode and other engines will be added in future updates.
- Add [language:character] syntax support for multilingual TTS
- Implement language model switching for F5-TTS and ChatterBox
- Add cache optimization to skip model loading when all segments cached
- Fix character parser setup order to ensure proper character recognition
- Add pause tag awareness to cache pre-checking
- Support language defaults in character alias files
- Update documentation with language switching examples
Correct misleading .wav-only references throughout the guide to reflect
actual supported audio formats. The voice discovery system supports
.wav, .mp3, .flac, .ogg, .m4a, and .aac files, but documentation
incorrectly suggested only .wav files were supported.
Changes:
- Update file structure examples to show mixed audio formats
- Add comprehensive supported formats list in multiple sections
- Fix engine differences section (audio files vs .wav files)
- Update setup instructions for both F5TTS and ChatterBox engines
- Enhance troubleshooting section with format information
- Update all example directory structures with diverse formats
- Add comprehensive F5-TTS best practices section to README.md
- Include inference optimization guidelines in CHARACTER_SWITCHING_GUIDE.md
- Cover reference audio duration, case handling, punctuation, and pause control
- Help users avoid common F5-TTS generation failures and audio artifacts
Implement user-friendly character alias system with #character_alias_map.txt file
Support flexible alias formats: 'Alias = Character' and 'Alias[TAB]Character' with smart parsing
Add comprehensive alias documentation to CHARACTER_SWITCHING_GUIDE.md with examples
Update README features to highlight new alias system and improve emoji clarity
Replace old JSON character_alias_map.json with more accessible text format
Maintain backward compatibility with existing JSON files for seamless migration
Fix character discovery system to use filename-based character names instead of folder names
Folders now used for organization only, improving usability and clarity
Update character switching documentation to reflect new system
- Implement universal character parsing for [Character] tags in text
- Add voice discovery system with flat file and folder structure support
- Integrate character switching into all TTS nodes (F5TTS, ChatterBox, SRT)
- Add character alias mapping system with JSON configuration files
- Support both models/voices/ and voices_examples/ directories with priority
- Preserve line-by-line processing in SRT mode for natural narrator fallback
- Maintain all existing functionality including chunking and caching systems
- Add robust fallback system for missing characters
- Include comprehensive user guide and documentation
Features:
- Use [CharacterName] tags to switch voices seamlessly
- Character aliases: map "Bob" -> "Clint_Eastwood CC3 (enhanced2)"
- Automatic voice discovery from file structure
- Works with both F5TTS (audio+text) and ChatterBox (audio-only) engines
- SRT subtitle support with character switching
- Graceful fallback to narrator voice for unknown characters
- Performance optimized with character-aware caching