openbezal/rhema
Real-time AI Bible verse detection for live sermons. Tauri desktop app with NDI broadcast output
What it solves
Rhema is a real-time AI-powered system designed for live sermons and broadcasts. It solves the problem of manually searching for and displaying Bible verses during a live talk, by automatically detecting references and quotes in the audio feed and rendering them as professional, broadcast-ready overlays via NDI.
How it works
The application uses a multi-strategy detection pipeline to identify verses:
- Speech-to-Text: It transcribes live audio using either local Whisper models or the Deepgram cloud API.
- Detection Strategies: It employs direct reference parsing (Aho-Corasick and fuzzy matching), quotation matching against known texts, and semantic search using Qwen3-0.6B ONNX embeddings for paraphrase matching.
- Context Tracking: It tracks sermon context and utilizes a "reading mode" that locks to specific books and chapters for easier navigation.
- Output: Detected verses are sent to a broadcast queue and rendered as overlays with customizable themes via the NDI 6 SDK.
- Backend/Frontend: Built with a Rust backend (Tauri v2) for performance-critical tasks like audio capture and ML inference, and a React frontend for the user interface.
Who it’s for
- Live production teams for churches and ministries.
- Broadcasters who need automated, real-time scripture reference overlays.
- Speakers who want voice-controlled translation switching and automated verse display.
Highlights
- Real-time STT: Support for both local (Whisper) and cloud (Deepgram) transcription.
- Cros-platform: Works on Windows, macOS, and Linux.
- Semantic Search: Optional embedding-based re-ranking for high-accuracy paraphrase detection.
- Broadcast Integration: Professional NDI output with configurable resolution and alpha modes.
- Voice Control: Ability to switch Bible translations (e.g., "read in NIV") via voice commands.
- Extensive Database: Bundled with 10 translations and over 340,000 cross-references.
Related
- Project
- Project
- Project
- Project
- Project