6.9 KiB
6.9 KiB
🎧 TTS Conversation Mode
Overview
EVE now supports Audio Conversation Mode - an immersive listening experience where assistant responses automatically play as audio with text hidden by default, similar to talking with a voice assistant like Alexa or Siri.
Features
Auto-Play Audio
- ✅ Assistant responses automatically start playing when received
- ✅ No manual clicking on speaker icon required
- ✅ Seamless conversation flow
Hidden Text by Default
- ✅ Text is hidden by default to focus on audio
- ✅ "Show Text" / "Hide Text" toggle button on each message
- ✅ Text can be revealed anytime with one click
- ✅ Visual indicator shows Audio Mode is active
Visual Feedback
- ✅ Animated pulsing audio controls during playback
- ✅ Purple "Audio Mode" badge on messages
- ✅ Pulsing volume icon on mode toggle button
- ✅ Loading spinner during audio generation
Mode Toggle Options
Option 1: Quick Toggle Button
- Located above chat input (when TTS enabled)
- Click to instantly switch modes
- Visual states:
- 🔊 Purple gradient + pulsing = Audio Mode ON
- 📄 Gray = Text Mode (normal)
Option 2: Settings Panel
- Settings → Voice Settings
- Checkbox: "🎧 Audio Conversation Mode"
- Description explains functionality
How to Use
Enabling Audio Mode
Quick Method:
- Enable TTS in Settings
- Click the mode toggle button above input
- Purple gradient + pulsing icon = Audio Mode active
Settings Method:
- Open Settings (⚙️)
- Go to Voice Settings
- Enable "Text-to-speech"
- Check "🎧 Audio Conversation Mode"
Using Audio Mode
- Send a message as normal
- Assistant responds - Audio auto-plays automatically
- Text is hidden - Focus on listening
- Want to see text? Click "Show Text" button
- Hide text again? Click "Hide Text" button
- Control playback using pause/stop buttons
Switching Modes
To Audio Mode:
- Click toggle button (shows 🔊)
- Or check box in Settings
To Text Mode:
- Click toggle button (shows 📄)
- Or uncheck box in Settings
Visual Indicators
Audio Mode Active
- Toggle button: Purple gradient with pulsing 🔊 icon
- Messages: Purple "Audio Mode" badge
- Controls: Pulsing animation during playback
- Text: Hidden with "Show Text" button visible
Text Mode Active
- Toggle button: Gray with 📄 icon
- Messages: Normal display with text visible
- Controls: Standard speaker icon (click to play)
Use Cases
Hands-Free Interaction
- Listen while working on other tasks
- Accessibility for visually impaired users
- Multitasking while getting information
Language Learning
- Hear pronunciation naturally
- Focus on listening comprehension
- Reduce reading, increase hearing
Driving/Commuting
- Safe voice-only interaction
- No need to read screen
- Conversational experience
Preference
- Some users prefer audio over reading
- More natural conversation feel
- Less eye strain
Technical Details
Auto-Play Implementation
// In ChatMessage component
{ttsConversationMode && (
<TTSControls
autoPlay={true} // Triggers auto-play on mount
text={message.content}
/>
)}
Text Visibility Toggle
const [isTextVisible, setIsTextVisible] = useState(!ttsConversationMode)
// Button to toggle
<button onClick={() => setIsTextVisible(!isTextVisible)}>
{isTextVisible ? 'Hide Text' : 'Show Text'}
</button>
// Conditional rendering
{isTextVisible && <MessageContent content={message.content} />}
Auto-Play Trigger
// In TTSControls component
useEffect(() => {
if (autoPlay && voiceEnabled && !isPlaying && !isLoading) {
const timer = setTimeout(() => {
handlePlay() // Start playing after 500ms delay
}, 500)
return () => clearTimeout(timer)
}
}, []) // Only run on mount
Settings Persistence
Audio Mode preference is:
- ✅ Saved to localStorage
- ✅ Persists across sessions
- ✅ Synced between toggle button and settings
- ✅ Independent of TTS enabled state
// Settings store
ttsConversationMode: boolean // Defaults to false
Behavior Details
When Audio Mode is ON
- User sends message
- Assistant responds
- TTS auto-plays (500ms delay for initialization)
- Text is hidden
- Controls show pause/stop buttons
- User can:
- Show/hide text anytime
- Control playback (pause/resume/stop)
- Continue normal conversation
When Audio Mode is OFF
- User sends message
- Assistant responds
- Text is shown immediately
- No auto-play
- User can click speaker icon to manually play
Limitations
Current Limitations
- Auto-play only works if TTS is enabled
- Requires valid TTS voice selection
- Browser may block auto-play (user gesture required first time)
- One message plays at a time
Future Enhancements
- Queue system - Auto-play multiple messages
- Speed controls during playback
- Skip forward/back buttons
- Transcript following - Highlight words as spoken
- Voice response - Auto-enable STT after assistant speaks
- Conversation history - Audio mode for old messages
Troubleshooting
Audio Not Auto-Playing
Check:
- ✅ TTS is enabled in settings
- ✅ Voice is selected (not "default")
- ✅ Audio Mode is ON (purple button)
- ✅ ElevenLabs API key configured (for ElevenLabs voices)
Try:
- Click speaker icon manually once (browser permission)
- Reload page
- Check browser console for errors
Text Not Hiding
Check:
- ✅ Audio Mode is actually enabled
- ✅ Purple badge shows "Audio Mode"
- ✅ New messages (existing messages don't update)
Try:
- Send new message
- Toggle mode off and on
- Refresh page
Controls Not Showing
Check:
- ✅ TTS is enabled
- ✅ Message is from assistant (not user)
Mode Toggle Button Not Visible
Check:
- ✅ TTS is enabled in settings
- Only shows when
voiceEnabled === true
Tips
Best Experience
- Use ElevenLabs voices for highest quality
- Adjust speed in settings for comfortable listening
- Enable continuous STT for hands-free input
- Use quality headphones for best audio
- Start with short messages to test
Recommended Settings
Audio Mode: ON
TTS Voice: ElevenLabs (any)
TTS Model: eleven_turbo_v2_5
Speed: 1.0x - 1.25x
Stability: 50%
Clarity: 75%
Examples
Audio-First Workflow
- Enable Audio Mode
- Ask: "Explain quantum computing"
- Listen to audio explanation
- If needed, click "Show Text" for reference
- Ask follow-up question
- Repeat
Reading + Listening
- Keep Audio Mode ON
- Click "Show Text" on messages
- Read while listening
- Best for learning/comprehension
Pure Audio Experience
- Enable Audio Mode
- Enable Continuous STT
- Never touch keyboard
- Speak questions, listen to answers
- True voice assistant experience
Status: ✅ Complete
Version: v0.2.0-rc
Date: October 5, 2025