itunesfm ~ iTunes & last.fm Integration


A small script to sync your play counts from last.fm back to iTunes. Supports both Windows and Mac OS X without any native dependencies. (Requires Music.app on OS X.)

Useful if you scrobble to last.fm from iTunes on multiple computers / devices and want to keep your local play counts consistent.

github.com/hansonw/itunesfm

foo_uie_webview ~ Foobar2000 Webapps


foo_uie_webview is a foobar2000 component that exposes the Microsoft WebView2 control as UI panel. The component started as foo_vis_text.

It takes an HTML file that receives playback notifications from foobar2000. The panel can react to those notifications and adjust its output using JavaScript code.

Features:

  • Supports the Default User Interface (DUI) and the Columns User Interface (CUI).
  • Supports dark mode.
  • Supports foobar2000 2.0 and later (32-bit and 64-bit version).

github.com/stuerp/foo_uie_webview
Topic: foo_uie_webview
Topic: Made with foo_uie_webview

Gallery

Python Script ~ White Noise Channel Tester


An application for testing the audio channels of home theater systems and calibrating the gain of each speaker.

github.com/goha500503/White-Noise-Channel-Tester-Calibration

Foobar2000 ~ EAC Log Viewer Script


SMP EAC Log Viewer for Foobar2000

The SMP EAC Log Viewer is a Spider Monkey Panel (SMP) script for Foobar2000 designed to display Exact Audio Copy (EAC) log files in a DUI panel. It preserves the alignment of log columns, color-codes the conclusion lines for quick success/error identification, and prepends a summary line so it scrolls with the rest of the log.

Features:

  • DUI panel
  • Monospace font: Preserves column alignment in all EAC logs.
  • Color-coded conclusions:
    • Green = successful rip
    • Red = errors found
  • Summary line: Displays overall pass/fail and scrolls with the log.
  • Automatic log detection: Checks multiple common naming conventions:
    • %album%.log
    • %artist% - %album%.log
    • EAC.log

Installation:

  1. Download the script
    Get the latest version of the SMP script from the GitHub repository:
    github.com/tom2tec/foobar2000_smp_eac_log_viewer/releases
  2. Copy the script
    Copy and paste the eac_log_viewer_panel.js script into your preferred scripts folder. Typical choices:
    • C:\Users\<YourName>\Documents\Foobar\scripts
    • Or any folder you already use for SMP scripts.
  3. Add a Spider Monkey Panel
    • Open Foobar2000 and switch to your DUI layout.
    • Right-click → Add New UI Element → Spider Monkey Panel
    • Open the Edit Panel Script… pane and paste the contents of eac_log_viewer_panel.js. or point to the script’s location in Panel Properties → Script File → File.
  4. Adjust panel settings
    • Set the font to match your DUI theme (monospace).
    • Resize the panel to comfortably display the full log width.

Usage:

  • The panel automatically updates when:
    • You play a new track.
    • You change focus in the playlist.
  • Scroll through the log using your mouse wheel.
  • The summary line shows the overall rip status and scrolls with the text.
  • Color-coded lines highlight conclusions: green for success, red for errors.

Notes:

  • The script is optimized for one log per album, but will attempt all three naming conventions for flexibility.
  • Unusually named logs may require manual renaming in order to conform or add an input condition to the script.
  • DUI theming preserves font and panel appearance but maintains column alignment.

License

This project is licensed under the MIT License. See the included LICENSE file or the GitHub repository for details.

Download and Support

caudec ~ Multiprocess Audio Converter


caudec is a command-line utility that transcodes (converts) audio files from one format (codec) to another, among other things.

It leverages multi-core CPUs and runs multiple processes concurrently (one per file and per codec, and more than one thread per codec when it supports it). The objective is to hog the CPU as much and as long as possible. One strategy is to sort input files by size, so that the largest files potentially get more threads towards the end of the job.

Features:

  • Supported input formats / codecs: WAV, AIFF, CAF, FLAC, WavPack, Monkey’s Audio, ALAC.
  • Supported output formats / codecs: all of the above, as well as LossyWAV / LossyFLAC, MP3, AAC (.m4a), Ogg Vorbis, Opus.
  • Supported platforms: macOS, Linux.
  • Transcoding to several different codecs at once is possible. In that case, decoding of input files is done only once.
  • Metadata is preserved (as much as possible) from one codec to another.
  • Artwork can be embedded into each file, and / or copied to the output directory. It can be done selectively (e.g. embed and / or copy one image for lossless files, and another image for lossy files).
  • Audio can be resampled (e.g. 48kHz to 44.1kHz) and downmixed (e.g. 6 channels to stereo). A profile can be provided to set a maximum value for the number of channels, bit depth and sampling rate. When a profile is provided, the source will only be altered after decoding and before encoding, if some metric of the source is above the given profile.
  • Multiprocess ReplayGain scanner for FLAC, WavPack, MP3, Ogg Vorbis, Opus.
  • Ability to hard link lossy files to a different directory when encoding to WavPack Hybrid. The point is to have two libraries that takes the storage of just one, with a lossy collection that has its own root directory and that’s easy to drag and drop to a device such as a smartphone or a Digital Audio Player (DAP).
  • Ability to touch files and album directories using metadata to reflect the music’s release date and duration (see example below).

