GlassFlow
요약
GlassFlow는 Meta Ray-Ban 스마트 글래스를 위한 실시간 전사(transcription) 기능을 제공하는 프로젝트입니다. Deepgram의 스트리밍 API를 활용하여 오디오 캡처 시 화자 분할 및 부분 결과와 함께 라이브로 음성-텍스트 변환을 수행합니다. iOS/Android 플랫폼에서 구현 가능하며, Gemini Live 연동과 WebRTC 스트리밍 기능도 지원합니다.
핵심 포인트
- Meta Ray-Ban 글래스를 위한 실시간 전사 솔루션 제공
- Deepgram Nova-3를 이용한 스트리밍 음성-텍스트 변환
- 화자 분할 및 부분 결과 업데이트 기능을 갖춤
- iOS/Android 환경에서 구현 가능하며, Gemini Live 연동 지원
GlassFlow
<p align="center"> <img src="glassflow.png" alt="GlassFlow - Face-to-Face Transcription" width="600"> </p>Meta Ray-Ban 스마트 글래스를 위한 실시간 전사(transcription) 기능입니다. 글래스(또는 휴대폰 마이크)에서 오디오를 캡처하여 Deepgram의 스트리밍 API를 사용하여 화자 분할(speaker diarization) 및 부분 결과와 함께 라이브로 전사합니다.
지원 플랫폼: iOS (iPhone) 및 Android (Pixel, Samsung 등)
기능 소개
글래스에서 스트리밍을 시작하고 Scribe 버튼을 누르면 실시간 스크립트를 얻을 수 있습니다:
- Deepgram Nova-3를 통한 실시간 음성-텍스트 변환 (streaming WebSocket)
- 화자 분할: 누가 말하는지 레이블링 (S1, S2, ...)
- 단어가 말해짐에 따라 부분 결과가 실시간으로 업데이트됨
- 구두점 및 스마트 포맷팅이 적용된 최종 결과
- 글래스 마이크 또는 휴대폰 마이크 사용 가능 (iPhone/Phone 모드)
또한 다음 기능을 포함합니다:
- Gemini Live: 실시간 음성 + 비전 AI 어시스턴트 (선택 사항)
- WebRTC 스트리밍: 글래스의 시점(POV)을 브라우저 뷰어에 라이브로 공유
- Phone 모드: 휴대폰 카메라와 마이크를 사용하여 글래스 없이 테스트 가능
작동 방식
Meta Ray-Ban Glasses (또는 휴대폰 마이크)
|
| PCM 오디오 (16kHz mono)
...
빠른 시작하기 (iOS)
1. 클론 및 열기
git clone https://github.com/sseanliu/GlassFlow.git
cd GlassFlow/samples/CameraAccess
open CameraAccess.xcodeproj
2. 시크릿 추가하기
cp CameraAccess/Secrets.swift.example CameraAccess/Secrets.swift
Secrets.swift를 열어 API 키를 수정하세요:
- Deepgram API key (전사에 필수)
- Gemini API key (선택 사항, AI 어시스턴트용)
3. 빌드 및 실행
iPhone을 대상 장치로 선택하고 Run(Cmd+R)을 누릅니다.
4. 사용해 보기
글래스 없이 (iPhone 모드):
- **
⚠️ [IMG:N] 형식 토큰은 이미지 placeholder 입니다. 번역하지 말고 원래 위치에 그대로 유지하세요.
[이번 청크 (이 부분만 번역하세요)]:
- iPhone에서 Meta AI 앱을 엽니다.
- **설정(Settings)**으로 이동합니다 (왼쪽 하단 기어 아이콘).
- **앱 정보(App Info)**를 누릅니다.
- 앱 버전(App version) 번호를 5번 누릅니다. 이렇게 하면 개발자 모드(Developer Mode)가 활성화됩니다.
- 설정으로 돌아가면 개발자 모드(Developer Mode) 토글이 보일 것입니다. 이를 켭니다.
그런 다음 GlassFlow에서:
- 앱의 **"스트리밍 시작(Start Streaming)"**을 누릅니다.
- 실시간 전사(live transcription)를 위해 Scribe 버튼을 누릅니다.
빠른 시작 (Android)
1. 클론 및 열기
git clone https://github.com/sseanliu/GlassFlow.git
Android Studio에서 samples/CameraAccessAndroid/를 엽니다.
2. GitHub Packages 구성 (DAT SDK)
The Meta DAT Android SDK는 GitHub Packages를 통해 배포됩니다. read:packages 범위(scope)를 가진 GitHub 개인 액세스 토큰이 필요합니다.
- GitHub > 설정(Settings) > 개발자 설정(Developer Settings) > 개인 액세스 토큰(Personal Access Tokens)으로 이동하여
read:packages범위의 클래식(classic) 토큰을 생성합니다. samples/CameraAccessAndroid/local.properties에 다음 내용을 추가합니다:
github_token=YOUR_GITHUB_TOKEN
3. 시크릿 추가하기
cd samples/CameraAccessAndroid/app/src/main/java/com/meta/wearable/dat/externalsampleapps/cameraaccess/
cp Secrets.kt.example Secrets.kt
Secrets.kt를 열어 Deepgram API 키 (필수)와 선택적 Gemini API 키로 수정합니다.
4. 빌드 및 실행
- Android Studio에서 Gradle 동기화가 완료되기를 기다립니다.
- 대상 장치(target device)로 안드로이드 휴대폰을 선택합니다.
- 실행(Run)을 클릭합니다 (Shift+F10).
5. 사용해 보기
안경 없이 (휴대폰 모드):
- **"휴대폰에서 시작(Start on Phone)"**을 누릅니다.
- 전사를 시작하기 위해 Scribe 버튼을 누릅니다.
- 말합니다 -- 전사 내용이 실시간으로 나타납니다.
Meta Ray-Ban 안경과 함께:
Meta AI 앱에서 개발자 모드를 활성화합니다 (위 iOS 단계와 동일). 그런 다음:
- 앱의 **"스트리밍 시작(Start Streaming)"**을 누릅니다.
- 실시간 전사를 위해 Scribe 버튼을 누릅니다.
아키텍처
주요 파일 (iOS)
모든 소스 코드는 samples/CameraAccess/CameraAccess/에 있습니다.:
파일 및 목적
| File | Purpose |
|---|---|
Transcription/DeepgramService.swift | Deepgram Nova-3용 WebSocket 스트리밍 클라이언트 |
| ... |
전사(Transcription) 파이프라인
- 입력: Glasses 마이크 또는 휴대폰 마이크 -> AudioManager (PCM Int16, 16kHz 모노, 100ms 청크)
- 스트리밍: PCM 청크를 WebSocket을 통해 Deepgram으로 실시간 전송
- 출력: 부분 전사(Partial transcripts)가 라이브로 업데이트되며, 구두점 및 화자 레이블이 포함된 최종 전사본 제공
- 화자 분리(Diarization): Deepgram이 화자를 자동으로 식별합니다 (S1, S2 등)
오디오 모드
- iPhone 모드: 에코 제거를 위해
.voiceChat오디오 세션 사용 (마이크 + 스피커가 같은 위치에 있음) - Glasses 모드: 블루투스 HFP와 함께
.videoChat오디오 세션을 사용합니다 (마이크는 안경에, 스피커는 휴대폰에 위치)
요구 사항
iOS
- iOS 17.0 이상
- Xcode 15.0 이상
- Deepgram API 키 (무료로 받기)
- Meta Ray-Ban 안경 (선택 사항 -- 테스트를 위해 iPhone 모드 사용)
- Gemini API 키 (선택 사항, AI 비서용)
Android
- Android 14 이상 (API 34 이상)
- Android Studio Ladybug 또는 그 이상 버전
read:packages토큰이 있는 GitHub 계정 (DAT SDK용)- Deepgram API 키 (무료로 받기)
- Meta Ray-Ban 안경 (선택 사항 -- 테스트를 위해 휴대폰 모드 사용)
- Gemini API 키 (선택 사항, AI 비서용)
문제 해결(Troubleshooting)
전사본이 나타나지 않음 -- Deepgram API 키가 Settings 또는 Secrets.swift에 구성되었는지 확인하십시오. 마이크 권한이 부여되었는지도 확인하세요.
**
DAT SDK 관련 문제는 developer documentation 또는 discussions forum을 참조하십시오.
라이선스
이 소스 코드는 이 소스 트리 루트 디렉터리에 있는 LICENSE 파일에 명시된 라이선스에 따라 허가됩니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 개발 자료 GitHub · 56513d9a의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기