Build voice agents that respond while the user is still speaking
Moonshine Voice bundles speech recognition and synthesis into a single library, allowing you to build real-time voice agents without complex server setup. It processes audio on-device, so no accounts or API keys are required, and data does not leave the device, making it suitable for privacy-focused applications.
Real-time architecture that processes while speaking
The core of this toolkit is its approach to reducing latency. It applies streaming optimization to convert part of the text and analyze intent before the user finishes speaking. This speeds up response times and maintains a natural conversational flow. All operations are performed locally on the device, so it does not rely on network latency or external API calls. This means it works in offline environments and user data is not sent to a server.
A model lineup with adjustable size and accuracy
The speech recognition models are designed to balance capacity and accuracy. Options range from large models that offer higher accuracy than Whisper Large V3 to ultra-small models that are only 1MB in size. Developers can choose a model based on their hardware specifications and required accuracy level. All models are trained from scratch, and customization for specific domains is supported. Text synthesis is also included, allowing voice input and output to be handled within a single system.
Installation and getting started by platform
A single library supports various platforms, including Python, JavaScript/WASM, iOS, Android, macOS, Linux, Windows, and Raspberry Pi. In a Python environment, install it with the pip install moonshine-voice command, then run moonshine-voice mic --language en to immediately convert microphone input to text. If you are using a coding agent, copy the .agents/skills/moonshine-voice/ folder to your project or run npx skills add moonshine-ai/moonshine --skill moonshine-voice so the agent learns the latest API structure. This prevents confusion with outdated APIs or other speech recognition tools.
License and model usage scope
The library code is released under the MIT license, allowing commercial use. Most models also follow the MIT license, but there are exceptions. Legacy non-streaming models for languages other than English are subject to the non-commercial Moonshine Community License. This list of exception models is specified in the LICENSE file, so if you plan to use non-streaming models for a specific language, you must check the license terms. All other models for all languages and sizes can be used freely.
Before starting real-time voice agent development
This toolkit is suitable for developers building real-time voice interfaces. It is particularly well-suited for applications where privacy protection is important or where the application must operate in environments with unstable network connections. However, since all processing occurs on the device, you must ensure that the user's hardware performance can handle model execution. Ultra-small models work well on low-spec devices, but large models requiring high accuracy may need more resources. Additionally, certain models for languages other than English have license restrictions, so it is advisable to carefully review license terms when selecting the target language and model type.