Skip to content

Repository files navigation

Microphone Effects for Omarchy

A system-wide virtual microphone and a console-style effects rack for the Omarchy Shell. Pick Microphone Effects in Zoom, Meet, Discord, OBS, or any other PipeWire application, then shape the sound from the bar.

Everything runs locally on the CPU. The plugin does not access the network, and unlike a virtual-camera plugin it needs no root setup.

Microphone Effects console rack

Features

  • Input/output meters, mute, monitor, input selection, and output naming
  • Reorderable high-pass, hum removal, noise reduction, gate, compressor, de-esser, parametric EQ, pitch, voice-FX, and reverb stages
  • Auto-tune with a clickable piano, key/scale guidance, speed, amount, and custom note latching
  • Pitch and formant shifting, doubler, tape, ring modulation, and megaphone
  • Room, hall, cathedral, echo, and underwater spaces
  • Slap and long delays, parallel compression, a movable boost limiter, dry/wet controls, and editable user presets
  • Optional per-microphone settings

Install

omarchy plugin add https://github.com/WhoIsCalebBrown/mic-effects.git --enable

The service builds its small C++ PipeWire daemon on first load. Omarchy already ships the usual build tools; if any are missing, the log names the exact packages and the command to install them:

cat ~/.cache/mic-effects/install.log

The runtime depends on pipewire; building requires gcc, make, and pkgconf. No OpenCV, ONNX models, kernel module, or privileged helper is used.

When installed on a machine that previously used the microphone built into Camera Effects, the installer imports that microphone configuration once and leaves the original file untouched.

Remove

Remove the unprivileged runtime first, then let Omarchy remove the plugin:

cd ~/.config/omarchy/plugins/whoiscalebbrown.mic-effects
./install.sh --uninstall
omarchy plugin remove whoiscalebbrown.mic-effects

The uninstall keeps ~/.config/mic-effects/config.json so reinstalling does not discard your presets. Delete that file separately if you also want to remove the saved settings.

Use

Click the microphone icon to open the rack. Right-click the icon to mute. A lit stage in the signal-chain rail is engaged; select one to edit it, or use the arrow buttons to move it earlier or later in the chain. Double-click a knob or fader to return it to its default.

Channel presets can be used as-is or selected, adjusted, renamed, and updated. Saving over a built-in creates a personal override; Restore removes that override without deleting the factory preset. Save new captures the current rack as another named preset.

In the Pitch stage, the piano outlines the notes in the selected key and scale. Click a piano key to start a custom latch and add or remove allowed notes; use Use key + scale to clear the custom latch.

For feedback-free monitoring, use headphones before enabling Mon.

The daemon is also available from a terminal:

mic-effects-server status
mic-effects-server quit

Camera Effects compatibility

This project began as the microphone half of alanfortlink/camera-effects. It is now independent: it owns its daemon, socket, settings, PipeWire node, and build. If Camera Effects is also installed, use only one of the two virtual microphones. A companion Camera Effects change that disables its legacy mic provider when this plugin is present is planned for upstream submission.

If Camera Effects previously hid your raw microphones, turn that option off before removing it. This plugin's own optional hide helper uses separately named WirePlumber files and never enables itself automatically.

Development

omarchy plugin validate .
make -C daemon clean all
./install.sh

The QML plugin hot-reloads when developed from ~/.config/omarchy/plugins/whoiscalebbrown.mic-effects/. The daemon and its state are deliberately separate:

  • socket: $XDG_RUNTIME_DIR/mic-effects/ctl.sock
  • settings: $XDG_CONFIG_HOME/mic-effects/config.json
  • installed runtime: ~/.local/lib/mic-effects/

Credits and license

The original PipeWire integration and microphone DSP were created in Camera Effects by tank (alanfortlink). Caleb Brown extracted the audio system and developed the console rack, reorderable processing, parametric EQ, pitch and formant controls, advanced vocal effects, presets, and standalone lifecycle.

MIT licensed. See LICENSE and THIRD_PARTY_NOTICES.md.

Releases

Packages

Contributors

Languages