Music collection / playing notes

From Helpful
(Redirected from Foobar2000 notes)
Jump to: navigation, search



On unified tag access

mutagen notes




Replay-gaining of digital music means ensuring that all your music plays at roughly the same volume level, so that you don't have to frequently run to your volume dial.

Because songs don't have the same volume out of the box.

Even if there were a standard that everyone kept to (there isn't really), there are other reasons for variation. For example, classical music may well have long subtle bits and occasional loudness, and acoustic playing tends to have a lot more loudness variation.

Additionally, there is dynamic compression (see loudness wars), which amounts to different music types from different eras sounding a little louder even on the same medium.

Approximately the same volume, because songs and styles that have a lot of difference over time beg the question what you really want to happen, (If going by averages, that will still sound quieter than a relatively constant-volume rock song played after it) and the mentioned dynamic range compression messes with the perception of loudness.

There are programs to do this for you. They adjust towards a given level , and depending on the file type in question may either

  • tag the file to note the adjustment necessary
your player will have to support this too
  • or alter the file to play at that level (this is fairly simply in MP3 without re-encoding: a frame's gain is a field you can easily pick out and alter without any other decoding).

There is also a difference between:

  • per-album replay-gaining calculates the average volume of an album and applies the same adjustment for all tracks
useful to have it be seamless between songs on that album
  • per-track replay-gaining calculates and alters gain for each individually
better consistency of volume between arbitrary songs. Slight jump within the same album.

In a lot of cases the jumps within an album aren't very noticeable (because most albums are mastered similarly, and have silence inbetween) though you may care when songs flow directly into each other.

More technically

For a longer list, see [1]



On linux

The following does track gain (and forgets album consistency).

I have

  • mp3
    • install mp3gain
    • run
      nice -n 19 ionice -c3 find /data/Music -iname '*.mp3' -exec mp3gain -r -k \{\} \;
      (probably via cron)
-r means track gain,
-k means lowering the target volume if the default means it will clip somewhere. (no distortion is more important to me than exactly the same volume)
  • ogg
    • install vorbisgain.
    • run
      nice -n 19 ionice -c3 find /data/Music -iname '*.ogg' -exec vorbisgain -f -s \{\} \;
-f means it will only calculate for files when a tag isn't present. (should be default behaviour, really)
-s makes it more robust when you accidentally hand a bad file to vorbis

The basic niceness is for non-aggressive CPU use, the ionice for non-aggressive disk use (if you don't have ionice, omit the ionice -c3). Both are optional.

Foobar2000 notes


I'm currently fond of Columns UI with the Genre/Artist/Album lists on top (fairly iTunes-style).


Grouping applies after sorting, and combines things with the same value into a section - by default, each artist+album combination becomes a section, which means you'll see albums as chunks (when sorting by album or artist)


  • When sorted as intended, this is visually understandable (and relatively minimal)
Note that depending on UI you also get the artwork column


  • Odd results when sorting by anything else.
  • When you sort via clicking on a column header, it takes a while getting albums sorted by track number
I work around this by replacing artist, album, and tracknumber with one one field showing
%artist% - %album% - %track%
(and sorting by
($if2(%albumartist%,%artist%) %artist%) - %album% - %track%
I skip around by searching
  • can lead to a lot of one-item pseudo-albums (in the case of selective live songs, cover, etc)
you may prefer grouping per artist. And/or the sorting mentioned in the previous point
(note that if you've auto-tagged things and have a lot of single-per-'nineties hits' or such, consider removing that album


Autoplaylists are backed by queries.

Previously mostly created configured via its own manager (or album list).

Since 0.9.5 they are probably most easily created via the Library search (not playlist search) window:
button → Create Autoplaylist

Once they exist you can edit their search query.

See the query syntax.


  • All music (exclude known non-music), according to your genre/path organization, e.g.
NOT %genre% HAS spoken AND NOT %path% HAS MusicVideo

  • recently modified
%last_modified% DURING LAST 2 WEEKS

  • Stored locally (not on network), e.g.
%path% HAS "C:\" OR %path% HAS "D:\" 

  • useful stuff missing (note: no %, this is about the field, not the value from it)
title MISSING OR artist MISSING OR genre MISSING AND NOT %path% HAS MusicVideo

  • title, album, or artist missing (also the difficult way)
("$if($meta_test(title,album,artist),1,0)" IS 0)

  • artist name is all-uppercase
("$if($strstr(%artist%,$upper(%artist%)),1,0)" IS 1) 
you may want to add
AND (NOT %artist% MISSING )

See also

Genre split

You can use multiple genres for each song, because foobar splits the values in genre tags (and others).

By default it seems to split on
(and ignores leading whitespace(verify))

When tagging elsewhere you may see the separators in foobar (why exactly?(verify)) - when that happens, go to the Properties (tagging) window, right-click on the Genre field, select 'Split values...' and OK both windows.

Playlist format


Useful extensions