Private by design
Everything runs on the device. No server, no account, no API key, and no audio sent anywhere.
Private by design
Everything runs on the device. No server, no account, no API key, and no audio sent anywhere.
Hands-free
Built-in voice detection decides when each sentence ends. There is no button to hold down.
Live text
Words appear while the user is still speaking, and they settle in place instead of flickering.
Fast
A sentence is transcribed in a fraction of a second, about 40 times faster than real time on a mid-range phone.
Your audio or ours
Use the built-in microphone handling, or feed in audio your app already records, at any sample rate.
Many models
Download the model you want at runtime: a 50 MB one for small apps, or bigger ones for more accuracy and languages.
final models = await ModelManager.open();final model = await models.ensure(const ModelId('parakeet-tdt_ctc-110m-Q4_K_M'));
final session = await TranscribeSession.open(model);session.text.addListener(() => print(session.text.value.full));
await session.start(); // asks for the microphone, then listens// ...the user speaks...await session.stop();The speech recognition itself is transcribe.cpp, a fast C/C++ engine for many speech models. transcribe_cpp brings it to Flutter and adds what an app needs around it: microphone capture that survives calls and route changes, voice detection, sentence splitting, live text, and model downloads. See the acknowledgements for everyone whose work this builds on.