Ford's Garage

Small garage of one Ford in the big internet


Soundpad alternatives


Alternatives

Self-made prototype

Create a Virtual Microphone in PipeWire


# create a fake output device
pactl load-module module-null-sink sink_name=VirtualMic sink_properties=device.description=VirtualMic

# exposes its monitor as an input (virtual mic). Now “VirtualMic” will show up as a microphone in apps.
pactl load-module module-loopback source=VirtualMic.monitor

# To ensure it routes into the virtual mic, set the default output device to VirtualMic
pactl set-default-sink VirtualMic

Play MP3 into the Virtual Mic


import sounddevice as sd
from pydub import AudioSegment
import numpy as np

# Load MP3 file
song = AudioSegment.from_mp3("test.mp3")
samples = np.array(song.get_array_of_samples())

# Convert to stereo float32
samples = samples.astype(np.float32) / (1 << 15)

# Play into PipeWire default sink (VirtualMic)
sd.play(samples, samplerate=song.frame_rate)
sd.wait()