Home

Awesome

This repository contains notes and configuration to set up specific pulseaudio configuration

Goal

The objective is to stream an audio medium to a videoconference, along with the microphone, and while hearing both the audio medium and the videoconference. There are schemas later in this README to explain this goal more clearly.

Also see this stackoverflow issue, which is the main base for this repository.

Compatibility

This was tested on Fedora 25, but should work as well on any distribution using pulseaudio.

Installation

It is supposed that you already have a working installation of pulseaudio, launched automatically by your non-root user (default case of Gnome, it seems).

If for some reason the script failed or you need to reset the setup simply run ./pulse_unload.sh to unload all previously loaded modules.

Heads-up

Here are some good-to-know things, I wish I knew some before starting working on this project :

Kinds of PulseAudio devices

Now a few explanations about the different kinds of devices involved. This is only what I have understood experimenting so far, it has no pretention to be absolutely true and flawless. The italicized words are vocabulary that I'm either not sure of, or made up for the sake of clarity.

Schemas

As told above, whenever you're trying to do anything implying virtual devices, make a schema ! I seriously doubt that I would have reached my objective without drawing what I wanted. (And I'm not mentioning my mental sanity)

My convention

For such a situation, I'm convinced that it is essential to pick a convention that prevents you from drawing anything impossible. Here is mine, and the explanations to understand the associated logic :

How to build your setup

Here are the steps I would recommend to follow to build your setup :

My setup

First, a simple schema to explain myself what I want to do :

Then, a schema following the above convention :

Resources

These are some of the resources that I found useful when tinkering :

Contributions

Pull requests are welcome, don't hesitate !