transcribe

fun AudioFlow.transcribe(engine: TranscriptionEngine, config: TranscriptionConfig = TranscriptionConfig.Default): Flow<TranscriptionResult>

Transcribes this AudioFlow using the specified engine.

This is a convenience extension that makes it easy to pipe Kodio audio directly into a transcription engine.

Example

val engine = OpenAIWhisperEngine(apiKey = "...")

audioFlow.transcribe(engine)
.collect { result ->
when (result) {
is TranscriptionResult.Partial -> updateUI(result.text)
is TranscriptionResult.Final -> saveTranscript(result.text)
is TranscriptionResult.Error -> showError(result.message)
}
}

Return

Flow of transcription results

Parameters

engine

The transcription engine to use

config

Configuration for transcription (language, model, etc.)


fun Recorder.transcribe(engine: TranscriptionEngine, config: TranscriptionConfig = TranscriptionConfig.Default): Flow<TranscriptionResult>?

Creates an AudioFlow from this recorder's live audio and transcribes it.

This is a convenience function for the common pattern of recording and transcribing simultaneously.

Example

val recorder = Kodio.recorder()
val engine = OpenAIWhisperEngine(apiKey = "...")

recorder.start()

recorder.transcribe(engine)?.collect { result ->
println("Transcription: ${result}")
}

Return

Flow of transcription results, or null if no audio flow is available

Parameters

engine

The transcription engine to use

config

Configuration for transcription