VGMPF ~ Video Games Music Preservation Foundation


The Video Games Music Preservation Foundation is an online community effort that is concerned with the preservation of video game music and information related to it.

www.vgmpf.com/Wiki

Soundgrain ~ Granular Sound Synthesis


Soundgrain is a graphical interface where users can draw and edit trajectories to control granular sound synthesis. Soundgrain is written with Python/WxPython and uses Pyo as its audio engine.

Soundgrain_screenshot

github.com/belangeo/soundgrain
linuxsynths.com/SoundgrainDemos/soundgrain

Subsonic and OpenSubsonic ~ FOSS Ecosystem For Music


Servers, players, APIs and applications for building your own private music service

If you have a large music collection on your own hardware, there is a surprisingly mature open-source ecosystem for turning it into something that behaves a little like your own private Spotify. At the centre of that ecosystem is Subsonic and, increasingly, OpenSubsonic. The important thing about Subsonic is not a particular server or player. It is the fact that the server and the player do not have to come from the same project. Your music can live on one machine, be served by one application, and played through a completely different application on a phone, desktop, web browser or even foobar2000.


The basic idea

The architecture is simple:

YOUR MUSIC FILES
β”‚
β–Ό
MUSIC SERVER
β”‚
β–Ό
Subsonic / OpenSubsonic
β”‚
β”Œβ”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”
β–Ό β–Ό β–Ό
Web Desktop Mobile

The server maintains the library and provides access to it. The Subsonic/OpenSubsonic API provides the common language. Clients use that API to browse, search, stream and control the collection. OpenSubsonic describes itself as an open, collaboratively maintained API built on the original Subsonic API, while maintaining backward compatibility with the existing protocol. That makes it possible to mix and match applications.


The server

The server is the part that knows where your music is and makes it available. Several open-source servers participate in the Subsonic/OpenSubsonic ecosystem.

Navidrome

Navidrome is probably the most visible modern example. It is a lightweight, self-hosted music server with its own web interface, transcoding, multi-library support and a large ecosystem of compatible applications. It is GPLv3 software. Navidrome currently supports Subsonic API 1.16.1 with some differences and is continually adding OpenSubsonic extensions. Its important characteristic is that Navidrome is not dependent on its own player. You can use its web interface, or choose from a large collection of third-party clients.

gonic

gonic is another lightweight Subsonic/OpenSubsonic server, written in Go. It is particularly interesting if you want a relatively small server rather than a large media-management application.

Airsonic-Advanced

Airsonic-Advanced continues the Airsonic branch of the Subsonic family. It is useful for people who want to remain closer to the traditional Subsonic/Airsonic lineage while still having a maintained open-source implementation.

Ampache

Ampache takes a different approach. Ampache is a broader web-based media server rather than simply a lightweight Subsonic server, but it can act as a Subsonic/OpenSubsonic server for compatible clients. Its current documentation shows OpenSubsonic becoming the default implementation, with the traditional Subsonic API retained for compatibility.


OpenSubsonic

Subsonic’s original API has become a de facto standard for self-hosted music applications. OpenSubsonic is the community effort to continue developing that API. The goal is not to throw away Subsonic and start again. Instead, OpenSubsonic extends it while maintaining compatibility. The API covers much more than simply “play this file.”

It includes:

  • artists
  • albums
  • songs
  • genres
  • searching
  • playlists
  • ratings
  • favourites
  • playback information
  • lyrics
  • artwork
  • streaming
  • downloading
  • transcoding
  • play queues
  • scrobbling/playback reporting
  • jukebox control
  • podcasts
  • internet radio
  • user management
  • library scanning

It also distinguishes between browsing a collection through its metadata and browsing its underlying file structure. That distinction is particularly important for a serious music library. The API is becoming more capable as OpenSubsonic extensions are added, and servers can advertise which extensions they support.


The players

This is where the ecosystem becomes interesting. A server does not dictate the application you use to listen to your music. Navidrome’s current application catalogue lists dozens of clients for Android, iOS, Windows, Linux, macOS, web and other platforms.

Among the open-source projects are applications such as:

  • Feishin β€” desktop/web-oriented Subsonic client
  • Supersonic β€” desktop client
  • Tempus β€” Android client
  • Airdrome β€” web/PWA client
  • Airsonic Refix β€” web client
  • Radiccio β€” OpenSubsonic client
  • tinysub β€” lightweight client

The OpenSubsonic project itself maintains lists of participating servers and clients.

There are also proprietary clients, which is an important part of the ecosystem. Subsonic compatibility does not mean that every application is open source.

The protocol is the common layer.


foobar2000

For audio-file.org readers, there is another particularly interesting option:

foobar2000 can now act as an OpenSubsonic client.

The foo_opensubsonic component connects foobar2000 to OpenSubsonic-compatible servers such as Navidrome. It can:

  • stream tracks directly into foobar2000
  • synchronize remote library metadata
  • import and synchronize remote playlists
  • retrieve and cache artwork
  • report playback

