[LAU] How to combine microphone audio and music from application to pipe to video conference

Samir spython01 at gmail.com
Sun May 17 15:08:16 CEST 2020

On 5/16/20 11:05 PM, Stuart Longland wrote:
> On 16/5/20 1:40 pm, Samir Parikh wrote:
>> Hello,
>> I am trying to combine the audio from my microphone (either built in
>> microphone from my laptop or bluetooth headset) with music playing
>> from Rhythmbox Music Player running on Ubuntu 16.04 and pipe that as
>> the audio input to video conference services such as Jitsi.
> I actually had a similar requirement to pipe audio between Zoom and a
> SIP telephone client.  I have no idea how to link Bluetooth into it, my
> headset is a USB one (Logitech G930).
> I'll be doing the exact same thing tomorrow night as my radio club
> (Brisbane Area WICEN Group) will be meeting online via Zoom, and one of
> the members in our club does not have a computer or "smartphone" at his
> home.
> The approach I did was this:
> 1. Installed JACK2 and qjackctl… pointed those at hw:Headset operating
> at 16kHz sample rate 16-bit audio (microphone on the headset is limited
> to this)
> 2. Configured ~/.asoundrc with the ALSA JACK plug-in:
>> pcm.!default {
>>          type plug
>>          slave { pcm "jack" }
>> }
>> pcm.jack {
>>          type jack
>>          playback_ports {
>>                  0 system:playback_1
>>                  1 system:playback_2
>>          }
>>          capture_ports {
>>                  0 system:capture_1
>>                  1 system:capture_1
>>          }
>> }
> 3. Twinkle (the SIP client) was pointed directly ALSA to the "jack"
> interface
> 4. Via PulseAudio, Zoom was pointed at JACK for audio
> In qjackctl, I then patched Twinkle and Zoom together after establishing
> the call… that effectively bridged the person on the telephone to the
> conference.
> I haven't tried with RhythmBox, but did get Clementine to successfully
> connect to JACK and pipe audio to both the SIP client and to the
> conference.  I'd look in RhythmBox for a way to direct it to JACK
> directly instead of going through PulseAudio.
> Jitsi also works with the above set-up: prior to the first test Zoom
> "meeting" (which was more of a social get-together) I did try a test
> with Jitsi, and was able to link a SIP desk phone (which was "standing
> in" for the PSTN user) to Jitsi through the same technique.
> I didn't try a telephone link-up with Slack, however I also use the same
> headset + JACK set-up with a work teleconference every weekday without
> issues.  I see no reason why it wouldn't work there too.
> For Bluetooth headsets, you'd need some way of exposing the headset to
> ALSA directly so JACK can access it.  Normally the BlueZ Bluetooth stack
> links up to PulseAudio.  Also bear in mind, unless there's some
> successor to the HSP profile, you'll be limited to 8kHz 8-bit mono
> audio, which will sound pretty bloody terrible!
> Yes, there's A2DP, but from what I've seen, most headsets only do A2DP
> in one direction: usually for listening to music, when a call comes in
> they switch to HSP for the telephone call.  I'd be very happy to be
> proven wrong on this, but Bluetooth has brought nothing but
> disappointment for me.
> Based on this, you might be better served investing in a wireless USB
> headset.
> Regards,
Hi Stuart,

Thanks for the detailed response!  I have to admit that I was a bit 
intimidated by your reply as while I'm very comfortable with using the 
command line, I have no experience tinkering within the bowels of ALSA, 
PulseAudio and JACK.

Before I start to unpack your steps, do you have any suggestions for 
resources on how to get started with JACK?  The wiki is a bit 
impenetrable for a complete beginner like me. Seems like I need to do a 
bit more reading before I can tackle your suggestions.

Thanks again.

More information about the Linux-audio-user mailing list