Skip to main content

Basic Usage

Audio Chunk Interface

When to Use Audio Chunks

Use your own speech-to-text model:
Analyze voice characteristics:
  • Voice activity detection (VAD)
  • Pitch detection
  • Emotion recognition
  • Speaker identification
Apply real-time audio processing:
  • Noise reduction
  • Echo cancellation
  • Voice enhancement
  • Audio filtering
Save audio for later processing:
Audio chunks are advanced functionality. For most apps, use session.events.onTranscription() instead.

Working with Audio Data

Convert to Float32Array

Calculate Audio Level

Common Patterns

Recording Audio

Audio Level Monitoring

Performance Considerations

Audio chunks arrive many times per second:
Audio data accumulates quickly:
Keep processing fast:

Best Practices

Built-in transcription is optimized and easier:
ArrayBuffers may be reused:
Audio processing can fail:
Stop processing when done:

Permissions Required

Audio chunks require the MICROPHONE permission. Set this in the Developer Console.

AudioChunk Properties

Audio Format:
  • Raw PCM audio data
  • Mono (1 channel)
  • Convert to Float32Array for processing

Troubleshooting

Check permission:
  • Ensure MICROPHONE permission is set
  • User must approve permission
  • Check for permission errors in logs
Processing too slow:
  • Keep processing under 20ms per chunk
  • Use async processing with queues
  • Optimize audio algorithms
Too much buffering:
  • Limit stored chunks
  • Process and discard quickly
  • Don’t store entire recording in memory

Example: Simple Recording

Next Steps

Speech-to-Text

Use built-in transcription

Text-to-Speech

Generate voice output

Event Manager

Complete event API reference

Permissions

Learn about permissions