| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Professional, fast, and open-source audio meters for Linux.
Capture any PipeWire application or device, inspect loudness, frequency, waveform, and stereo image in one comprehensive suite.
Everything below describes behavior implemented thus far. If you have ideas for the next thing OpenMeters should do, please feel free to open an issue or pull request.
OpenMeters requires:
Normal application windows are available on both X11 and Wayland. Bar mode additionally requires a Wayland compositor that exposes zwlr_layer_shell_v1.
Install the openmeters-git package from the AUR:
yay -S openmeters-gitDownload the latest .deb package from GitHub Releases.
Download the latest .rpm package from GitHub Releases.
OpenMeters is available in nixpkgs thanks to @magnetophon and @bitbloxhub. Add it to your nix config with:
nix profile add nixpkgs#openmetersTarballs are available under tagged releases, or you can build OpenMeters from source. I cannot guarantee OpenMeters will work on every distribution, although it is designed to stay fairly distro-agnostic. If you have trouble getting it running, please open an issue and I will try to help.
Install a Rust toolchain, a C toolchain, pkg-config, libclang, and native development packages for PipeWire, Wayland/X11, xkbcommon, fontconfig/freetype, and the Vulkan loader/development headers. PipeWire/SPA development headers must be from PipeWire 0.3.77 or newer. The recommended way to install Rust is rustup. OpenMeters currently requires the Rust version declared in Cargo.toml or newer.
Clone the repository:
git clone https://github.com/httpsworldview/openmeters/
cd openmetersBuild and run the release binary:
cargo build --release
./target/release/openmetersOr run it directly through Cargo:
cargo run --releaseSee packaging/ for instructions on building Debian, Fedora, and tarball artifacts.
| Binding | Action |
|---|---|
| ctrl+shift+h | Show/hide the configuration window; while open, drag visuals to rearrange them. |
| right click on a visual | Open that visual's settings window. |
| p | Pause or resume meter updates. |
| q twice | Quit the application. |
| ctrl+space | Pop out the hovered visual, or dock the focused pop-out. |
| Binding | Action |
|---|---|
| left click+hold | Show the crosshair and frequency/note/time tooltip. |
| ctrl+scroll up/down | Zoom the frequency axis. |
| middle click+drag | Pan the frequency axis. |
Application settings are saved to $XDG_CONFIG_HOME/openmeters/settings.json, or to:
~/.config/openmeters/settings.json
when XDG_CONFIG_HOME is unset.
settings.json is intentionally editable. GUI ranges are not hard limits; processors normalize only the bare minimum necessary for runtime. Unsupported keys or structurally invalid values are logged and ignored at the narrowest practical scope.
Invalid JSON syntax is ignored and default settings are used for that run. Your configuration file will not be overwritten unless you change settings in the GUI. Unknown keys are not preserved when the file is next written.
If a bug causes OpenMeters to misbehave, you can reset application settings by deleting settings.json. Please consider reporting the bug if you run into this.
Themes are saved as separate JSON files in $XDG_CONFIG_HOME/openmeters/themes/, or in:
~/.config/openmeters/themes/
when XDG_CONFIG_HOME is unset. Theme files own palettes and background color; settings.json stores the selected theme name and non-palette module settings.
You can create and switch between themes in the Appearance section of the configuration page. Saving a theme refreshes the list of available themes, including any files that appeared in the theme directory while OpenMeters was running. The built-in theme is read-only in the UI and cannot be overwritten. Feel free to share custom themes by sharing the corresponding JSON files.
Q: Can I build upon OpenMeters or use it in a commercial application?
A: Yes, as long as you abide by the terms of the GPL. My primary focus is keeping OpenMeters free and open source, not profiting from it.
Q: Will you support Windows or macOS?
A: Maybe, but probably not. I'm a Linux user and have been for most of my life. I am not currently confident in my ability to maintain reliable support for either platform. That said, I aim to keep things modular and platform-agnostic where possible. The DSP code at the core of this project will run anywhere; the GUI, persistence, and audio backend code will not.
Q: Why is OpenMeters' FFT size about twice the value shown in MiniMeters or Wave Candy?
A: OpenMeters labels FFT/window size by the number of input samples used. MiniMeters and Wave Candy instead label the visible positive-frequency bins, which represent roughly half the FFT for real-valued audio. To match settings, use approximately twice their displayed band count (for example, 2048 in MiniMeters corresponds to 4096 in OpenMeters).
Please see CONTRIBUTING.md for guidelines on how to contribute and how to get started. No matter what you have to offer, I greatly appreciate your interest in the project. Every bit helps.
OpenMeters is GPL-3.0-or-later software. You may reuse code under the GPL's terms. If you want to discuss other arrangements or have licensing questions, feel free to email me at httpworldview@gmail.com. You are also free to draw inspiration from the ideas and methods used here, provided you respect the GPL.
It would be unfair to ask for attribution over ideas alone when this project exists thanks to the countless researchers and open-source contributors who came before me.
Thank you for checking out OpenMeters. If you think it is useful, please consider starring the repository and sharing it with others. I appreciate criticism, bug reports, and feedback, so feel free to reach out.
OpenMeters is licensed under the GNU General Public License v3.0 or later. See LICENSE for more details.
| Back | FazBrowse Home | New Git URL |