A simple, real-time transcription app for Android designed to help people with hearing difficulties read what's being said in their surroundings.
LiveCaption was created to help family members with hearing difficulties actively participate in conversations and social gatherings. By providing real-time captions of audio from the surrounding environment, the app enables better communication and inclusion.
- Real-time Transcription: Live transcription of audio using the ElevenLabs API via WebSocket
- Simple Interface: Large, easy-to-read text display (40sp font size) with auto-scrolling to the latest caption
- No History or Data Retention: All transcriptions are temporary—close the app or restart to clear them
- No Ads or Tracking: Completely ad-free with zero analytics or user tracking
- Always-On Display: Screen stays on while the app is running for continuous viewing
- Privacy-Focused: Audio is sent only to ElevenLabs API; no local storage of transcriptions
- Minimal Dependencies: Built with modern Android libraries (Jetpack Compose, OkHttp, Kotlin Coroutines)
- Android 7.0 (API 24) or higher
- An active internet connection
- An ElevenLabs API key
- Microphone and internet permissions granted
-
Clone the repository:
git clone https://github.com/danngalann/livecaption.git cd livecaption -
Configure ElevenLabs API Key:
- Create a
local.propertiesfile in the project root (if it doesn't exist) - Add your ElevenLabs API key:
ELEVENLABS_API_KEY=your_api_key_here
- Create a
-
Build and run:
./gradlew assembleDebug
Or open the project in Android Studio and click Run.
- Launch the app: Open LiveCaption on your Android device
- Grant permissions: Allow microphone and internet permissions when prompted
- Start listening: Tap the "Escuchar" (Listen) button to begin real-time transcription
- View captions: Watch transcriptions appear in real-time on the screen
- Partial (in-progress) text appears as you speak
- Final (committed) text is added to the history when a sentence is complete
- Stop listening: Tap the "Detener" (Stop) button to end transcription
./gradlew assembleDebugThe APK will be available at app/build/outputs/apk/debug/app-debug.apk.
./gradlew assembleRelease- Android Gradle Plugin 8.13.2
- Kotlin 2.0.21
- Gradle 8.0 or higher
- Java 11+
The app requires the following permissions (declared in AndroidManifest.xml):
RECORD_AUDIO- Access to the device microphoneINTERNET- Connection to ElevenLabs API
This project is licensed under the MIT License—see the LICENSE file for details.
This app is provided as-is for accessibility purposes. Please note that:
- Real-time transcription depends on ElevenLabs API quality and availability
- Network latency may affect transcription speed
- Background noise and audio quality will impact transcription accuracy