foo_bpm ~ Foobar2000 & BPM


foo_bpm – A Foobar component for automatically analyzing the number of beats per minute in audio files.

Installing and using foo_bpm:

First download and install foo_bpm.fb2k-component.

BPM Installed
foo_bpm successfully installed

The second step is adding a new BPM playlist column to the DUI playlist viewer:

BPM Column
Right click the playlist header and select columns. Toggle the BPM column on.

The third step, add an Analyze BPM toolbar button:

  1. Right click on the metronome icon ico file shown below and download / save it locally
  2. Right click the Foobar toolbar
  3. Select the Customize button
  4. Select from Available Commands [context] > BPM Analyzer > Automatically analyze BPMs
  5. Click Add
  6. Click Change Icon and select the downloaded metronome.ico file
  7. Click OK
metronome.ico (right click and save this ico file locally)
BPM Analyser > Automatically analyse BPMs


The fourth and final step is to select and scan files:

Once the toolbar button is installed, songs can be selected then scanned. The songs will now be tagged with the %bpm% tag and can be selected or sorted by beats per minute as displayed in the playlist column.

Video: www.youtube.com/watch?v=Pg_wJH6TjcY

References:

www.foobar2000.org/components/view/foo_bpm
hydrogenaud.io/index.php/topic,77142.0
Updated Configuration
github.com/stengerh/foo_bpm
foobar.hyv.fi/?view=foo_bpm (latest version)

Foobar2000 ~ DSD & SACD Audio Resources


Compressing DSD files with WavPack 5:

D.I.Y. Audio Heaven:
Compressing DSD files with Wavpack 5

Hydrogen Audio:
How to properly pack DSF files into WavPack?
DSD, WavPack and Foobar SACD Decoder

Foobar2000 DSD and SACD support:

I’ve successfully followed these steps to get DSD (.dsf filetype) and SACD (.iso filetype) playing at high bit rate using foobar2000 on my S.M.S.L M500 DAC.

gist.github.com/milnak/c3b4148e574fa7828cc7d24e46d6dbe9

Resources:

foo_input_sacd ~ Foobar2000 & SACDs


DIY-AUDIO-HEAVEN: Playing SACDs with Foobar2000

Foobar2000 for Dummies (Part 1) – General Setup
Foobar2000 for Dummies (Part 2) – Playing DSD – New SACD plugin (0.9.x & 1.x.x)
Foobar 2000 for Dummies (Part 3) – Playing DSD – Old SACD plugin (0.7.x & 0.8.x)

foo_wave_seekbar ~ Foobar2000 Waveform Seekbar


Enhance the appearance and functionality of Foobar2000 by adding a visual waveform representation of the currently playing audio track, which can be used to navigate to any point in the image of the track by clicking there.

Waveform Seekbar is a UI element for both the Default UI and Columns UI that provides seekbar functionality (seeking, position indicator) on top of a pretty image of the waveform of the currently playing song, drawn using either Direct3D 9.0c or Direct2D 1.0.

foobar_waveform_seekbar

Foobar Waveform Seekbar in action

Topic ~ Hydrogen Audio
Download ~ Hydrogen Audio
Documentation ~ Hydrogen Audio
Source code ~ GitHub

Additional resources:

Waveform Minibar ~ CUI Only
Installing a foobar component
Waveform ~ Wikipedia

Foobar2000 ~ Playlists & Autoplaylists


Playlists, or named lists of songs, are an essential aspect of Foobar2000. Whenever you add a song to Foobar, you are adding it to one of Foobar’s playlists. Foobar allows you to create and maintain different playlists, which are just entitled lists of your audio tracks (files). The playlists link to audio files in a ‘many to one’ relationship; that is, there can be many tracks on different playlists that reference the same audio track. Foobar can import and exports playlists in a variety of formats; and stores its own playlists as .fpl files. (This is different from adding a song to your Foobar2000 Library).

Playlists can be created manually by adding individual songs, or automatically by specifying a set of conditions in a query with the result displayed as an “Autoplaylist”. Manually created playlists are static, they don’t change unless you change them; Autoplaylists are dynamic, that is the results may change whenever the Autoplaylist is queried.

Playlists created manually can be edited directly, while Autoplaylists are edited by modifying the query. However, you can save the results of an Autoplaylist as a new static, and therefore editable, playlist.

Creating an Autoplaylist of an Albumlist item like genre:

  1. Select by genre from the Albumlist view selector
  2. Select a genre from the list of genres
  3. Right click that selected genre and select Create Autoplaylist

You will now have a new Autoplaylist listed on the playlist manager tab with the name of the genre you selected. Playlists created this way are called an Album List branch.

Creating an Autoplaylist of a folder’s contents:

  1. Select the Search tab
  2. enter %path% HAS replace this with the actual path  in the search field
  3. Select ...
  4. Select Create Autoplaylist
  5. Rename the new playlist (hint, with the path)

