Overview
ION is a transport-agnostic protocol designed for low-latency audio streaming. It combines binary framing for performance with JSON control events for interoperability.
ION defines:
- Frame structure and parsing rules
- Control event semantics
- Raw PCM audio payload behavior
ION does not define:
- Codecs or compression
- Security or authentication
- A specific network transport
Core Concepts
- Binary framing
- JSON control events
- Raw PCM payloads
- Ordered full-duplex stream
- Low-latency operation
Typical Session
client -> describeserver -> readyclient -> startserver -> audio framesclient -> stopProfiles
ION includes profile-level behavior for common voice flows:
- ASR profile
- TTS profile
- Satellite profile
Reference Implementation
The ion repository includes:
- Go framing implementation
- TCP and stdio transport support
- Demo server and clients
- CLI, web, and satellite examples