Foobar2000 ~ DUI – Containers – Tabs


Tabs are a row of individual containers selectable by a tab at the top of the parent container. Tabs are used to display a number of different panels in the same area.

Adding and Customizing Tabs in Foobar2000 DUI

  • Open the View menu in the top menu bar.
  • Select Layout > Enable Layout Editing Mode.
  • Add a Splitter if necessary
  • Right-click the area where you want to insert tabs.
  • Select Add New UI Element from the context menu.
  • Choose Tabs from the list of available elements and click ok.
  • Right-click the newly created top tab row and select Add Tab to create a new tab or name the tabs.

Add Content to Tabs:

Inside each tab, right-click and select Add New UI Element to insert components such as the Console, Equalizer, or Visualizations, etc.

Finalize Your Layout:

After configuring the tabs and naming them, return to the View menu and deselect Enable Layout Editing Mode.

Tip: The mouse wheel switches tabs when hovering over the tab row.

References:

wiki.hydrogenaud.io/index.php?title=Foobar2000:Uie_tabs
wiki.hydrogenaud.io/index.php?title=Foobar2000:Components/Tabs_(foo_uie_tabs)

FMIT ~ Free Music Instrument Tuner


FMIT is a graphical utility for tuning your musical instruments, with error and volume history and advanced features.

Features:

  • Estimation of the fundamental frequency (f0) of an audio signal, in real-time.
    (the f0, not the perceived pitch)
  • Harmonics’ amplitude
  • Waveform’s period
  • Discrete Fourier Transform (DFT)
  • Microtonal tuning (supports scala file format)
  • Statistics
  • All views are optional so that the interface can be as simple as possible.
    (make it easy to see on a distant screen)
  • Can support OSSALSAPortAudio and Jack sound systems.
  • Everything runs under Linux, Mac OSX  and Windows 

gillesdegottex.github.io/fmit

foobar2000 ~ Adding Panels To The DUI


Before some foobar2000 components can be utilized, the component’s visual interface must also be added to the Default User Interface in order to be seen or interacted with. It just takes a few steps to add new panels and interfaces to foobar2000.

Step 1: Open the Layout Editor

  1. Click on View in the foobar2000 menu bar
  2. Select LayoutEnable Layout Editing Mode

    A checkmark indicates that layout editing mode is enabled.

Step 2: Choose the location for the new panel

First Right-click on the area where you want to add a new panel.

Then select Replace UI Element from the context menu.

A submenu will allow you to choose the splitter orientation:

Splitter (left/right): Divides the area into two vertical sections, side by side.

Splitter (top/bottom): Divides the area into two horizontal sections, stacked one above the other.

Select the desired orientation and click OK.

The new splitter will now divide the selected area into two sections. Splitters can be moved by by dragging.


Step 3: Add a new panel

  1. After adding the splitter, right-click on the new empty white section.
  2. The selected panel will now appear in the designated section.

Select Add New UI Element from the context menu.

A dialog will appear with a list of available UI elements. Examples include:

Playlist View: Displays your playlists.

Album List: Provides a tree view of your library.

Vu Meter: Adds a VU meter.

Choose the panel you want to add and click OK.


Step 4: Customize the new panel

  1. Right-click on the newly added panel to access its specific settings (e.g., appearance, behavior).
  2. If additional configuration is required, check the panel’s settings in the Preferences menu:
    • Go to FilePreferences.
    • Navigate to the corresponding section under Display or Components.

Step 5: Save the layout

  1. When you’re satisfied with the changes, click on the yellow bar at the top and choose Apply Layout.
  2. To save the layout permanently:
    • Go to ViewLayoutSave Layout.
    • Provide a name for the layout for easy restoration later.

Step 6: Install additional panels (Optional)

  1. If the desired panel isn’t available, you may need to install third-party components:
    • Download components from the official foobar2000 components repository: foobar2000 Components.
    • Install the component:
      • Go to FilePreferencesComponents.
      • Click Install and select the downloaded .fb2k-component file.
    • Restart foobar2000.
  2. After installation, repeat Step 3 to add the new panel.

Working with panels or splitters:

Right mouse clicking on any UI Element brings up the context submenu.


Scatchbox Mode:

View > Layout > Create Scratchbox

