Installation
This guide covers adding Kodio to your Kotlin Multiplatform project.
Requirements
- Kotlin
2.2.20 or later
- Gradle
8.0 or later
- Android
minSdk 24 (Android 7.0)
- iOS
13.0 or later
Add the dependency
Using Gradle Version Catalog
Add the version and library to your
gradle/libs.versions.toml:[versions] kodio = "0.1.1" [libraries] kodio-core = { module = "space.kodio:core", version.ref = "kodio" } kodio-compose = { module = "space.kodio:compose", version.ref = "kodio" } kodio-compose-material3 = { module = "space.kodio:compose-material3", version.ref = "kodio" } kodio-transcription = { module = "space.kodio:transcription", version.ref = "kodio" }Add the dependency to your
build.gradle.kts:kotlin { sourceSets { commonMain.dependencies { implementation(libs.kodio.core) } } }
Add directly to your build.gradle.kts:
kotlin {
sourceSets {
commonMain.dependencies {
implementation("space.kodio:core:0.1.1")
}
}
}
Optional modules
Kodio provides additional modules for Compose integration:
commonMain.dependencies {
// Core (required)
implementation(libs.kodio.core)
// Compose state holders + AudioWaveform
implementation(libs.kodio.compose)
// Material 3 UI components
implementation(libs.kodio.compose.material3)
// Audio transcription (OpenAI Whisper)
implementation(libs.kodio.transcription)
}
commonMain.dependencies {
// Core (required)
implementation("space.kodio:core:0.1.1")
// Compose state holders + AudioWaveform
implementation("space.kodio:compose:0.1.1")
// Material 3 UI components
implementation("space.kodio:compose-material3:0.1.1")
// Audio transcription (OpenAI Whisper)
implementation("space.kodio:transcription:0.1.1")
}
Module overview
Module | Contents | When to use |
|---|---|---|
| Recording, playback, file I/O | Always required |
|
| Compose Multiplatform apps |
|
| Quick Material 3 UIs |
|
| Speech-to-text transcription |
Verify installation
After syncing Gradle, verify the installation by importing Kodio:
import space.kodio.Kodio
import space.kodio.AudioQuality
suspend fun test() {
// If this compiles, you're good!
val recording = Kodio.record(duration = 1.seconds)
}
Next steps
Last modified: 19 January 2026