🖐️🎤 Micdrop
Real-time voice conversations with AI in the browser
Integrate a powerful voice mode in your webapp with a few lines of code using Micdrop. Use provided AI integrations (agents, STT, TTS) or build your own. Build the best UX with our SDK.
Free, open source (MIT). Bring your own API keys, or run the models on your own machine.
npm install @micdrop/clientimport { Micdrop } from '@micdrop/client'
// Start a voice conversationMicdrop.start({ url: 'wss://your-server.com/'})
// Listen for eventsMicdrop.on('StateChange', (state) => { console.log('Conversation:', state.conversation) console.log('isAssistantSpeaking:', state.isAssistantSpeaking)})
Micdrop.on('EndCall', () => { console.log('Call ended by assistant')})npm install @micdrop/server \ @micdrop/openai \ @micdrop/gladia \ @micdrop/elevenlabsimport { MicdropServer } from '@micdrop/server'import { OpenaiAgent } from '@micdrop/openai'import { GladiaSTT } from '@micdrop/gladia'import { ElevenLabsTTS } from '@micdrop/elevenlabs'import { WebSocketServer } from 'ws'
const wss = new WebSocketServer({ port: 443 })
wss.on('connection', (socket) => { // Handle voice conversation new MicdropServer(socket, { firstMessage: 'How can I help you today?',
agent: new OpenaiAgent({ apiKey: process.env.OPENAI_API_KEY, systemPrompt: 'You are a helpful assistant' }),
stt: new GladiaSTT({ apiKey: process.env.GLADIA_API_KEY }),
tts: new ElevenLabsTTS({ apiKey: process.env.ELEVENLABS_API_KEY, voiceId: process.env.ELEVENLABS_VOICE_ID }) })})How It Works
Micdrop orchestrates a complete voice conversation pipeline. Watch how voice data flows through each component in real-time, from your microphone to AI responses and back to your speakers.
🎤 Voice Input
Client captures microphone input, VAD detects speech, and audio chunks are sent to the server for processing.
🤖 AI Processing
Server orchestrates STT transcription, AI agent reasoning, tool calls, and TTS generation for natural responses.
🔊 Voice Output
Generated audio streams back to the client for playback, with full support for interruptions and real-time interaction.
📦 Packages
Modular architecture with specialized packages for different use cases
Core Packages
Essential packages for browser and server-side implementation
AI Integrations
Ready-to-use integrations with popular AI providers
Local Models
Transcription and voice that run inside your Node process. The audio stays on the machine.
start() and your app has complete voice AI. Low Latency
Optimized for minimal delay with streaming audio processing, voice activity detection (VAD), and efficient WebSocket communication for near real-time voice interactions.
AI Provider Agnostic
Choose the best AI providers for your use case. Mix and match OpenAI, ElevenLabs, Cartesia, Mistral, Gladia, and more. Build custom integrations using our abstract interfaces.
Runs On Your Machine
The local packages run the speech models inside your Node process and the agent on Ollama, so the whole conversation works offline, with no API key and no audio leaving the machine.
Developer Experience
Built with TypeScript for excellent DX. Comprehensive documentation, React hooks, demo applications, and detailed examples to get you started quickly.
Build Sovereign Voice AI
Micdrop is the perfect solution to build sovereign voice AI applications, especially in French. Combine European AI providers to keep your data and infrastructure fully within EU borders.
Mistral
Agent (LLM) & Speech-to-Text
French LLM and realtime transcription
Gladia
Speech-to-Text
French STT with 90+ languages
Gradium
Speech-to-Text & Text-to-Speech
French STT and TTS with natural voices
Local models
Agent, Speech-to-Text & Text-to-Speech
Whisper, Piper and Ollama on your own machine
100% open-source stack. Your data stays in the EU, or on your own machine with local models. Full GDPR compliance.
Learn more about sovereign voice AI