Opens a window which acts like the user interface allowing for splitter, tabs and UI elements to be prearranged. Themes can also be loaded, edited and saved.

Quick Appearance Setup:

View > Layout > Quick Setup

Submenu of predefined DUI configurations.

Foobar2000 - Quick Appearance Setup Submenu

References:

wiki.hydrogenaud.io/…Foobar2000:Components/Default_user_interface
wiki.hydrogenaud.io/…Foobar2000:Layout_Editing_Mode
wiki.hydrogenaud.io/…Default_User_Interface:List_of_UI_Elements
wiki.hydrogenaud.io/…Foobar2000:How_to_install_a_component
wiki.hydrogenaud.io/…Foobar2000:Default_User_Interface:Quick_Appearance_Setup

Key Concepts:
Splitters divide areas to create new spaces called containers
Containers are then populate by either a tabbed container or with UI Elements
Tabbed containers are also then populated by UI Elements

EOF

MPZ ~ Music Player For Big Local Collections


Directory tree is your music library

Features 3 columns UI: directory tree (aka library), playlists and tracks from selected playlist. Middle-click on folder or track in the directory view and it will become a playlist an its content will be loaded into tracks view. Create multiple playlists from folders in your library and switch between them quickly. Similar to “Album list” in Foobar2000.

mpz-player.org
github.com/olegantonyan/mpz

Ecoute 2 For iOS ~ Highlight Your Music


Ecoute was designed in order to be easy to use in any circumstances. We focused on artworks for the main view so you can make your choice more easily. Any item handles a long-press action and brings cool options to facilitate your navigation. Quickly jump on the now playing artist or album and select an other song you wish to listen next. We also rebuilt the standard iOS navigation system from the ground up so you can quickly select / go back while a transition occurs. Moreover, as Ecoute doesn’t need any pull-to-refresh, we decided to use the same principle for the search. Just pull down the current list and the search bar will appear in the coolest way ever.

ecoute.juliensagot.fr
en.wikipedia.org/wiki/Ecoute

Wax ~ Catalog & Play Recordings


Wax is a program for cataloging and playing a collection of music recordings. Wax is able to rip CDs and import downloads so that you can create a sound archive complete with metadata.

Wax is fundamentally different from existing music managers in two important ways. First, the fundamental unit for recordings is a “work”, not a track. A work is usually a collection of tracks. It can encapsulate whatever tracks you choose. In pop music, a work can be an album. For symphonic music, a work can be a single symphony, even when the tracks come from a CD with more than one symphony. For operas, a work can be a single opera even when the tracks come from multiple CDs. Music collectors usually think in terms of works, so a music manager that supports the concept makes operation more natural.

The other distinguishing characteristic of Wax is that genres are fundamental to the organization of a collection rather than a mere attribute of a track. Wax recognizes that the ideal way to catalog works varies by genre. For example, symphonic works can be cataloged by composer, work, conductor whereas shows can be cataloged by show, composer, lyricist. By organizing collections around genres, Wax supports an operation sequence that is natural for music lovers: first select the genre, then the work, and finally the tracks.

github.com/jeffbarish/wax
github.com/jeffbarish/wax-install

Cardinal ~ Virtual Modular Synthesizer Plugin


A fully free and self-contained modular synthesizer based on the popular VCV Rack. Available in AudioUnit/CLAP/LV2/VST2/VST3 plugin formats and as a standalone app for FreeBSD, Linux, macOS, Windows and the Web.

cardinal.kx.studio
github.com/DISTRHO/Cardinal

Cavalier ~ Visualize Audio With CAVA


  • 11 drawing modes!
  • Set any single color, a gradient or an image for background and foreground.
  • Configure smoothing, noise reduction and a few other CAVA settings.

github.com/NickvisionApps/Cavalier
Cava ~ Cross-platform Audio Visualizer

AudDMusic ~ Song Recognition Browser Extension


Recognize any music from any website in your browser. Install the AudD extension and click on its icon to identify the song playing on the current tab.

The AudD extension:

  • Recognizes the music playing in your browser
  • Finds music in the AudD database with more than 80 million songs using its music recognition technology
  • Shows lyrics for identified songs
  • Shows links to listen to the songs on Apple Music, Spotify, Deezer, YouTube Music
  • Displays the exact moment in the recognized song when the sound from the browser is played

