{"slug": "edgespeech-local-voice-processing-for-react-native", "title": "EdgeSpeech: Local voice processing for React Native", "summary": "Synervoz released EdgeSpeech, a React Native hook for on-device AI speech processing that can be up to 99% cheaper than cloud-based speech-to-speech. The library supports iOS with Android support coming soon, and includes built-in demo credentials for immediate use without a Switchboard account.", "body_md": "A React Native hook that provides on-device AI speech processing, completely locally. This can be up to 99% cheaper than cloud speech-to-speech.\n\n| Platform | Status |\n|---|---|\n| iOS | Supported |\n| Android | Coming soon |\n\n``` js\nimport { EdgeSpeechProvider, useEdgeSpeech } from '@synervoz/edgespeech'\n\nfunction VoiceChat() {\n  const { listen, speak, onTranscriptComplete } = useEdgeSpeech()\n\n  onTranscriptComplete(async (text) => {\n    const response = await chat(text)\n    await speak(response)\n  })\n\n  return <Button onPress={listen} title=\"Start Listening\" />\n}\n\nexport default function App() {\n  return (\n    <EdgeSpeechProvider appId=\"YOUR_APP_ID\" appSecret=\"YOUR_APP_SECRET\">\n      <VoiceChat />\n    </EdgeSpeechProvider>\n  )\n}\n```\n\nTip\n\nThe included [example app](/switchboard-sdk/EdgeSpeech/blob/main/example) shows a complete speech-to-speech workflow.\n\n```\nnpm install @synervoz/edgespeech\n```\n\n| Requirement | Minimum |\n|---|---|\n| React Native | 0.74+ |\n| iOS | 13.4+ |\n| Node.js | 22+ |\n| expo-modules-core | 2.0.0+ |\n\nAdd microphone permission to your `Info.plist`\n\n(or via `app.json`\n\n`infoPlist`\n\nfor Expo managed workflow):\n\n```\n<key>NSMicrophoneUsageDescription</key>\n<string>This app needs microphone access for voice input</string>\n```\n\nBuild your app:\n\n```\nnpx expo run:ios\n```\n\nThe `useEdgeSpeech`\n\nhook provides access to the main functions of the Switchboard SDK.\n\nWrap your app in the `EdgeSpeechProvider`\n\nand configure it.\n\n```\n<EdgeSpeechProvider\n  appId=\"YOUR_APP_ID\"         // Optional: Switchboard app ID\n  appSecret=\"YOUR_APP_SECRET\" // Optional: Switchboard app secret\n  sttModel=\"whisper-base-en\"  // Optional: STT model (default: 'whisper-base-en')\n  ttsVoice=\"en_GB\"            // Optional: TTS voice (default: 'en_GB')\n  vadSensitivity={0.5}        // Optional: VAD sensitivity 0.0–1.0 (default: 0.5)\n>\n  <App />\n</EdgeSpeechProvider>\n```\n\nTip\n\nThis library ships with built-in demo credentials so you can run it immediately without creating a Switchboard account.\n\nNote\n\nYour Switchboard `APP_ID`\n\nand `APP_SECRET`\n\nare **safe to bundle in your application**. They function like a publishing key and are intended to be distributed with your app.\n\nAccess the state and actions from any component with the `useEdgeSpeech`\n\nhook.\n\n```\nconst {\n  // State\n  transcript,              // string       — live interim transcript (clears on final)\n  voiceState,              // 'idle' | 'listening' | 'processing' | 'speaking'\n  error,                   // string | null\n  hasMicrophonePermission, // boolean | null\n\n  // Actions\n  listen,                      // () => Promise<void>\n  stopListening,               // () => Promise<void>\n  speak,                       // (text: string) => Promise<void>\n  stopSpeaking,                // () => Promise<void>\n  requestMicrophonePermission, // () => Promise<boolean>\n\n  // Callbacks\n  onTranscriptComplete, // (cb: (text: string) => void) => void — fires on final transcript\n  onInterrupted,        // (cb: () => void) => void — fires when VAD interrupts TTS\n} = useEdgeSpeech()\n```\n\n", "url": "https://wpnews.pro/news/edgespeech-local-voice-processing-for-react-native", "canonical_source": "https://github.com/switchboard-sdk/EdgeSpeech", "published_at": "2026-07-07 15:22:17+00:00", "updated_at": "2026-07-07 15:30:19.472163+00:00", "lang": "en", "topics": ["ai-tools", "developer-tools", "machine-learning"], "entities": ["Synervoz", "EdgeSpeech", "React Native", "Switchboard", "iOS", "Android"], "alternates": {"html": "https://wpnews.pro/news/edgespeech-local-voice-processing-for-react-native", "markdown": "https://wpnews.pro/news/edgespeech-local-voice-processing-for-react-native.md", "text": "https://wpnews.pro/news/edgespeech-local-voice-processing-for-react-native.txt", "jsonld": "https://wpnews.pro/news/edgespeech-local-voice-processing-for-react-native.jsonld"}}