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.
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.

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.
| Application | Role |
|---|---|
| Navidrome | Music server + web player |
| gonic | Lightweight music server |
| Airsonic-Advanced | Subsonic-family music server |
| Ampache | Full media server + Subsonic/OpenSubsonic server |
| Feishin | Desktop/web client |
| Supersonic | Desktop client |
| Tempus | Android client |
| Airdrome | Web/PWA client |
| foo_opensubsonic | foobar2000 client |
| Music Assistant | Music-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_opensubsonicis 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.

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).

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).
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.

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.
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.

Online Spectrum Analyzer
myco ~ macOS Multi-output Device Control
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
#EXTM3Uand#EXTINFheaders 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.




