I am quite confused about the different audio tools in Linux - how ALSA and Pulse Audio and other daemons and libraries and applications fit together, so I'm looking for help in sorting it out. More focused question at the end.

Goal: To have multiple speakers hidden in the yard, and to be able flexibly play sound effect audio files on each. I'll mention the ideal system, with some downgrade alternatives.

Ideal: 8 channels using inexpensive 7.1 channel USB external soundcard [alt: fewer] [alt: using multiple stereo USB soundcards through a USB hub].

Ideal: play up to 8 independent sources (sound files or microphone). For files, dynamically able to start and stop and select files. [alt: fewer] Nice if stereo files could be played as two channels.

Ideal: able to dynamically route any source to any combination of outputs, with volume controlled mixing at each output. [alt: no mixing]

Ideal: optional looping of sources.

Bonus: able to run on Raspberry Pi or Beaglebone Black

Ideal: Existing application with user interface which makes it easy to dynamically start a given SFX to a given destination (eg: start wolfhowl3.wav to speakers 1, 3, 4 at volume 6, no loop), showing the currently playing sources with the ability to stop them.

OR programmable control via Python, C/C++ or other language (where I provide the user interface).

The idea is to be able to watch visitors through our window (or webcam) and manually trigger appropriate sound effects at appropriate locations - animal sounds, spooky sounds, thunder, chains, voices, music, background ambiance. Ultimately it would be good to also be able to trigger sounds automatically when photocells or motion detectors trigger, so programmability would be very useful.

Oh, and I'd prefer not to have to buy a $400 professional sound card. This is a low budget display at my home, not commercial. I would run this on a repurposed somewhat older laptop, which is why the need for USB external soundcard as I want more than stereo. [alt: I suppose I could temporarily use a desktop computer with PCIe sound card]

One piece of background - for employment reasons I mostly use Windows or Mac on the desktop, and so I am light on Linux knowledge, but I'd rather use Linux for this if possible. Mostly a web programmer, so I do light Linux work on the web server. Learning more Linux would be a benefit, but I have limited spare time between now and Halloween, so simpler is better.

Q) Is Linux a good choice for this?

Q) Is there some application which would do most of this? I can't be the only person who wants to interactively control sound effects on multiple channels! And/Or:

Q) What tools could be used most simply to build such an application?

Q) Recommendations for where to go to understand the rich set of audio tools, libs, adapters, daemons, etc of the Linux audio ecosystem.

  • BalenaSound is a software that allows you to play music on multiple speakers (sound.balenalabs.io), and it generates flashable images for usage with Raspberry Pis which you can connect to via WiFi/Bluetooth. Oct 5, 2020 at 20:11

1 Answer 1


Alsa,OSS, or others it mentioned to plurality, So community-base can grow up better than company-base.

Anyway, GNU\Linux is one of best envirounment of development. Specially low level development.

It's related to yourself and your programming language.But you have many chooices in GNU\Linux.

PortAudio Library is one of best library you can use for do it. It work on Windows,MacOS and other UNIX OSes such as Linux, BSD and so on.

VLC was written with portaudio, So it's too powerful.

Before read its doc, read carefully its big pucture.

By the way, recently PorAudio binded on Python.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .