54bff8d9d5
Add useSpeechRecognition hook for voice input
...
Implements speech recognition hook wrapping @jamsch/expo-speech-recognition:
- startListening/stopListening/abortListening controls
- Real-time transcript updates with interim results
- Permission handling with user feedback
- Platform-specific options (Android silence timeout, iOS punctuation)
- Error handling with graceful degradation
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-27 16:19:31 -08:00
Sergei
d9fff44fc9
Remove unused expo-speech packages to avoid AudioSession conflicts
...
- Remove expo-speech (TTS) - not used
- Remove expo-speech-recognition (STT) - not used
- Delete dead code: hooks/useSpeechRecognition.ts
These packages add native audio modules that can conflict with
LiveKit's AudioSession management on iOS.
🤖 Generated with [Claude Code](https://claude.com/claude-code )
Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-22 09:41:35 -08:00
Sergei
b2639dd540
Add Sherpa TTS voice synthesis system
...
Core TTS infrastructure:
- sherpaTTS.ts: Sherpa ONNX integration for offline TTS
- TTSErrorBoundary.tsx: Error boundary for TTS failures
- ErrorBoundary.tsx: Generic error boundary component
- VoiceIndicator.tsx: Visual indicator for voice activity
- useSpeechRecognition.ts: Speech-to-text hook
- DebugLogger.ts: Debug logging utility
Features:
- Offline voice synthesis (no internet needed)
- Multiple voices support
- Real-time voice activity indication
- Error recovery and fallback
- Debug logging for troubleshooting
Tech stack:
- Sherpa ONNX runtime
- React Native Audio
- Expo modules
2026-01-14 19:09:27 -08:00