homeguild_voice_kit
Voice conversation orchestration for Flutter. Plug in any STT and TTS provider, connect your backend, and get a complete voice AI experience with a battle-tested state machine, streaming sentence buffering, and ready-made widgets.
Part of Voice Kit by HomeGuild Labs.
Features
- VoiceConversationManager — orchestrates the full voice loop: listen, transcribe, send to backend, speak response
- Pluggable providers —
STTProvider,TTSProvider, andVoiceStreamAdapterabstract interfaces - State machine — idle, listening, processing, speaking with automatic transitions and interrupt handling
- Sentence buffering — streams partial sentences to TTS as they arrive (on
.?!or length threshold) - Filler word cleanup — strips "um", "uh", "like", "you know" (configurable)
- Tool announcements — speaks status messages during tool calls
- Ready-made widgets —
VoiceInputButton,VoiceStatusIndicator,VoiceTranscriptDisplay
Quick Start
import 'package:homeguild_voice_kit/homeguild_voice_kit.dart';
import 'package:homeguild_voice_deepgram/homeguild_voice_deepgram.dart';
import 'package:homeguild_voice_openai_tts/homeguild_voice_openai_tts.dart';
final manager = VoiceConversationManager(
sttProvider: DeepgramSTTProvider(apiKey: 'YOUR_DEEPGRAM_KEY'),
ttsProvider: OpenAITTSProvider(apiKey: 'YOUR_OPENAI_KEY'),
streamAdapter: MyBackendAdapter(),
);
await manager.startConversation(context: {'agent': 'support'});
Writing Your Own Provider
Implement STTProvider, TTSProvider, or VoiceStreamAdapter to integrate any service. See the full documentation for examples.
License
MIT — see LICENSE.
Built by HomeGuild Labs — powering AI voice assistants for service professionals.
Libraries
- homeguild_voice_kit
- Voice conversation orchestration for Flutter.
- widgets/voice_status_indicator
- widgets/voice_transcript_display