Overview
A pip-installable Python SDK for connecting to Omi wearable devices over Bluetooth, decoding Opus-encoded audio, and transcribing it in real time using Deepgram. Deepgram transcription requireswebsockets 14.0 or newer. The SDK’s dependency declarations enforce this minimum for its authenticated WebSocket handshake.
Bluetooth Connection
Connect to any Omi device
Opus Decoding
Decode Opus audio to PCM
Real-time Transcription
Deepgram-powered STT
Installation
Prerequisites
The SDK requires the Opus audio codec library:- macOS
- Ubuntu/Debian
- CentOS/RHEL
- Fedora
Install the SDK
- From PyPI
- From Source
Quick Start
1
Set Up Your Environment
Get a free API key from Deepgram:
2
Find Your Omi Device
Scan for nearby Bluetooth devices:Look for a device named “Omi” and copy its MAC address:
3
Write Your Code
4
Run the Example
- Connect to your Omi device via Bluetooth
- Decode incoming Opus audio packets to PCM
- Transcribe audio in real-time using Deepgram
- Print transcriptions to the console
API Reference
Core Functions
Command Line Tools
Deepgram language selection
The Deepgram engine defaults toen-US. Set language to a language supported
by your chosen Deepgram model when transcribing other languages:
omi.transcribe.transcribe function also forwards language="es" through
its engine options. This selects a transcription language; it does not translate
audio or enable automatic language detection. See Deepgram’s
model and language support.
Development
Local Development Setup
bash test.sh. It uses the
repository’s uv environment manager to test the minimum supported websockets
version and is also selected by the shared local/CI check manifest.
Troubleshooting
Opus library error
Opus library error
Make sure the Opus audio codec is installed on your system. See the Prerequisites section above for installation commands.
Bluetooth permission errors on macOS
Bluetooth permission errors on macOS
Go to System Preferences → Privacy & Security → Bluetooth and grant access to Terminal and Python.
Python version issues
Python version issues
The SDK requires Python 3.10 or higher. Check your version with
python --version.Device not found
Device not found
Make sure your Omi device is powered on and nearby. Try running
omi-scan to verify it’s discoverable.WebSocket issues
WebSocket issues
The SDK requires
websockets>=14.0. Try upgrading: pip install --upgrade "websockets>=14.0"License
MIT License — built by the community.Related
SDK Overview
Compare all available SDKs
GitHub Source
View source code and contribute