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

Stuart Longland stuartl at longlandclan.id.au
Sun May 17 05:05:10 CEST 2020


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,
-- 
Stuart Longland (aka Redhatter, VK4MSL)

I haven't lost my mind...
  ...it's backed up on a tape somewhere.


More information about the Linux-audio-user mailing list