A Go implementation of nextcloud/live_transcription — real-time speech-to-text for Nextcloud Talk calls.
This is a ground-up rewrite of the original Python app, built as an AppAPI ExApp using Go, WebRTC, and Vosk for offline speech recognition.
- Connects to the Nextcloud High-Performance Backend (HPB) via WebSocket
- Joins Talk calls as a subscriber and receives audio over WebRTC
- Decodes Opus audio and feeds it to a local Vosk model for recognition
- Sends live transcription results back to call participants via data channels
- pion/webrtc — WebRTC stack
- alphacep/vosk-api — speech recognition
- hraban/opus — Opus audio decoding
- Nextcloud 33+
- AppAPI with a registered deploy daemon
- A running HPB (standalone signaling server)
Set these environment variables before deployment:
| Variable | Description |
|---|---|
LT_HPB_URL |
HPB WebSocket URL (e.g. wss://cloud.example.com/standalone-signaling/spreed) |
LT_INTERNAL_SECRET |
HPB internal secret for authentication |
SKIP_CERT_VERIFY |
Optional: set true to skip TLS verification |