v2.1.0 - Gapless Audio & Continuous Conversation
Major Features
🎵 Gapless Audio Playback
- Implemented persistent stream sessions for seamless multi-chunk audio
- Filler audio flows directly into response chunks with no gaps
- Works with both Teddy Ruxpin (44.1kHz) and Squawkers McCaw (48kHz)
💬 Continuous Conversation Mode
- Multi-turn dialogues without requiring wake word for each turn
- Natural back-and-forth conversation flow
- Configurable conversation timeout
⚡ RVC Warmup
- Pre-loads RVC models during startup
- Eliminates first-use delay for voice conversion
- Faster initial responses
🚗 New Kitt Personality
- K.I.T.T. from Knight Rider with RVC voice conversion
- Custom voice model integration
- Complete with character-appropriate responses
⚙️ Configurable Filler Audio
- New ENABLE_FILLER_AUDIO environment variable
- Option to disable filler phrases for faster responses
- Maintains backwards compatibility
Improvements
- macOS Audio Fixes: Resolved audio playback hangs and stream timeout issues
- RVC Index Feature: Enabled index_rate for better voice quality (fixed faiss/PyTorch OpenMP conflict)
- Transcript Validation: Prevents responses to empty or meaningless speech (um, uh, etc.)
- Audio Recorder: Enhanced reliability for continuous conversation mode
- Documentation: Updated setup and configuration guides
Bug Fixes
- Fixed CoreAudio stream abandonment strategy on macOS
- Resolved audio recorder restart issues in continuous mode
- Fixed multiple playback timing and buffer management issues
- Corrected buffer drain timing to prevent stream close timeouts
Technical Details
New APIs:
AudioPlayer.start_playback_session()AudioPlayer.write_session_chunk()AudioPlayer.end_playback_session()
Backwards Compatibility:
- All changes are backwards compatible
- Existing
play_stereo()API maintained for single-shot playback - No breaking changes to configuration or personality files
Full Changelog: v2.0.0...v2.1.0