A step-by-step tutorial for live audio streaming with Roc

Table of contents What is Roc? What’s new? Ubuntu desktop Raspberry Pi (ALSA) Raspberry Pi (PulseAudio) macOS Android / Termux What is Roc? Roc is an open-source toolkit for real-time audio streaming over the network. You can learn about the project here: overview, features, usage. Among other things, Roc can be used as …

Roc 0.1 released: real-time streaming over the network

What is Roc? I’m happy to announce the first release of Roc Toolkit, version 0.1.0! Roc provides a C API for real-time audio transport. The user just writes a stream to the one end and reads it from another end. Roc, in turn, performs encoding and decoding, and, more importantly, deals with the problems related to the …

Working on a new network transport for PulseAudio and ALSA

Intro Last few years I was working on Roc Toolkit, an open-source solution for real-time media streaming over the network. Due to lack of free time, we postponed release several times, but now it’s almost ready. This article is, inter alia, some kind of a pre-release announcement. You can read more about the project here. …

PulseAudio under the hood

Table of contents Preface About PulseAudio High-level components Key abstractions D-Bus API C API Protocols and networking Device drivers Sound processing Sample cache Stream management Time management Power saving Automatic setup and routing Desktop integrations Compatibility layers Server internals Module list GUI tools …

Decoding and playing audio files in Linux

Table of contents Overview FFmpeg SoX ALSA (libasound) PulseAudio libsndfile Other libraries Notes Overview I was playing with various media libraries recently and have prepared several snippets demonstrating how one can decode and play an audio file in two separate steps. The source code is available on GitHub here and there. …