Patch Notes - April 19, 2025 ✨ So Much New Stuff! ✨
Hello everyone! I've been a super busy bee 🐝, and I'm thrilled to bring you this update! It includes some really big behind-the-scenes changes I made to make everything run smoother, plus some sparkly new features and fixes. Let's dive in!
🚀 Mega Makeover: Shiny New Architecture! (#4)
I've given the core way conversations are handled a major glow-up! ✨ It's now built around a clever state machine and uses nifty event channels for communication.
Why the change? Honestly, the old way was getting a bit tangled! Too much was happening in one place, making it tricky for me to manage, update, and keep things running happily side-by-side.
What's new?
- Specialized Helpers! Instead of one overworked manager, there's now a system of specialized components (like Input Adapters, a Transcription Service, an Utterance Aggregator, and more!) that chat with each other using events. 💌
- Benefits Galore:
- State Management Zen: Keeping track of the conversation state is now neatly handled by the
ConversationOrchestrator. Phew! 🙏 - Smooth Operations: Components handle their async tasks gracefully, and events make coordination a breeze.
- Interrupt Power! Handling interruptions (barge-in) and cancellations is much cleaner now.
- Ready for the Future: Adding new ways to interact (like text input or cool function calls) will be much easier for me! 🚀
- State Management Zen: Keeping track of the conversation state is now neatly handled by the
✨ Sparkly New Features!
- Memory Magic: Introducing
ConversationContextto remember all the chat details and turns,ConversationSessionto manage the whole chat lifecycle like a pro, and theConversationOrchestratorto juggle multiple chats at once! (07a0b3d) - Speed Tracker: I'm now keeping an eye on how fast the LLM, TTS, and audio bits are working! ⏱️ (040c9f6)
- Mic Check, 1, 2! 🎤
- "Excuse Me?" - Barge-In Power! Now you can interrupt the assistant much more smoothly, thanks to improved detection! (b97bfa9) Plus, you get new settings to control exactly when and how interruptions happen. Your chat, your rules! (e52d756)
- Audio Updates:
- ASR Goodies: More options for Automatic Speech Recognition, including new Whisper settings! 🗣️ (bac3d91)
- Live2D Magic & Meet Aria! 🎨💖
- Added services for Emotions and Idle/Blinking animations for Live2D models! Get ready for more expressive characters! (0148ec4)
- Made
LAppModeleven smarter at understanding motion groups. (d9d0a2d) - Built a whole system just for tracking emotions! (770b622)
- 🌟 Ta-da! Meet Aria! 🌟 To show off all these amazing new Live2D possibilities (like emotions and lip-sync!), I've included a brand new, fully rigged demo model named Aria! This little cutie (who's maybe just a tad smug and sarcastic 😉) was drawn and rigged entirely by hand, from scratch, by me, learning Live2D just for this! 🥰 It took a ton of effort and love, so please check her out and see the new features in action!
- Lip Sync Upgrade: Added shiny new VBridger-based lip sync! (9e27050)
- Rendering Sparkle:
🛠️ Tinkering & Tidying Up
- Mic Input Polish: Made the microphone input code a bit simpler and tidier. ✨ (753ab69, 789ec27)
- Audio Player Lifecycle: Made the audio player easier to manage behind the scenes. (89e2c12)
- Code Cleanup: Removed some old viseme bits that weren't needed anymore. Spring cleaning! 🧹 (9e27050)
- Live2D Tweaks:
🐛 Bug Squashing!
- TTS Chit-Chat: Fixed a funny bug where the TTS system would sometimes read speaker tags out loud. Oops! 🤭 (3b1f78e)
- Lost & Found Links: Updated some links in the instructions so they actually go to the right place! (bff6851)
📚 Story Time: Documentation Updates
- README Refresh: Gave the main README file a nice makeover. (b4fc703)
- Live2D Guide: Added a guide to help with Live2D rigging! 🎨 (b4fc703)
- Clearer Instructions: Updated links in the usage instructions for less confusion. (bff6851)
I hope you love all the changes and new features! Especially give a warm welcome to Aria! Let me know what you think! 💖