Using Wax for cataloging and playing a music collection

On one of many threads about the difficulties of presenting useful metadata during play especially for classical music and opera, I posted some information about a program I wrote for myself called Wax. @Jim_DeLaHunt suggested that I start a new thread about the software. Although I wrote the software for my own use, I feel the pain of community members like @Budgie2 and @dpr who are grappling with challenges that are handled simply in Wax. If enough other people are interested in using Wax I would consider making it generally available, but I figured that the first step was to find out whether anyone is interested. I have no expectations in that regard. I wrote the software for my own use and I am satisfied with it, so I am content if I am the only one who finds it useful.

If anyone is interested, I thought that I would start with one or two beta testers and decide based on their experience whether and how to proceed. Any prospective beta testers should be aware that I am an idiot, so I do not know how to execute even this first step. I can provide the code as a tar file with an installer. I figured that I would attach it to an email, but I do not see how this community allows us to exchange emails or messages directly. Prospective beta testers should be aware that the code runs on Linux. It requires GTK and Python 3.11. The installer runs apt to install necessary Debian packages in the system location. It also installs program runners in /usr/local/bin and the Wax software in the home directory. The program runs in a virtual environment with packages installed automatically by pip. I developed the software on Kubuntu and I have also tested it on Raspberry Pi OS. If anyone is interested in testing the software, be prepared to tell me how to convey the code.

@Jim_DeLaHunt suggested that I provide information about the software here. For the sake of completeness, I will duplicate some of the information that I posted in another thread. I could also post html with detailed explanations of the software if someone can tell me how to do it.

Wax has three modes of operation, Select, Play, and Edit. You use Select mode to select a work to play. First you select the genre, then the work within the genre. Each genre has its own set of metadata tags, so you can specify tags that make sense to you. You can group tracks to reflect their association as shown in the image. After selecting the desired work and tracks, you drag it to the play queue.

In Play mode, Wax presents all the metadata in their long form. (Select mode presents them in their short form.)

You can also view Wikipedia pages related to the recording and any documents you included (e.g., liner notes).

Edit mode is for editing existing recorings or for ripping or importing new recordings. Wax obtains metadata for CDs from MusicBrainz (of course). It automatically maps names to appropriate metadata fields, and it learns new mappings as you work.

There is also a companion program (WaxConfig) for configuring Wax.

Wax uses its own database to store its rich metadata. It tags sound files that you rip with rudimentary metadata, but do not expect to see the full cast of an opera if you access those sound files with some other player.

There is much more to say, but I will stop here for the sake of brevity (?). I would be happy to respond to questions.


Thank you for posting this summary!

Right now I am playing music using QuodLibet. Wax’s Play mode looks like an alternative to QuodLibet. More than switching to Wax, I might be interesting in looking at Wax’s user interaction design, and porting that to a QuodLibet plugin which behaves the same way.

I am probably not interested in Wax’s edit mode. My workflow is to edit metadata in MusicBrainz using the MusicBrainz editing tools, then to insert metadata from MusicBrainz into the music files using Picard, then to play the music files using whichever inadequate playing app I have on my music server.

I do the configuration and organising work manually. I choose which edits to make to MusicBrainz. I choose when to retag music files with updated MusicBrainz metadata. I choose when to make MP3 copies of the main FLAC music files. It looks like Wax could do some of that. I had been thinking about eventually enlisting beets for the music organiser role. I dream of software which can automatically go through my music files, check if MusicBrainz has new metadata for each file, and retag as necessary.


Thanks for sharing your work and ideas.I missed your post somehow despite being tagged!

I’ve been heads down cleaning up my music, getting it tagged properly and getting artwork setup. Also, a similar project for a mass of photos. What’s common about the two sets of media is that there are a lot of metadata fields to use in the file that makes me reluctant to commit to an external database.

wrt ‘liner notes’ there are two sets of information to consider

  1. All the info and lyrics on the printed liner notes. Classical music and Jazz CDs seem to have good liner notes and even web sites with extensive info.
    Rock and blues CDs have sparse liner notes, but the vinyl versions of the release often have better artwork/ liner notes that are preferred, but need edits to work well on various screens like my big tv. All in all a disconcerting mess. See standard MB rant about record companies that can’t or won’t curate their property.

  2. The background to songs that are ‘stories on the web’… such as who and what is ‘Anticipation’ by Carly Simon about… lots of links to follow and curate. Wikipedia is a start…

I’m on windows at the moment, so I may not be the target platform for you at the moment. The closest I can get is an old MacBook!