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

foo_jscript_panel3 ~ JScript Panel 3


This component for foobar2000 is based on WSH Panel Mod.

It allows the creation of customisable panels that can be written with JavaScript rather than the C++ required by the foobar2000 SDK.

Under the hood, it uses Windows Script Host. Because of this, JS language support is limited to ECMAScript 5. Nothing newer will ever be supported.

Here are just some of the features provided by the component…

  • Custom drawing of text, external images, lines, rectangles, etc.
  • Use fonts/colours from the main preferences of whichever user interface you are using.
  • Executing main/context menu commands.
  • Ability to create custom buttons/menus.
  • Capture keystrokes/mouse movement/clicks.
  • Callbacks can be used to trigger code based on foobar2000 events.
  • Read/write file tags.
  • Complete manipulation of playlists.
  • Media Library display/sorting/filtering
  • Save settings on a per panel basis. These persist between restarts and are stored inside the layout configuration file for whichever UI your are using. You can also write your own functions to load/save settings from JSON or plain text files.
  • Built in support for making GET / POST requests which return plain text and there is also a method for downloading binary files. If you prefer, you can use the Microsoft.XMLHTTP ActiveX object.
  • There are many built in methods for working with the local filesystem, launching external applications etc. Previous versions / other scripting components rely on ActiveX objects but the need for those is greatly reduced.
  • And much more…

github.com/jscript-panel
jscript-panel.github.io

foo_jscript_panel by leefan


This was a customisable panel for the foobar2000 audio player. It was based on WSH Panel Mod and was its successor. It is no longer maintained and has been superseded.

All scripts were written in Javascript but the component provided means to do the following:

  • Custom drawing of text, images, lines, rectangles, etc.
  • Executing main/context menu commands.
  • Ability to create custom buttons/menus.
  • Callbacks can be used to trigger code based on foobar2000 events . See callbacks.txt.
  • Read/write file tags.
  • Complete manipulation of playlists.
  • Media Library display/sorting/filtering
  • And much more…
github.com/leefan/foo-jscript-panel

foo_loudness_peakmeter ~ Measure & Visualise Loudness & Sample Peaks


hydrogenaud.io/index.php/topic,123953.0
hydrogenaud.io/index.php/topic,123954.0
Foobar2000:Components/Loudness_Peakmeter_(foo_loudness_peakmeter)
wiki.hydrogenaud.io/index.php?title=Category:Foobar2000_Columns_UI_components

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

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

VB-Audio Matrix ~ Universal Audio Router


The VB-Audio Matrix is an audio framework to connect everything together, channel by channel: Several ASIO devices, several Windows devices, several audio Applications and DAW, several Computers.

Now with the VB-Audio Matrix, all audio streams can be managed, routed and mixed together, from your USB MIC to any ASIO devices, from your ASIO device to any audio applications, to or from Voicemeeter to Discord, Zoom or Ableton Live, to or from all other computer thanks to VBAN streaming features… All connections will be possible channel by channel.

vb-audio.com/Matrix

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