It can even expose streamed tracks through subsonic:// paths. The current component supports foobar2000 v2 on Windows, including Windows ARM. That creates an interesting combination:

Music files
β”‚
β–Ό
Navidrome
β”‚
β–Ό
OpenSubsonic
β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Ί Mobile player
β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Ί Web player
β”‚
└──────────► foobar2000

In other words, your server becomes a music-library backend, while foobar2000 remains one of your preferred music environments.


And then there is Music Assistant

Subsonic/OpenSubsonic does not have to be the final destination. Music Assistant can use OpenSubsonic-compatible servers as music sources. This creates another layer:

                 β”Œβ”€β”€ foobar2000
                 β”‚
Music Server ─── OpenSubsonic ─── mobile
                 β”‚
                 └── Music Assistant

The result is closer to a complete home music system than simply a remote music player.


What works with what?

The important thing is the separation of roles.

ApplicationRole
NavidromeMusic server + web player
gonicLightweight music server
Airsonic-AdvancedSubsonic-family music server
AmpacheFull media server + Subsonic/OpenSubsonic server
FeishinDesktop/web client
SupersonicDesktop client
TempusAndroid client
AirdromeWeb/PWA client
foo_opensubsonicfoobar2000 client
Music AssistantMusic-system integration layer

This means you can build several different systems from the same collection.

Simple

Music files
↓
Navidrome
↓
Navidrome Web UI

Mobile

Music files
↓
Navidrome
↓
OpenSubsonic
↓
Android / iOS client

foobar2000

Music files
↓
Navidrome
↓
OpenSubsonic
↓
foo_opensubsonic
↓
foobar2000

Whole-home system

Music files
↓
Navidrome
↓
OpenSubsonic
↓
Music Assistant
↓
multiple players / rooms / clients

So which one should you use?

There isn’t one universal answer because the components solve different problems.

  • For a modern, general-purpose self-hosted music server, Navidrome is a particularly important project to investigate.
  • For a small, lightweight server, gonic is worth looking at.
  • For someone interested in the Airsonic/Subsonic lineage, Airsonic-Advanced remains relevant.
  • For a broader media-server environment, Ampache provides a different approach.
  • For foobar2000, foo_opensubsonic is the obvious bridge.
  • For desktop clients, Feishin and Supersonic are examples of the growing client ecosystem.
  • For mobile listening, there are numerous Android and iOS choices, both open and proprietary.
  • And for whole-home music, OpenSubsonic can become one source within Music Assistant.

The important point is that these choices are not mutually exclusive.


Why this matters

The really interesting part of the Subsonic ecosystem isn’t streaming. It is separation. Your music collection doesn’t have to be tied to one application.

             YOUR MUSIC
                  β”‚
             β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”
             β”‚  SERVER β”‚
             β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜
                  β”‚
           OpenSubsonic
                  β”‚
       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
       β–Ό          β–Ό          β–Ό
    foobar      mobile      web
       β”‚
       β–Ό
  your preferred
  music environment

The server can change.
The player can change.
The phone can change.
The user interface can change.
The underlying music collection remains yours.

And because the API includes metadata, playlists, ratings, playback information and other library operations, it provides considerably more than a simple mechanism for delivering audio files.


Where this is going

OpenSubsonic is still developing.

That is particularly significant because newer extensions are beginning to move beyond the original “music streaming server” model. For example, current implementations are adding standardized mechanisms for playback reporting, lyrics, transcoding and other capabilities. There is even work appearing around sonic similarity.

Ampache’s current OpenSubsonic implementation documents a sonicSimilarity extension that can expose audio-analysis-based similar tracks when an appropriate analysis system is installed. That points toward something much more interesting than simply putting your music on a web server. It points toward a common interface between:

music collection β†’ metadata β†’ analysis β†’ recommendation β†’ player

And that is where this ecosystem becomes particularly interesting for anyone trying to build a genuinely intelligent music library.


The bottom line

Subsonic/OpenSubsonic is best thought of as an interoperability layer for personal music systems. You don’t have to choose one monolithic application. You can choose a server for your collection, an API for interoperability, and the players you actually like. For someone building a serious personal music library, that separation is a feature, not a complication.

SoundCraft ~ Avid Pro Tools Reimplementation


Recording, editing and mixing audio; an open-source, clean-room reimplementation of Avid Pro Tools, rebuilt in pure Rust.

A complete digital audio workstation that runs natively on macOS, Windows, Linux and FreeBSD, and in the browser. Multitrack editing, a full mixer with plugins, sends and automation, MIDI, recording and bouncing, and every action scriptable from the command line or by an AI agent.

soundcraft user interface

github.com/storytold/soundcraft
sourceforge.net/projects/soundcraft.mirror

Liquidsoap Record ~ Capture Radio Streams


A tool for recording internet radio streams (Shoutcast/Icecast/HTTP streams) to disk with automatic track-splitting, ID3/Vorbis metadata tagging, and cover-art embedding β€” driven by Liquidsoap and controlled through a desktop GUI (with an optional web interface).

