Commit Graph
6 Commits
Author SHA1 Message Date
diodiogod adcd5a2000 Fix tensor dimension issues in concatenation assembly
- Filter out empty audio segments before processing to prevent dimension errors
- Normalize tensor dimensions before crossfade operations
- Handle mixed 1D/2D tensors properly in both simple and crossfade concatenation
- Fixes 'too many indices for tensor of dimension 1' error
- Prevents empty segments from causing 0.00s audio generation issues
2025-09-05 20:33:06 -03:00
diodiogod 5e48b69780 Fix tensor dimension error in concatenation assembly
- Handle mixed 1D/2D tensor dimensions properly in concatenation mode
- Fix IndexError when accessing dimension 1 on 1D tensors
- Add proper tensor normalization for consistent concatenation
- Support both mono (1D) and stereo (2D) audio segments in same sequence
2025-09-05 20:09:55 -03:00
diodiogod 1d78cdf053 Version 4.8.1
Fix SRT overlapping functionality system-wide

Technical implementation:
- Add unified timing mode routing in AudioAssemblyEngine with assemble_by_timing_mode()
- Fix ChatterBox Official 23-Lang processor to use correct assembly method for pad_with_silence mode
- Now properly uses assemble_with_overlaps() instead of assemble_smart_natural() for overlaps
- All engines (ChatterBox, F5-TTS, Higgs Audio, VibeVoice) now handle overlaps consistently
- Resolves audio being cut off when SRT segments overlap in timing
2025-09-05 20:07:02 -03:00
diodiogod d99318fe42 Modularize SRT overlap detection across all TTS engines
- Create utils/timing/overlap_detection.py with SRTOverlapHandler class
- Centralize overlap detection and smart_natural fallback logic
- Update ChatterBox, F5-TTS, and Higgs Audio to use modular utility
- Remove duplicate _detect_overlaps methods from all engines
- Ensure consistent overlap handling behavior across engines

Now all engines use the same logic for detecting overlapping SRT segments
and automatically falling back from smart_natural to pad_with_silence mode.
2025-08-20 18:44:02 -03:00
diodiogod 95d3b691a4 feat: Add viseme detection (vowel classification) to mouth movement analyzer
- Enhanced geometric feature extraction for comprehensive mouth shape analysis
- Implemented vowel classification (A, E, I, O, U) based on lip geometry
- Added new SRT format option to display detected viseme sequences
- New toggle for enabling/disabling viseme detection
- Caching system supports viseme detection state
- Viseme sequences grouped for readability (A3-E2-I-O4)

Technical implementation:
- Extract 8 geometric features: lip width/height, mouth area, roundedness, curvature
- Rule-based vowel classification with confidence scoring
- Frame-by-frame viseme detection integrated with existing movement analysis
- ~20% performance impact when enabled, fully cached for repeated analysis
2025-08-15 01:06:41 -03:00
diodiogod b21d0212fb Major refactoring: Reorganize project structure for better maintainability
🔧 ENGINES SEPARATION:
- Move chatterbox/ → engines/chatterbox/ (TTS/VC engine + models)
- Move chatterbox/f5tts/ → engines/f5tts/ (F5-TTS engine)
- Move adapters/ → engines/adapters/ (engine adapters for multilingual system)

📁 NODES ORGANIZATION:
- Create nodes/chatterbox/ for ChatterBox nodes (TTS, VC, SRT)
- Create nodes/f5tts/ for F5-TTS nodes (TTS, SRT, Edit, Options)
- Create nodes/audio/ for audio processing nodes (analyzer, recorder)
- Create nodes/base/ for base classes
- Rename node files for clarity (tts_node.py → chatterbox_tts_node.py)

🗂️ UTILITIES RESTRUCTURE:
- Replace core/ with organized utils/ structure
- utils/audio/ - Audio processing, analysis, caching
- utils/text/ - Text processing, character parsing, chunking
- utils/voice/ - Voice discovery, multilingual engine
- utils/timing/ - SRT timing logic (from chatterbox_srt/)
- utils/models/ - Model management (ChatterBox + F5-TTS)
- utils/system/ - System utilities, import management

🔄 IMPORT PATH UPDATES:
- Update all import paths to use new organized structure
- Fix lazy imports in nodes for runtime compatibility
- Restore missing F5-TTS edit engine from git history
- Fix path resolution for voice discovery and character aliases

🎯 KEY IMPROVEMENTS:
- Engine-centric organization with clear separation
- Purpose-driven folder grouping for better navigation
- Self-documenting file names indicating ownership
- Scalable structure for future engine additions
- Maintains backward compatibility for existing workflows

All 10 nodes loading successfully with complete functionality preserved.
2025-08-02 18:50:26 -03:00