github.com/gcocatre/caudec

foo_masstagger ~ Automate Foobar2000 Tag Editing


Automates various tag editing operations.

www.foobar2000.org/components/view/foo_masstag
wiki.hydrogenaudio.org/…/Masstagger_(foo_masstag)

Usage:

Adding MOOD tags:

  1. Select tracks
  2. Right-click → Tagging → Manage Scripts
  3. Create a script:
    • Add value
    • Field: MOOD
    • Value: Calm
  4. Save as preset (Mood: Calm)

Repeat once per mood.

After that:

  1. Select tracks
  2. Right Click > Tagging > Scripts
  3. Apply mood script preset

DawDreamer ~ Audio Processing Python Framework


DawDreamer is an audio-processing Python framework supporting core DAW features and beyond:

  • Composing graphs of multi-channel audio processors
  • Audio playback
  • VST instruments and effects (with UI editing and state loading/saving)
  • FAUST effects and polyphonic instruments
  • Time-stretching and looping, optionally according to Ableton Live warp markers
  • Pitch-warping
  • Parameter automation at audio-rate and at pulses-per-quarter-note
  • Parameter automation saving in absolute audio-rate time
  • MIDI playback in absolute time and PPQN time
  • MIDI file export in absolute time
  • Rendering and saving multiple processors simultaneously
  • Support for the Faust Box and Signal APIs
  • Transpiling Faust code to JAX/Flax and other target languages (C++, Rust, Wasm, etc.)
  • Machine learning experiments with QDax
  • Multiprocessing support
  • Full support on macOS, Windows, Linux, Google Colab, and Ubuntu Dockerfile

DawDreamer’s foundation is JUCE, with a user-friendly Python interface thanks to pybind11. DawDreamer evolved from an earlier VSTi audio “renderer”, RenderMan.

github.com/DBraun/DawDreamer

Fooyin ~ Linux Audio Player


Fooyin is a customisable music player for Linux. Fooyin features a layout editing mode in which the entire user interface can be customised, starting from a blank state or a default layout. FooScript takes this further by extending the customisation to individual widgets themselves.

Features:

  • Playback FLAC, MP3, MP4, Vorbis, Opus, WavPack, WAV, AIFF, Musepack, Monkey’s Audio
  •  Playback popular VGM and tracker module formats
  •  Gapless playback
  •  Add and play files from within compressed archives
  •  Audio output and device configuration
  •  CUE sheet support (including embedded)
  •  Fully customisable layout, starting from a blank window
  •  Customisable keyboard shortcuts
  •  Filter library on any field(s)
  •  Create and manage playlists
  •  Import/export playlists (M3U/M3U8)
  •  Extensible using a plugin system
  •  Tag editing
  •  Library tree, including directory structure view
  •  Directory browser
  •  Waveform seekbar
  •  MPRIS support
  •  ReplayGain support
  •  Scrobbling

www.fooyin.org
github.com/ludouzi/fooyin

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

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

mp3menu ~ Linux Console Audio Player


mp3menu lets you select and play your music files using iselect and AlsaPlayer. Mainly MP3’s, but this will actually play anything AlsaPlayer and libaudio can handle, so WAV and FLAC are covered, as well as a bunch of ancient formats dating back to the 1980s. Sadly, M4A is not.

Requires:
1. AlsaPlayer
2. Iselect
3. Bash – mp3menu is a bash script. It might work with zsh, dash and other shells, or it might not.

sourceforge.net/projects/mp3menu

FoobarSync ~ Syncronize Your Media


FoobarSync is an command line driven VBscript which will synchonize parts from your foobar2000 Medialibrary and Playlists to one or more targets in a very flexible way.

Lets say you have a USB-Stick for your car entertainment system plus an Android device. Sure you want to have some music in your car and on your Android. But your car only accepts MP3 and needs a special folder-layout while your Android device plays many formats, but you want to save space and therefore want lower bitrates. And at least you want to have different albums and playlists in your car then on your Android. FoobarSync will help you to meet those demands plus more.

FoobarSync will get a subset of items from your Medialibrary AND your playlists, defined by a search-query and other rules. The selected items can be defined per target (one configuration file per target). This configuration file is stored in the root folder of the target. When synchronizing each item is checked against the defined rule sets and then a) copied to the target or b) converted to the target. If your subset (choosen items) in foobar2000 changes, these changes will get synchonized as soon as you rerun FoobarSync.

foobarsync.lima-city.de/wikka/HomePage
hydrogenaud.io/index.php?topic=108834.0