Custom Formats
Create custom audio formats beyond the built-in presets for specialized requirements.
Custom format
val format = AudioFormat(
sampleRate = 22050,
channels = Channels.Mono,
encoding = SampleEncoding.PcmInt(IntBitDepth.Sixteen)
)
Using custom formats
val recording = AudioRecording.fromBytes(
format = customFormat,
data = rawPcmBytes
)
val recording = AudioRecording.fromChunks(
format = customFormat,
chunks = listOf(chunk1, chunk2)
)
Common sample rates
Rate | Use case |
|---|---|
8,000 Hz | Telephone |
16,000 Hz | Voice (AudioQuality.Voice) |
44,100 Hz | CD quality (AudioQuality.Standard) |
48,000 Hz | Professional (AudioQuality.High) |
96,000 Hz | Studio (AudioQuality.Lossless) |
Bit depths
8-bit48 dB range, smallest files
16-bit96 dB range, CD standard
24-bit144 dB range, professional
32-bit192 dB range, processing
Calculated properties
format.bytesPerSample // Bytes per sample (one channel)
format.bytesPerFrame // Bytes per frame (all channels)
Last modified: 13 January 2026