Kodio 0.2.0 Help

Installation

This guide covers adding Kodio to your Kotlin Multiplatform project.

Requirements

Kotlin

2.4.0 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

  1. Add the version and library to your gradle/libs.versions.toml:

    [versions] kodio = "0.2.0" [libraries] kodio-core = { module = "space.kodio:core", version.ref = "kodio" } kodio-compose = { module = "space.kodio.extensions:compose", version.ref = "kodio" } kodio-compose-material3 = { module = "space.kodio.extensions:compose-material3", version.ref = "kodio" } kodio-transcription = { module = "space.kodio.extensions:transcription", version.ref = "kodio" } kodio-ktor = { module = "space.kodio.extensions:ktor", version.ref = "kodio" }
  2. 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.2.0") } } }

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) // Ktor WebSocket streaming for AudioFlow implementation(libs.kodio.ktor) }
commonMain.dependencies { // Core (required) implementation("space.kodio:core:0.2.0") // Compose state holders + AudioWaveform implementation("space.kodio.extensions:compose:0.2.0") // Material 3 UI components implementation("space.kodio.extensions:compose-material3:0.2.0") // Audio transcription (OpenAI Whisper) implementation("space.kodio.extensions:transcription:0.2.0") // Ktor WebSocket streaming for AudioFlow implementation("space.kodio.extensions:ktor:0.2.0") }

Module overview

Module

Contents

When to use

core

Recording, playback, file I/O

Always required

compose

rememberRecorderState, rememberPlayerState, AudioWaveform

Compose Multiplatform apps

compose-material3

RecordAudioButton, PlayAudioButton, ErrorDialog

Quick Material 3 UIs

transcription

OpenAIWhisperEngine, AudioFlow.transcribe()

Speech-to-text transcription

ktor

sendOverWebSocket, receiveAudioFlowFromWebSocket

Stream AudioFlow over WebSockets

Verify installation

After syncing Gradle, verify the installation by importing Kodio:

import space.kodio.core.Kodio import space.kodio.core.AudioQuality suspend fun test() { // If this compiles, you're good! val recording = Kodio.record(duration = 1.seconds) }

Next steps

Last modified: 03 July 2026