liquidsoap-record desktop interface

github.com/smoralis/liquidsoap-record
hydrogenaudio.org/index.php/topic,129894.0

troubastack ~ Sheet-music & Lyrics Annotation


Collaborative sheet-music & lyrics annotation for bands and ensembles: a reactive web editor (TroubaStudio), an authoritative Go sync core (TroubaCore), and an offline mobile presenter (TroubaStage).

github.com/yoda-jm/troubastack

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

BrainzMash ~ Musicbrainz & Lidarr Endpoint


Brainzmash is a community Musicbrainz and Lidarr metadata endpoint backed by a community server pool.

For Lidarr, it’s the MusicBrainz metadata you know and love but it solves some issues experienced with the official Lidarr metadata with shorter lived cache and easy manual cache refresh to capture fresh MusicBrainz data.

The MusicBrainz endpoint is an alternitive to the Musicbrainz rate limited API or setting up a Musicbrainz server to serve various projects.

The data on each server is verified as correct and checked regularly to ensure it matches the other servers in the pool by way of running hashed data quorum checks against various endpoints, checking replication freshness and ensuring images are present where possible.

brainzmash.cc

Aurral ~ Self Hosted Music Discovery


Aurral is self-hosted music discovery with its own music library. Best-in-class recommendations, rotating flows, playlist downloads, and a library that Aurral manages, with Lidarr as an optional add-on.

Aurral Discovery Page View

aurral.org
github.com/lklynet/aurral

Online Spectrum Analyzer


Analyze audio files or microphone input with a real-time spectrum and spectrogram. Check clipping, noise, hum, loudness, and True Peak.

onlinespectrumanalyzer.com

myco ~ macOS Multi-output Device Control


Lightweight, ergonomic multi-output audio device for macOS.

myco user interface

github.com/ssankko/myco

foo_filename_editor ~ Advanced File Renamer


Advanced file renamer component for foobar2000 media player. This plugin helps you rename your physical audio files on your hard drive based on their metadata tags, while ensuring a seamless, smart, and fully automated workflow.

Key Features:

  • Smart Track Number Padding: Automatically scans all selected tracks. If the album contains 100 or more tracks, it pads numbers to 3 digits (001, 002), otherwise it defaults to 2 digits (01, 02) dynamically.
  • Intelligent Compilation (Various Artists) Detection: Automatically checks %album artist% and %artist% tags. If it detects a compilation, it seamlessly applies your custom VA formatting template.
  • Advanced Case Conversion: Supports Title Case, Smart Title Case (keeps short words like a, an, the, and, with lowercase), Sentence case, ALL CAPS, and lowercase.
  • Roman Numerals Preservation: Intelligently detects standalone Roman numerals (e.g., Part iii) and forces them to uppercase (Part III) across all case conversion modes (except lowercase). Includes protection against false positives (words like MIX, DIV).
  • Extended Unicode & Ligature Support: Works perfectly with Windows native APIs, preserving and processing complex characters like Γ¦, Ε“, ß, and language-specific diacritics.
  • Safe Formatting Menu: Quick insertion menu for popular tags and safely escaped syntax characters like '(', ')', '[', ']', and single/double quotes (', '').
  • Seamless Playlist Synchronization & Reload: Automatically replaces dead file links in all open playlists with the newly renamed paths. Instantly reloads file tags and durations in the backgroundβ€”no broken links, no manual reloading required!
  • Robust Error Handling: If a file cannot be renamed (e.g., if it is locked or currently playing), the plugin bypasses it without crashing and provides a detailed summary report of successful and failed files.
  • Persistent Settings: Remembers your custom single/VA templates, history list, checkboxes status, and even your preferred window column widths between sessions.

M3U/M3U8 Playlist Generation (v1.1)

The plugin now includes built-in support for generating playlist files automatically during the renaming process:

  • Save M3U Checkbox: Automatically creates a playlist file in the top-level directory of your processed files.
  • Custom Naming Templates: Use standard foobar2000 title formatting syntax (like %album% or %artist% - %album%) to dynamically name your playlist file.
  • EXTINF Metadata: Optional toggle to write standard #EXTM3U and #EXTINF headers containing track durations and formatted titles (%artist% - %title%).
  • Smart Conflict Resolution & Overwrite Toggle: Prevents accidental loss of data. If overwrite is disabled, the plugin safely creates incremented filenames like Playlist (1).m3u.
  • UTF-8 Compatibility: Playlists are written with a proper UTF-8 BOM, ensuring seamless support for non-ASCII characters, symbols, and ligatures.
foo_filename_editor configuration panel

github.com/VadimLevo/foo_filename_editor

WrzDJ ~ Disc Jockey Song Requestor


A real-time song request system for DJs. Guests scan a QR code to submit requests. DJs manage everything from a live dashboard with automatic track detection from their equipment via plugins for Denon, Pioneer, Serato, and Traktor.

wrzdj web interface

wrzdj.com
github.com/wrzonance/WrzDJ