AutoPlaylist query examples:

  • Lossless ~ “$info(encoding)” IS lossless
  • Lossy ~ “$info(encoding)” IS lossy
  • Missing title ~ title MISSING (no percent signs)
  • Missing genre ~ genre MISSING
  • Never played ~ %play_count% MISSING
  • No Dynamic Range info ~ %dynamic_range_album% MISSING
  • No ReplayGain info ~ %replaygain_track_gain% MISSING
  • No Artist info ~ %path% HAS album AND album artist MISSING
  • Played often ~ %play_count% GREATER 9
  • Randomly sorted ~ ALL SORT BY “$rand()”
  • Recently added ~ %added% DURING LAST 1 WEEKS
  • Recently played ~ %last_played% DURING LAST 1 WEEK
  • Recently modified ~ %last_modified% DURING LAST 2 WEEKS

Foobar Playlist Management Components:

Additional resources:

Building Autoplaylist queries ~ Foobar2000: Query Syntax
Formatting playlist contents ~ Title Formatting Introduction
Adding Playlist Headers ~ Playlist Grouping Schemes

Last.fm ~ Scrobblers


Last.fm is a web service that scrobbles, or tracks and publishes, your music profile and listening history.

Download software to scrobble from anywhere and from any service.

Official:
Last.fm
Github

Android:
github.com/simple-last-fm-scrobbler

Browser plugins:
Last.fm scrobbler for Chrome
scroblr.fm

Cross-platform:

github.com/kawaiiDango/pano-scrobbler

Foobar2000:
github.com/gix/foo_scrobble ~ newer
github.com/zfoxer/foo_scrobbler_mac
www.foobar2000.org/components/view/foo_audioscrobbler

Web:

openscrobbler.com
universalscrobbler.com

foo_audioscrobbler ~ Foobar2000 & Last.fm


Last.fm is a web service that maintains a history of what you’ve listened to. You’ll need a Last.fm account and a player that can scrobble. Scrobbling is uploading the artist’s name and song title of your currently playing track to Last.fm’s server. foo_audioscobbler allows Foobar to keep your Last.fm profile current.

  • It replaces the Last.fm client application.
  • It supports the current submission protocol.
  • It sends “now playing” notifications to your Last.fm profile.

Optionally, it can import played tracks from your iPod via the foo_dop component.

After you install foo_audioscrobbler, you’ll need to log into your Last.fm account in Foobar’s Preferences menu.

Capture - Foobar - prefs - audioscrobbler

www.mp3tag.de/en/fb2k
www.foobar2000.org/components/view/foo_audioscrobbler
Last.fm
My Last.fm profile

Alternative Scrobbler ~ github.com/gix/foo_scrobble/releases

foo_verifier ~ Foobar Audio File Verifier


Checks specified media files for decoding errors. Note that with most formats, its accuracy is limited to detecting errors that abort the decoding process.

Capture_foo_verifier_results
Website
Documentation

After installing this Foobar plugin, you’ll have two new menu choices under the right mouse click context menu: Utilities > Verify integrity and Utilities > Verify album with Accuraterip

It’s also possible to see more information if you go to File > Preferences > Advanced > Tools > File Integrity Verifier and enable Verbose AccurateRip Output

foo_playcount ~ Foobar2000 Playback Stats


You can extend Foobar2000 functionality by increasing the information the player maintains. Installing the foo_playcount component allows Foobar to both keep track of additional data, and adds the following user available fields:

  • Date and time a track was first played ~ %first_played%
  • Date and time a track was last played ~ %last_played%
  • The number of times a track has been played ~ %play_count%
  • Date and time a track was first added to the Media Library ~ %added%
  • Song rating ~ %rating%

Song Rating Playlist Display

The songs rating can now be displayed in a playlist viewer in two ways:

  • On a 1 to 5 scale with %rating%
  • Displayed as up to five stars, “★★★”, with %rating_stars%
  • Displayed as five stars, “★★★☆☆”, with %rating_stars_fixed%

Note: This component should be installed at the same time as Foobar2000, if your goal is to have a complete play count history.

Discussion
Download
Documentation
Display (Title) Formattingplaylist viewer

foo_playcount_2003

This component uses the same database backend that foo_playcount utilises for logging plays but has many more advanced features and fewer limitations.

  • Playcounts and dates can edited for any context menu selection.
  • Data can be imported from file tags or fields provided by other components.
  • Ratings up to 10 are supported.
  • You can customise how long you have to listen before a play count is incremented.
  • The current time is available via title formatting as a full date time string or Unix timestamp.
  • First played, last played and added are all available as Unix timestamps.
  • How records are bound to tracks can be configured in the Advanced Preferences.

marc2k3.github.io/component/playcount-2003

Foobar2000 ~ Playing CDs With Pre-emphasis


Pre-emphasis & CDs

Although rarely used, there exists the capability for standardized emphasis in Red Book CD mastering. As CDs were intended to work on 14-bit audio, a specification for ‘pre-emphasis’ was included to compensate for quantization noise. After production spec was set at 16 bits, quantization noise became less of a concern, but emphasis remained an option through standards revisions. The pre-emphasis is described as a first-order filter with a gain of 10 dB (at 20 dB/decade) and time constants 50 μs and 15 μs ~ http://en.wikipedia.org/wiki/Emphasis_(telecommunications)#Red_Book_Audio

