articles:linux_audio_explained

Linux Audio Essentials

This post is also in the form of a video blog. Watch the video first!

The description below is longer then the one on YouTube, which passed the maximum 5000 character limit. The version here has all the full URLs and any extra comments I might add.

In this video, I explain how audio and sound works on Linux based comptuers and systems. More specifically, I go over the point of sound hardware, kernel drivers such as OSS and ALSA and userspace sound servers such as PulseAudio, Jack and Pipewire.

Along the way, I discuss the advantages and drawbacks of the current implementations, as well as why one implementation is often favored over another. Finally, I discuss the latest-and-greatest sound server, Pipewire, what it means, and how you can benefit from the improvements.

This video is a bit rambly at times, so please stick with me, and I hope you learn something throughout and feed your curiosity. Please feel free to use the timestamps below to skip between sections!

(grouped by topics)

  • 00:00 - Introduction
  • 00:18 - Basic Hardware, Inputs and Outputs
  • 00:36 - Sound Cards (and what they do)
  • 01:01 - Digital Audio, PCM and extra hardware
  • 01:29 - Kernel Drivers! (How to interact with hardware)
  • 01:53 - OSS (Open Sound System)
  • 02:12 - ALSA (Advanced Linux Sound Architecture)
  • 02:46 - ALSA Limitations - hardware mixing/multiplexing
  • 03:54 - Pulseaudio (and sound servers)
  • 04:25 - Benefits of PA - mixing and resampling
  • 07:26 - Drawbacks of PA (and JACK introduction)
  • 08:13 - JACK and its benefits
  • 09:57 - Comparison with PA and other software
  • 11:12 - Pipewire (and its benefits)
  • 14:05 - Future of Pipewire
  • 15:17 - Note on Bluetooth (rant)

- note: mostly fixed!

  • 17:52 - Conclusion
  • 0040 - When I say sound card, most computers have one build in these days, eg: onboard audio. Physical discrete cards are mostly a thing of the past.
  • 0250 - Sound card multiplexing also often called hardware mixing.
  • 1240 - There is also a “Pro Audio” mode for sound cards that splits all the channels
  • 1705 - Most of these disconnection issues are now fixed as of the time of publishing!
  • I'll add more notes as I remember when rewatching this.
  • Please note that due to classes and school and coop, the filming/editing/uploads of my videos are very delayed, and might not be the most sensitive. This video was filmed April 2021, Edited June-July 2021, Description written August 2021. I hate writing descriptions and thumbnails…

Watch this video on Peertube: https://peertube.tonytascioglu.com More info is probably on my wiki: https://wiki.tonytascioglu.com

Copyright 2021 - Tony Tascioglu I'm making this freely available under a CC-BY-SA-NC.

Email: tonytash@pm.me (not monitored 24/7) I might not get to comments on this video until the end of my next school/work term, feel free to post anyways.

I hope you enjoyed the video and learned something!

Randy MacLeod (and the rest of the Wind River Linux userspace team). I know you had asked me about Pipewire at some point, and I already had this video in the works, so hopefully you find it useful :)

  • I'll update this as corrections are pointed out.
  • articles/linux_audio_explained.txt
  • Last modified: 2021-08-20 20:55
  • by Tony