Skip to main content

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 requires websockets 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:

Install the SDK


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

The example will:
  • 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 to en-US. Set language to a language supported by your chosen Deepgram model when transcribing other languages:
The 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

Run the SDK’s hardware-free regression suite with 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

Make sure the Opus audio codec is installed on your system. See the Prerequisites section above for installation commands.
Go to System Preferences → Privacy & Security → Bluetooth and grant access to Terminal and Python.
The SDK requires Python 3.10 or higher. Check your version with python --version.
Make sure your Omi device is powered on and nearby. Try running omi-scan to verify it’s discoverable.
The SDK requires websockets>=14.0. Try upgrading: pip install --upgrade "websockets>=14.0"

License

MIT License — built by the community.

SDK Overview

Compare all available SDKs

GitHub Source

View source code and contribute