Skip to content

Instantly share code, notes, and snippets.

View sopyb's full-sized avatar

Sopy sopyb

View GitHub Profile

Terminal Audio Protocol

The goal of this protocol is to create a way for a program running in a terminal emulator, which we call the client, to play audio through the host system's audio output.

Design goals:

  • No codec libraries should be required
  • Streaming-first. Audio plays as soon as data arrives.
  • Local optimization. Uses shared memory or filesystem transport when client and terminal share a filesystem; falls back to inline escape codes for remote clients.

The following things are not part of the base protocol and will not be considered until it is stable: