putAudioFile
fun putAudioFile(path: String, samples: FloatArray, sampleRate: Int, channelCount: Int, format: AudioFileFormat = AudioFileFormat.WAV, tags: AudioFileTags = AudioFileTags(), durationMs: Long = if (sampleRate > 0) {
(samples.size / channelCount.coerceAtLeast(1)) * 1000L / sampleRate
} else {
0L
})
Stores decoded PCM so AudioFileReader can open path synchronously.
Browser file I/O is asynchronous; Klarinet's reader API is not. Decode a URL with decodeAudioFile, import a WAV with putWavBytes, or write with AudioFileWriter before constructing a reader.