Ritmolux ~ Real-time Music Visualizer


A lightweight, real-time music visualizer built around one shared Rust core that turns a stream of PCM audio samples into GPU-rendered visuals. Two frontends consume that core:

  • Standalone app (Windows, macOS and Linux) — pure Rust (winit + wgpu), fed by the OS’s system-audio capture.
  • foobar2000 plugin (Windows-first) — a thin C++ shim over the core’s C ABI, fed by foobar’s own visualisation_stream (no loopback needed on that path).

The core is source-agnostic: it takes interleaved/mono PCM frames and does not care whether they came from loopback capture or foobar. That single abstraction is what lets one visual codebase serve both frontends.

ritmolux visualization

github.com/IgorKonovalov/Ritmolux
igorkonovalov.github.io/Ritmolux/gallery

Sound Ninja ~ Crossplatform Customisable Soundboard


Sound Ninja is an Open Source Soundboard App with maximal customizability option to create your best Soundboard. Perfect for live streaming, chatting with friends or podcast recording.

github.com/marcus-universe/SoundNinja

spotatui ~ Standalone Terminal Player


spotatui plays Spotify natively and streams YouTube, your local files, Subsonic or Navidrome and 30,000+ internet radio stations from a single keyboard-driven player. Spotify is optional. So is the AI DJ.

Features:

  • Multiple sources — Spotify optional. Play from Spotify, Local Files, a Subsonic/Navidrome server, Internet Radio, YouTube, or Qobuz. The free sources need no Spotify account; press d to switch between them at any time.
  • Native streaming. Play Spotify audio directly, no official app or spotifyd required — spotatui appears as its own Spotify Connect device (Premium required).
  • Synced lyrics. Line-by-line lyrics that follow playback.
  • Real-time audio visualizer. A system-wide FFT visualizer (press v) that reacts to whatever is playing.
  • Cross-source play queue. Press z on any track to queue it — the queue plays across every source before your current context resumes.
  • Lua plugins. Extend spotatui with event hooks, commands, keybindings, popups, and theming.
  • Listening history & recap. spotatui keeps a local play history and can generate a shareable HTML recap (spotatui history recap).
  • Full CLI. Most of what the UI does is scriptable — playback, search, playlists, shell completions. Run spotatui --help.
  • Lightweight. ~78 MB RAM while streaming, versus a full Electron client. See Performance.

spotatui.com
github.com/LargeModGames/spotatui

RAV ~ Rust Audio Visualizer


A real-time spectrum analyser with bars, peak caps and an oscilloscope, in truecolour.

RAV interface

github.com/i-am-logger/rav

mp3rgain ~ Lossless MP3/AAC Volume Adjustment


A modern mp3gain / aacgain replacement written in Rust. A native GUI application (mp3rgui) is available for users who prefer a graphical interface.

mp3rgain adjusts MP3 and AAC volume without re-encoding by modifying the global_gain field in each frame. This preserves audio quality while achieving permanent volume changes.


mp3rgui compact user interface

github.com/M-Igashi/mp3rgain
crates.io/crates/mp3rgain
hydrogenaudio.org/index.php/topic,129648.0

References:

github.com/dgilman/aacgain
mp3gain.sourceforge.net

mp3rgain ~ Lossless MP3/AAC Volume Adjustment


A modern mp3gain / aacgain replacement written in Rust. A native GUI application (mp3rgui) is available for users who prefer a graphical interface.

mp3rgain adjusts MP3 and AAC volume without re-encoding by modifying the global_gain field in each frame. This preserves audio quality while achieving permanent volume changes.

github.com/M-Igashi/mp3rgain
crates.io/crates/mp3rgain
hydrogenaudio.org/index.php/topic,129648.0

References:

github.com/dgilman/aacgain
mp3gain.sourceforge.net

GNOME Metronome ~ Keep The Tempo


Keep the tempo

Metronome beats the rhythm for you, you simply need to tell it the required time signature and beats per minutes.

You can also tap to let the application guess the required beats per minute.

A boilerplate template to get started with GTK, Rust, Meson, Flatpak made for GNOME. It can be adapted for other desktop environments like elementary.

gitlab.gnome.org/World/metronome

mididash ~ Open Source MIDI Router


Mididash is an open source MIDI routing software with a node-based interface and Lua scripting. A modern take on programs like MIDI-OX.

Features:

  • High performance built with Tauri and Rust
  • Cross-platform available on Windows, Linux and macOS
  • Node-based MIDI routing allows for versatile configurations
  • Hot-plugging reconnect or replace MIDI devices
  • MIDI monitoring for inputs, outputs or individual nodes
  • Pre-configured nodes for MIDI splitting, mapping and more
  • Script nodes using Lua 5.4
  • Lightweight installer under 10MB

tiagolr.github.io/mididash
github.com/tiagolr/mididash
sourceforge.net/projects/mididash

SongRec ~ Linux Shazam Client


SongRec is an open-source Shazam client for Linux, written in Rust.

github.com/marin-m/SongRec
flathub.org/apps/com.github.marinm.songrec

CamillaDSP ~ IIR & FIR Engine For Crossovers & Room Correction


A tool to create audio processing pipelines for applications such as active crossovers or room correction. It is written in Rust to benefit from the safety and elegant handling of threading that this language provides. Supported platforms: Linux, macOS, Windows.

Audio data is captured from a capture device and sent to a playback device. Alsa, PulseAudio, Jack, Wasapi and CoreAudio are currently supported for both capture and playback.

The processing pipeline consists of any number of filters and mixers. Mixers are used to route audio between channels and to change the number of channels in the stream. Filters can be both IIR and FIR. IIR filters are implemented as biquads, while FIR use convolution via FFT/IFFT. A filter can be applied to any number of channels. All processing is done in chunks of a fixed number of samples. A small number of samples gives a small in-out latency while a larger number is required for long FIR filters. The full configuration is given in a YAML file.

henquist.github.io
github.com/HEnquist/camilladsp

Zoog ~ Zero Opus Output Gain


Zoog is a Rust library that consists of functionality that can be used to determine the loudness of an Ogg Opus file and also to rewrite that file with new internal gain information as well as loudness-related comment tags. It also has functionality for purely manipulating comment tags of both Ogg Opus and Ogg Vorbis files.

Zoog currently contains two tools, opusgain and zoogcomment. opusgain can be used to:

  • set the output gain value located in the Opus binary header inside Opus files so that the file plays at the loudness of the original encoded audio, or of that consistent with the ReplayGain or EBU R 128 standards.
  • write the Opus comment tags used by some music players to decide what volume to play an Opus-encoded audio file at.

It is intended to solve the “Opus plays too quietly” problem.

github.com/FrancisRussell/Zoog
hydrogenaud.io/index.php/topic,120387.0

Benihora ~ Voice Generation Library & VST3 Plugin


Benihora is a Rust library and VST Plugin that generates voice based on a vocal tract model. This is a Rust port of Pink Trombone developed by Neil Thapen with some customizations.

github.com/carrotflakes/benihora
github.com/carrotflakes/benihora/tree/main/benihora-vst