How to use an Android phone as an wireless headset for Linux

Most Linux distributions today use pulseaudio audio subsystem. Pulseaudio supports creating of virtual devices.

To use an Android phone as an wireless headset for Linux we can use this ability of Pulseaudio and Mumble - free VoIP application.

Note: Plumbe application for Android is outdated and not very stable now (2019-08-01). It works for me, but with random crashes now and then.

Steps

Install Mumble server (called Murmur) and Mumble client on Linux (Debian has it in default repos)

Install Plumble (Mumble client) application on Android

Create virtual sinks for Pulseaudio - edit /etc/pulse/default.pa and add:

load-module module-null-sink sink_name=mic_sink sink_properties=device.description="mic_sink" rate=48000 channels=2
load-module module-null-sink sink_name=app_sink sink_properties=device.description="app_sink" rate=48000 channels=2

(You may need to change or omit rate and channels parametrs to match ones of your system.)

Restart pulse:

$ pulseaudio -k

Now start Mumble client on desktop and on mobile and connect to your self-hosted Mumble server.

Start pavucontrol

Assign Mumble client output to mic_sink virtual device.

Assign Mumble client input (recording) to (monitor of) app_sink virtual device.

Configure your app for what you're going to use your phone as headset in inverted manner:

Now you should be able to use your phone as a headset in configured app. I tried this with Skype with max audio quality and min latency settings over Wi-Fi and it works good, through mobile client is outdated and not very stable when you do something in it.

pavucontrol saves its settings, but you may also check if your application has audio settings and select the right settings in it as well.

Update 2023

I had some problems with this setup. What the problems were I dont remember unfortunately, but I created simple audio link app for myself, you can see it on github shitpoet/rua.

 

shitpoet@gmail.com