DaVoice Documentation
On-device voice AI integration guides for Python, React Native, Expo, Flutter, and Web
This documentation hub covers the practical integration flow for DaVoice on-device voice AI, including wake word detection, speaker identification and speaker verification, speech-to-text, text-to-speech, and voice-gated pipelines where supported by each platform repository.
General Integration Flow
The general DaVoice integration story is now broader than a wake-word-only guide. Across the current repositories, DaVoice supports several production voice building blocks: wake word detection, speaker identification, speaker verification, speech-to-text, text-to-speech, and voice isolation or gating before STT where supported.
The best production integrations usually follow the same flow:
- 1. Add the platform SDK or example repository as your reference integration.
- 2. Install runtime dependencies and native permissions for microphone and speech flows.
- 3. Load the DaVoice license and models for your target platform.
- 4. Decide whether your app is wake-word-only or full voice AI.
- 5. If needed, onboard a speaker signature for speaker verification or speaker-aware wake word flows.
- 6. Start the wake word listener or direct speech capture loop.
- 7. If wake word is detected, pause or hand off cleanly into STT.
- 8. If your product speaks back, pause STT and resume the listening pipeline after TTS completes.
Search engines and developers alike tend to look for documentation by concrete platform phrases such as React Native wake word, Flutter speech to text, Python speaker verification, and web keyword spotting. This page is structured around those phrases intentionally so the documentation is easier to discover and easier to skim.
Platform Overview
Python Documentation
Wake word detection, speech to intent, speaker onboarding, speaker verification, and speaker-gated STT flows.
React Native Documentation
Full on-device voice AI for iOS and Android with wake words, speaker verification, STT, and TTS.
Expo Documentation
Expo-managed integration for DaVoice full voice AI plus wake word with native model copying during prebuild.
Flutter Documentation
Full Flutter voice AI stack with wake word, speaker verification, speech to text, text to speech, and optional Gemini chat.
Web Documentation
Browser-based wake word detection for React, JavaScript, Angular, Node-related frontend workflows, and other web frameworks.
Platform Documentation
Python Documentation
Wake word detection, speech to intent, speaker onboarding, speaker verification, and speaker-gated STT flows.
Repository: Python_WakeWordDetection
Example folder: open example README / runnable sample
SEO terms covered: Python wake word detection, Python speech to intent, Python speaker verification, Python speaker identification, Python STT gateway
Capabilities
- • Wake word and keyword detection for Linux, macOS, and Windows
- • Speech to intent flows after wake word activation
- • Speaker onboarding that saves reusable enrollment JSON
- • Wake word with speaker verification for user-specific activation
- • Speaker verification gateway before STT so downstream ASR receives primarily target-speaker audio
Integration Steps
- 1. Clone the repository and review the install scripts.
- 2. Edit the installation scripts to match your Python version before running them.
- 3. Run `source first_time_installation.sh` for a first install, or `source install.sh` if your environment already exists.
- 4. Run the example with `cd example && python example.py`.
Quick Start
# First-time setup
source first_time_installation.sh
# Run the demo
cd example
python example.pyImplementation Notes
- • The repo includes dedicated speaker-verification examples such as onboarding, verification, gateway-before-STT, and wakeword-with-speaker-id.
- • The example folder is the fastest path for developers evaluating custom wake words, speaker-aware wake words, and voice-gated STT pipelines.
Platform Documentation
React Native Documentation
Full on-device voice AI for iOS and Android with wake words, speaker verification, STT, and TTS.
Repository: ReactNative_DaVoice
Example folder: open example README / runnable sample
SEO terms covered: React Native wake word, React Native speech to text, React Native text to speech, React Native speaker verification, React Native on-device voice AI
Capabilities
- • Unified pipeline for wake word, speaker verification, STT, and TTS
- • Speaker identification and speaker verification onboarding flows
- • Wake word and STT both support speaker identification and isolation
- • On-device TTS with multiple voices and quality options
- • Example source split by feature areas so teams can copy only the modules they need
Integration Steps
- 1. Install dependencies in the example app.
- 2. Install iOS pods after dependency install.
- 3. Configure local Gemini demo keys only in ignored local files if using the AI chat example.
- 4. Ensure Metro supports model assets such as `.onnx` and `.dm`.
- 5. Grant microphone permission and speech-recognition permission where relevant.
Quick Start
cd example
yarn
# Android
npx react-native run-android
# iOS
cd ios
pod install
cd ..
npx react-native run-iosImplementation Notes
- • The example app is designed to demonstrate the real orchestration problem: pausing wake word detection before STT, pausing STT before TTS, then resuming listening cleanly.
- • The example repo is organized into `wakeword`, `speaker_verification`, `stt`, `tts`, `initialization`, and `aichat` modules for production teams that want to copy only part of the full stack.
Platform Documentation
Expo Documentation
Expo-managed integration for DaVoice full voice AI plus wake word with native model copying during prebuild.
Repository: ReactNative_DaVoice/expo
Example folder: open example README / runnable sample
SEO terms covered: Expo wake word, Expo speech to text, Expo text to speech, Expo speaker verification, Expo native asset plugin, Expo voice AI
Capabilities
- • Expo config plugin support for `react-native-davoice` and `react-native-wakeword`
- • Copies filename-based `.onnx` and `.dm` model assets into native Android and iOS output
- • Raises Android `minSdkVersion` to `26` where required
- • Supports full voice flows including wake word, STT, TTS, and speaker-aware features
Integration Steps
- 1. Install the Expo and DaVoice-related packages.
- 2. Copy local Expo config files and update app identifiers.
- 3. Place filename-based native models under `assets/models/local/`.
- 4. Run `npx expo prebuild --clean` so the plugin can generate native config and copy assets.
- 5. Run locally with `npx expo run:android` or `npx expo run:ios`.
Quick Start
npm install
npm install expo expo-dev-client expo-build-properties @expo/config-plugins
cp local.expo.config.example.js local.expo.config.js
npx expo prebuild --clean
npx expo run:android
# or
npx expo run:iosImplementation Notes
- • Expo needs this extra native-asset step because some wake word and speaker models are loaded by filename rather than normal JS bundling.
- • This is the right path for teams that want Expo managed workflow plus DaVoice wake word, STT, TTS, and speaker verification.
Platform Documentation
Flutter Documentation
Full Flutter voice AI stack with wake word, speaker verification, speech to text, text to speech, and optional Gemini chat.
Repository: Flutter_DaVoice
Example folder: open example README / runnable sample
SEO terms covered: Flutter wake word, Flutter speech to text, Flutter text to speech, Flutter speaker verification, Flutter on-device voice AI
Capabilities
- • Wake word detection with always-listening flow
- • Speaker onboarding, saved signature reuse, and real-time speaker verification
- • Real-time STT and on-device TTS in one coordinated app flow
- • Bundled example assets and custom wake word support
- • Designed around iOS audio-routing and interruption realities
Integration Steps
- 1. Run the repository LFS/bootstrap helper if needed.
- 2. Install Flutter dependencies inside the example app.
- 3. Add your DaVoice license either from `licensekey.txt` or manually at startup.
- 4. Optionally configure Gemini only for the AI chat demo.
- 5. Run the example app on Android or iOS after permissions are in place.
Quick Start
./scripts/ensure-lfs.sh
cd example
flutter pub get
# Then run your target platform
flutter runImplementation Notes
- • The Flutter example already includes the required microphone permissions and iOS speech-recognition permissions in the example app.
- • The README also documents how to add a custom wake word model by copying the ONNX file into bundled assets and native platform asset locations.
Platform Documentation
Web Documentation
Browser-based wake word detection for React, JavaScript, Angular, Node-related frontend workflows, and other web frameworks.
Repository: Web_WakeWordDetection
Example folder: open example README / runnable sample
SEO terms covered: Web wake word detection, JavaScript wake word, React wake word, Angular wake word, browser wake word, on-device web keyword spotting
Capabilities
- • Wake word detection and speech-to-intent support for browser applications
- • CPU and GPU optimized path in the updated example
- • Works with React, JavaScript, Angular, Vue, Svelte, Next.js, Nuxt, Gatsby, Ember, Backbone, and Mithril-style web apps
- • Integrates through `web-wake-word-cpu-gpu-opt` plus local models and worklet assets
Integration Steps
- 1. Install dependencies and build the example.
- 2. Serve it over HTTPS for microphone access.
- 3. Install `web-wake-word-cpu-gpu-opt` in your app.
- 4. Copy the three required runtime assets: `models/`, `ort-wasm-simd-threaded.wasm`, and `audio-worklet-processor.js`.
- 5. Initialize `KeywordDetector` with your models path, wasm path, and audio worklet path.
Quick Start
cd example
npm install
npm run build
# Serve with HTTPS for microphone access
npm install -g http-server
http-server . -p 8080 --ssl --cert cert.pem --key key.pemImplementation Notes
- • The current web repository is wake-word focused. It is the right documentation target for web keyword spotting today.
- • Because browser microphone APIs are stricter than native mobile, the example documents HTTPS setup and explicit asset placement carefully.
Why This Documentation Structure Works
Good developer SEO usually comes from pages that combine concrete product capability terms, specific platform terms, real setup steps, and links to runnable examples. That is why this documentation page is organized as a documentation hub rather than only a short marketing summary.
Each section on this page connects the platform name, the voice capabilities supported today, the repository source of truth, and the first commands developers need to run. That makes the page more useful for human readers and also better aligned with how engineers search for integration help.