🎤 Micdrop

Real-time voice conversations with AI

Add a full voice mode to your web or React Native app with a few lines of TypeScript.

npm install @micdrop/web
import { Micdrop } from '@micdrop/web'
Micdrop.start({ url: 'wss://your-server.com' })
Micdrop.on('StateChange', (state) => {
console.log(state.conversation)
console.log(state.isAssistantSpeaking)
})
Micdrop.on('EndCall', () => {
console.log('Call ended by assistant')
})
// Hang up
Micdrop.stop()

What you can build

Micdrop takes care of the audio loop, so what is left to write is the product around it.

A voice mode in your product

Read the docs

A React Native app that talks

Read the docs

An agent that acts while it talks

Read the docs

Forms filled by speaking

See the demo

A 3D world that answers back

See the demo

Voice onboarding in a SaaS

Coaching and language practice

Spoken assessments

Whatever else you have in mind

Start building

How it works

Audio leaves the microphone, crosses the client and your server, runs through transcription, the agent and speech synthesis, and comes back as a voice.

Mic Speaker Client Server STT Agent TTS
Audio Message chunks Messages

Voice input

The client captures the microphone, voice activity detection spots speech, and the audio is streamed to your server.

AI processing

The server runs the transcription, the agent reasoning and its tool calls, then the speech synthesis of the answer.

Voice output

The generated audio streams back and plays, with interruptions handled the moment the user speaks over the assistant.

Packages

One server, the client for the platform you ship on, and the AI providers you choose.

Core packages

One server, and the client for the platform you are building for

Utilities

React hooks that re-render your components as the call state changes, in the browser and in React Native

Local models

Transcription and voice that run inside your Node process. The audio stays on the machine.

What Micdrop handles for you

The parts that make a call feel live: latency, interruptions, device permissions and the freedom to change provider.

Low latency

Streaming audio processing, voice activity detection (VAD) and an efficient WebSocket transport keep the delay close to real time.

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.

Web and mobile

The browser and React Native clients are two thin layers over the same engine, so a call behaves the same on a laptop and on a phone. Microphone permission, audio session and echo cancellation are handled for you.

Developer experience

Written in TypeScript, with typed events, React hooks, runnable examples and documentation that covers every provider.

Build sovereign voice AI

Combine European AI providers to keep your data and your infrastructure inside EU borders, in French as well as in 90 other languages.

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

See it in action

The creator walks through Micdrop and how the pieces of a voice pipeline fit together.

Just call Micdrop.start() and your app holds a conversation.

Start building

Free and open source under the MIT license. Bring your own API keys, or run the models on your own machine.