Emphasis came about because of early converter design. The entire sampling process was new, and A to D converters exhibited low level noise because of bad linearity in the conversion process. This process added some high frequency broadband noise to the digital signal. Manufacturers overcame this byproduct by boosting (emphasis) the high frequencies during the conversion from analog to digital, and then rolling off (de-emphasis) the high frequencies by the same amount after the conversion back from digital to analog. This process was optional and there was a switch to select emphasis on each track during record. A flag was set in the digital bit-stream, which automatically activated de-emphasis during playback. All CD players, DVD players, and DAT machines detect this flag and turn on a high frequency roll-off in the analog domain during playback. If the digital signal contains emphasis and the flag is missing or turned off, then the roll-off does not occur and the audio will be brighter than normal.

This emphasis feature was the biggest reason why different CD players sounded different when playing back the same CD, or DAT machines differed playing back the same DAT tape. The digital part and the conversion to analog were basically the same in all of the machines. The de-emphasis circuit was implemented in the analog domain using the least expensive circuit to perform the operation. There was high-end EQ on the output of every digital playback device, and there was no standard or calibration for how it was performed. If you played back a CD without emphasis, then all of the CD players sounded pretty much the same. If you played a CD with emphasis, then each playback device sounded very different from every other player.

Producers and engineers started turning off the emphasis switches. Converters were getting better so there was less converter noise, and the use of de-emphasis circuits was eliminated. ~ Roger Nicolls

As I understand it, the Redbook CD standard calls for decoding of pre-emphasis flags. So any player bearing the CD format logo should handle pre-emphasis discs properly. ~ http://forums.stevehoffman.tv/threads/whats-pre-emphasis.49396/#post-971902

Working with CDs with pre-emphasis

Foobar plugins to de-emphasis pre-emphasized CDs:

  • Postprocessing (foo_deemph): works only with lossless sources; always active during playback and ReplayGain scan.
  • * DSP plugin (foo_dsp_deemph): works with any source

Download ~ http://wiki.hydrogenaud.io/index.php?title=Pre-emphasis

Use post-processing if you want to add correct ReplayGain tags to your files.
Use DSP if you have lossy files that you want to de-emphasize.
Otherwise, there’s no difference. ~ http://hydrogenaud.io/index.php/topic,99394.50.html

Lists of CD’s with pre-emphasis:

http://www.studio-nibble.com/cd/index.php?title=Pre-emphasis_(release_list)
http://www.discogs.com/lists/CDs-with-pre-emphasis-my-collection-only/243100
http://www.discogs.com/lists/CDs-suspected-to-have-pre-emphasis/308012

foo_plorg ~ Playlist Organizer With Folders


The Foobar2000 Playlist Organizer component allows playlists to be organized into folders.

  1. Install the foo_plorg component
  2. Add a new panel or tab, then add Playlist Organizer

capture-foobar2000-dui-foo_plorg

Importing playlists using foo_plorg and foo_playlist_revive

  1. Install foo_playlist_revive
  2. Drag playlist files and drop on the Playlist Organizer panel
  3. Select Edit > Revive Dead Items

Note: The imported playlist will have the same name as the original playlist filename.

Resources:

Website
Documentation – Hydrogenaudio
foo_playlist_revive – Hydrogenaudio
Foobar2000 – How to install a component

foo_discogs ~ Foobar2000 & Discogs


Greatly extend the information in your music files by using the foo_discogs component to tag albums with Discogs information. Once the additional Discogs release information is stored in the song tags, it’s possible to search for catalog numbers, secondary artists or studios, etc. You can now also create toolbar buttons which open the corresponding artist or release pages in Discogs, the artist’s own website or other links.

  • download Discogs album and artist artwork
  • retrieve more information than most taggers
  • goes that extra length to make sure retrieved data is correct and well formatted
  • flexible tag mapping allows you to write only what you want, where you want
  • use meta-data in tags to display Discogs artist / label / release web pages
    able to later update specified tags (useful in update ratings)
foobar - foo_discogs - resulting tags

Album’s properties when tagged with Discogs info

Installing & Configuration:

  1. Install the foo_discogs component
  2. Select any song on any playlist
  3. Right click the song and select Tagging
  4. From the sub-menu select Discogs
  5. Now select Configuration
  6. Change any settings needed.

Tagging Files:

  1. Select an entire album on a playlist
  2. Right click the album and select Tagging
  3. Select Discogs
  4. Select Write Tags…
  5. Click Search then select the correct match and click Next
  6. Confirm that the tracks match the files and click Write tags

Your audio files should now be tagged with additional Discogs metadata.

Open Release Page Button:

  1. Right click on Foobar’s Toolbar area and select “Customise Buttons…
  2. In “Available Commands” navigate to and select [context] > Tagging > Discogs > View Release Page
  3. Change Icon and then click “OK
  4. Select a song,  or album that has been tagged with Discogs metadata, and click the new custom button

References:

www.foobar2000.org/components/view/foo_discogs
hydrogenaud.io/index.php/topic,50523.0.html

Latest update:

github.com/ghDaYuYu/foo_discogs
bitbucket.org/fooDaYuyu/foo_discogs/downloads/