audd.cc/chrome
github.com/AudDMusic/chrome-extension
github.com/AudDMusic/firefox-extension
audd.io

Foobar2000 ~ Installing Encoders, Decoders & Inputs


Foobar2000 plays most audio files but can be extended. There is an official Encoder Pack which is a good place to start.

www.foobar2000.org/encoderpack

After downloading the latest version of the encoder pack, launch the installer and confirm it’s found the correct foobar2000 installation.

The next step is to deselect any encoders you don’t need.

And then click Install

Installing Additional Encoders

You may also need to install additional encoders; these are installed as components. For instance, foo_midi.fb2k allows foobar to play midi files. The component’s download page is here:

www.foobar2000.org/components/view/foo_midi

After you’ve downloaded the component, double click it and foobar should start the component installation procedure.

Click Yes and foobar will install foo_midi and require a restart. Once this is done, you should confirm that foo_midi was installed.

References:

Encoder & Input List
www.foobar2000.org/components/tag/decoder
www.foobar2000.org/encoderpack
wiki.hydrogenaud.io/index.php?title=Foobar2000:Free_Encoder_Pack
wiki.hydrogenaud.io/index.php?title=Foobar2000:Converter
www.foobar2000.org/components/view/foo_midi

foo_enhanced_playcount ~ Enhanced Playback Statistics


This Foobar2000 component collects and maintains enhanced statistics for played songs; primarily it records the timestamp of every play of a song, and not just the first and last. It will also query last.fm and record play times of every scrobble for a song.

foo_enhanced_playcount provides some additional functionality that foo_playcount does not, but is missing some functionality that foo_playcount has. They work well together, and foo_playcount should NOT be uninstalled when foo_enhanced_playcount is installed.

This component should be installed with foo_playcount and the same time foobar2000 is installed so playback statistics are maintained from the beginning.

New Fields:

  • %played_times% – Date formatted list: ["2012-08-04 15:58:37", "2012-12-10 14:40:46", "2018-01-02 23:38:13"]
  • %played_times_js% – JS timestamp list: [1344117517000, 1355172047000, 1514957893431]
  • %played_times_raw% – raw foobar timestamps: [129885911170000000, 129996456470000000, 131594314930000000]There’s probably no reason to ever use this.
  • %lastfm_played_times% – Date formatted list of scrobbles: ["2012-08-04 15:58:37", "2012-12-10 14:40:46", "2018-01-02 23:38:13"]
  • %lastfm_played_times_js% – JS timestamp list: [1344117517000, 1355172047000, 1514957893000]
  • %lastfm_play_count% – Count of last.fm plays, a la %play_count%: 5
  • %lastfm_added% – Single date: “2012-08-04 15:58:37
  • %lastfm_first_played% – Always exactly the same as %lastfm_added%. Use whichever one makes most sense logically
  • %lastfm_last_played% – Single date: “2018-04-04 15:58:37
  • %added_enhanced% – Returns the earliest of %added% (from foo_playcount) or %lastfm_added%. Single date: “2023-02-04 15:16:17
  • %first_played_enhanced% – Returns the earliest of %first_played% (from foo_playcount) or %lastfm_added%. Single date: “2023-02-04 15:16:17
  • %last_played_enhanced% – Returns the earliest of %last_played% (from foo_playcount) or %lastfm_last_played%. Single date: “2023-02-04 15:16:17

These fields can be exposed via Title Formatting or used in scripts. This component does generate extra data per song played and may not be suitable for installations with limited storage.

www.foobar2000.org/components/view/foo_enhanced_playcount
github.com/kbuffington/foo_enhanced_playcount
wiki.hydrogenaud.io/…/foo_enhanced_playcount

rt_pvc ~ Realtime Phase Vocoder


rt_pvc is a:

  • real-time phase vocoder library for synthesis/analysis
  • vocoder application that allows the user to do time-expansion, frequency expansion, and cross-synthesis in real-time, from mic-input or from file.
  • real-time phase vocoder visualization
  • learning tool that teaches about the phase vocoder and its implementation
  • open source!

soundlab.cs.princeton.edu/software/rt_pvc
aur.archlinux.org/packages/rt_pvc