Pipewire virtual microphone

I’ve recently been playing with Pipewire. Here’s a quick tip if you want to create a “virtual microphone” that you can use to link audio from programs like OBS to a virtual microphone for video call software like Zoom or Meet.

#!/usr/bin/env bash

# Create a virtual sink that can be set as a monitor in OBS
pactl load-module module-null-sink sink_name=VirtualSpeaker sink_properties=device.description=VirtualSpeaker

# Link it with a virtual source that is visible in pulseaudio apps like Zoom
pactl load-module module-null-sink media.class=Audio/Source/Virtual sink_name=VirtualMic channel_map=front-left,front-right
pw-link VirtualSpeaker:monitor_FL VirtualMic:input_FL
pw-link VirtualSpeaker:monitor_FR VirtualMic:input_FR

This is just putting together commands conveniently discussed in the Pipewire wiki.

Posts from blogs I follow

Veo

I don’t know about you, but to me there are few things as interesting as the hardware/software interface: the point where carefully written code meets the messy, physical world of sensors, lenses, and real-time constraints. It’s where a clever abstraction …

via Corrode Rust Consulting June 04, 2026

A pond of interesting problems

The great joy of having built a successful business that employs a broad team of talented people is that I get to fish for exactly the kind of problems that most interest me, most of the time. Usually, this coincides well with the needs of the business. Wh…

via David Heinemeier Hansson June 03, 2026

Async Rust: deep dive into cooperative scheduling and Tokio's architecture

Threads were designed to parallelize compute-intensive tasks. However, these days, a lot of applications (such as a network scanner) are I/O (Input / Output) intensive. Thus, threads have two significant

via Sylvain Kerkour June 03, 2026

Generated by openring-rs from my blogroll.