Skip to content

Latest commit

 

History

20 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Audioclock

A native Linux desktop app for inspecting and managing PipeWire and WirePlumber audio-quality settings — the graph sample rate and buffer size, per-device bit depth and rate rules, and the stream resampler quality. Built with libcosmic, so it follows the COSMIC theme and accent and talks to PipeWire directly.

Features

  • Status — live view of the graph clock and every device, including the actual hardware rate/format read from ALSA when a stream is open.
  • Graph clock — set the default, allowed, and forced rate and the buffer size. Apply live to the running graph, or persist across reboots.
  • Devices — per-device WirePlumber rules forcing bit depth, rate, and allowed rates.
  • Resampler — the stream resample.quality (0–14).
  • Diagnostics — validation warnings, conflicting foreign config, one-click service restart, and the backup list.

Persistent changes are written as drop-in config fragments; Audioclock only touches files it owns and backs up anything it replaces to ~/.local/state/audioclock/backups/. Foreign config is reported, never edited.

Install

Every release ships prebuilt x86_64 and aarch64 packages:

Distro Package
Arch AUR: audioclock (source) or audioclock-bin (prebuilt)
Debian / Ubuntu the .deb
Fedora / RHEL the .rpm
Any distro the .AppImage

Runtime: PipeWire, WirePlumber 0.5+, and user systemd.

Build from source

cargo run -p audioclock-gui                        # needs PipeWire + Wayland/xkb headers and clang
cargo run -p audioclock-gui --no-default-features  # in-process mock backend, no PipeWire needed

The workspace is two crates: audioclock-core (pure domain model, validation, fragment generation — fully unit-tested) and audioclock-gui (the libcosmic app, PipeWire backend, and filesystem/systemd integration).

Packaging and the tagged-release pipeline live in packaging/.

License

MIT.

About

A utility to manage pipewire clock rates, bit depth for Linux. Vibe-coded with Claude, but works really well.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages