swyh-rs ~ Stream What You Hear


A “Stream-What-You-Hear” implementation written in Rust, MIT licensed. swyh-rs implements the idea behind the original SWYH but written in Rust. It allows you to stream the music you’re currently playing on your PC (Windows or Linux) to an UPNP/DLNA/OpenHome compatible music player (a “Renderer”).

github.com/dheijl/swyh-rs

Soundnode ~ SoundCloud For The Desktop


Soundnode App is an Open-Source project to support Soundcloud for desktop Mac, Windows, and Linux. It’s built with Electron, Node.js, Angular.js, and uses the Soundcloud API.

soundnode.github.io/soundnode-website

soundnode user interface

GVolWheel ~ Linux Volume Control


GVolWheel is a Linux application which lets you control the volume easily through a tray icon you can scroll on. Easily integrate with minimal desktops (Openbox,IceWM,XFCE etc).

github.com/Junker/gvolwheel

eyeD3 ~ ID3 Python Script Development


eyeD3 is a Python tool for working with audio files, specifically MP3 files containing ID3 metadata (i.e. song info).

It provides a command-line tool (eyeD3) and a Python library (import eyed3) that can be used to write your own applications or plugins that are callable from the command-line tool.

eyed3.readthedocs.io/en/latest/index

github.com/nicfit/eyeD3

rmlyrics3 ~ Lyrics3 Tag Remover For mp3s


Before ID3v2 came around, Lyrics3 and Lyrics3v2 had their uses (extending the 30-char limit, placing synced lyrics), but nowadays they are a nuisance for most of us. Plus, we have the lyrics frames USLT and SYLT in ID3v2.

Lyrics3 tags come between the audio data and an ID3v1/ID3v1.1 tag at the end of the file (sometimes without the following ID3v1 tag, even if that is mandatory according to Lyrics3 specs). Current ffmpeg and some players and tools still have bugs and try to interpret Lyrics3 tags as audio data, resulting in obscure errors. Unfortunately, there are almost no tools out there to remove Lyrics3 tags—most programs ignore them, but write them back if changing tags. When removing ID3v1 tags from a file, this can result in the illegal situation mentioned above (having a Lyrics3 tag without a following ID3v1 tag)..

This code has been tested with thousands of files but I can give no guarantees. If you destroy your whole music collection, it’s not my fault. Please have a backup!

github.com/Moonbase59/rmlyrics3

mp3view ~ Linux Perl Script


Unlike a lot of people, I strangely like to have my individual non-mixed tracks located in one flat folder and any mixes (such as Ministry Of Sound mix albums, etc…) go into another folder sorted by Albums in separate folders. I also embed all of my MP3s with the album art from the album it is from so they are fully portable across a multi-tude of systems.

Therefore, I want my original system kept as is for me, but software like Windows Media Center annoyingly requires you to have it structured in the ‘Album Artist -> Album’ directory structure with the album art stored as ‘Folder.jpg’.

I will not be ranting about how rubbish that required structure is on a technical level; I have got over that now :). But instead, I wrote a PERL script that runs on my Linux NAS that does the following:

  • Only runs on Linux – if anyone wants to code link support in for Windows / NTFS partitions, please go ahead and mail back the changes.
  • Scans a directory (–mp3dir) (recursion is optional using –recursive) for MP3s / M3U playlists and creates softlinks pointing back to the original files under the ‘Album Artist\Album’ folder structure within –linksdir.
  • The embedded album art is then checked across the album being processed to ensure it is the same – if not, a Warning is output leaving you to fix it. The embedded album art is created as ‘Folder.jpg’ for Windows Media Center.
  • If you want it to delete soft links for tracks / directories that no longer exist in –linksdir (i.e. if you have moved / renamed the original file), you can use –delnonexists.
  • On the off chance you want the –linksdir within the directory structure of –mp3dir, you can use –excludemp3dir to ensure the –linksdir isn’t double scanned.
  • For the first run, I strongly recommend not using the –createlinks switch so you can view any errors you may get.
  • You need to have the library MP3::Tag installed for this to run – you can get this from CPAN.
www.flumps.org/mp3z/tagging

Tksolfege ~ Ear Training Program


Tksolfege is an ear training program for learning to recognize chords, intervals, perform rhythm dictation, solfege dictation and singing solfege sequences. The program requires Tcl/Tk 8.4, however the Windows executable has Tcl/Tk builtin.

Features:

  • The program contains ear training exercises for the identification of chords, musical intervals, key signatures, musical scales, and cadences.
sourceforge.net/projects/tksolfege

DawVert ~ The DAW ConVERTer


DawVert is a Project File Converter

github.com/SatyrDiamond/DawVert

QXGEdit ~ Linux Qt XG Editor


QXGEdit is a Qt GUI for editing MIDI System Exclusive files for XG devices (eg. Yamaha DB50XG).

sourceforge.net/projects/qxgedit

Pipewire ~ Linux Multimedia Processing


PipeWire is a project that aims to greatly improve handling of audio and video under Linux. It provides a low-latency, graph-based processing engine on top of audio and video devices that can be used to support the use cases currently handled by both PulseAudio and JACK. PipeWire was designed with a powerful security model that makes interacting with audio and video devices from containerized applications easy, with support for Flatpak applications being the primary goal. Alongside Wayland and Flatpak, we expect PipeWire to provide a core building block for the future of Linux application development.

  • Capture and playback of audio and video with minimal latency.
  • Real-time multimedia processing on audio and video.
  • Multiprocess architecture to let applications share multimedia content.
  • Seamless support for PulseAudio, JACK, ALSA, and GStreamer applications.
  • Sandboxed applications support. See Flatpak for more info.
pipewire.org