Skip to content

dosier/kodio

Repository files navigation

Maven Central Kotlin License Docs

Android iOS macOS JVM JavaScript Wasm

Caution

This library is still in very early development.

Kodio

Kotlin Multiplatform Audio Library — Recording, playback, and transcription with a modern coroutines-based API.

Features

  • Simple Recording — One-line recording with quality presets
  • Easy Playback — Play recordings with a single method call
  • Multiplatform — JVM, Android, iOS, macOS, JS, Wasm
  • Compose Integration — Ready-to-use state holders and UI components
  • Live Waveforms — Real-time amplitude data for visualizations
  • Permission Handling — Built-in permission management
  • File I/O — Save/load WAV files easily
  • Transcription — Speech-to-text via OpenAI Whisper API

Quick Start

import space.kodio.core.Kodio
import kotlin.time.Duration.Companion.seconds

suspend fun main() {
    // Record audio for 5 seconds
    val recording = Kodio.record(duration = 5.seconds)
    
    // Play it back
    recording.play()
    
    // Save to file
    recording.saveAs(Path("voice_note.wav"))
}

Installation

dependencies {
    // Core library (required)
    implementation("space.kodio:core:0.1.1")
    
    // Optional: Compose state holders and waveform
    implementation("space.kodio:compose:0.1.1")
    
    // Optional: Material 3 UI components
    implementation("space.kodio:compose-material3:0.1.1")
    
    // Optional: Audio transcription (OpenAI Whisper)
    implementation("space.kodio:transcription:0.1.1")
}

Documentation

📚 dosier.github.io/kodio

License

Apache 2.0

Credits

Inspired by kmp-record.

About

Kotlin multiplatform Audio System Library

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages