The Problem

Ever tried having a conversation in a noisy environment, only to miss half of what was said? Enter the Meta Ray-Ban smart glasses, designed to capture audio and provide real-time transcription. The challenge? Making sure that transcription’s not just accurate, but also efficient enough to keep pace with the rapid-fire dialogue of real life. That's where GlassFlow steps in.

What This Does

GlassFlow is a real-time transcription solution that works with your Meta Ray-Ban glasses (or even just your phone). It uses Deepgram's streaming API to transcribe audio on the fly, and it’s got speaker diarization to boot, so you know who’s speaking when. Check out CameraAccess/CameraAccessApp.swift for the main app logic, which handles audio input and transcription flow. The WebRTC setup in WebRTC/WebRTCClient.swift allows you to stream live video, making this not just a passive tool but an interactive experience.

The project is organized into several key directories: samples/CameraAccess houses the iOS app, while samples/CameraAccessAndroid is for Android users. The Dockerfile in samples/CameraAccess/server sets up a quick local server to test things out, if you're into that sort of thing.

Real-World Use

Imagine you’re at a conference, and you want to capture all those insightful talks without missing a beat. You just tap the Scribe button in the app, and boom—live transcription begins. Code-wise, you’re looking at TranscriptionViewModel.swift, which manages the transcription state and updates the UI accordingly. It’s like having a personal assistant that’s great at keeping track of who said what.

The Bottom Line

GlassFlow is a solid tool for anyone needing real-time transcription, especially in dynamic environments. Its integration with Deepgram and WebRTC is impressive, but the setup can be a bit tedious—especially for newcomers. If you’ve got Meta Ray-Bans and need to transcribe conversations or stream content, this repo is worth a look. Just be prepared to wrestle with API keys and configuration files.