Foobar2000 for the TangoDJ

About Foobar2000

Foobar2000 is a lightweight audio player that is excellent for the tangodj on Windows. Free as in beer and quite usable out of the box, the possibilities for customizations are endless.


For prelistening, install two instances of the player, and configure one for each sound device. If the sound from the internal sound card is good (which is often the case with recent laptops), you can use a usb headset, which is cheaper than buying an extra soundcard. If the internal soundcard is not good enough, buy an extra sound card.

Both options give you the possibility to install two players, and configuring them to play to different outputs. One for checking your tandas in advance, the other (with best quality) for the audience.


Download the installer from

Select portable mode when you install, and install twice into two different directories, e.g. fb2k-prelisten and fb2k-live.

Basic configuration

I prefer a quite simple layout, for instance “Simple playlist + Tabs”,  “System Default” and “Default Playlist” in the Quick Appearance setup.

Next you have to setup your music library, as foobar2000 has a powerful database interface to your music collection, like most current audio players. Add your music folder under File->Preferences->Media Library->Music Folders Activate the Search media library viewer in the same settings pane.

For the player to use for the audience output (foobar-live), set the “Sort incoming files by” blank under File->Preferences->General.

This is really all you need to get going, compose your tandas in the prelisten player, and drag and drop to the live player. To add the new tanda at the end of the playlist, you can drop it at the end, or at the playlist tab.

Some tips for further customization follow below.

Trimming/adding silence

Tracks from different cds typically are spaced with variable amount of silence. For equal silence spacing, use the remove silence dsp that comes with foobar2000.  Under File->Preferences->Playback->DSP Manager, add the dsp “Skip silence”. You have to set parameters for the plugin, a threshold of 54 dB and a minimum length of silence of 750ms works for me.

To add silence between tracks you need the additional plug-in Post-track silence. Configure it to add an apropriate amount of silence between tracks, 1-4 seconds. Not too short, not too long. I use 1250ms.

Volume adjustment with ReplayGain/EBU R128

With ReplayGain, you can reduce and almost eliminate the need to manually adjust volumes on individual tracks. You calculate an adjustment to each track, and this information is stored in tags with no modification to the stored waveform. Use foobar2000 to add gain information and enable track gain for playback under File->Preferences->Playback->ReplayGain.

Generally, ReplayGain reduces playback volume, so you may want to add a few dB of preamp, but be careful so you don’t add too much, as this may lead to clipping. I have used +2.0 dB without problems, but it depends on your music collection.

Also consider using the more recent EBU R128 specification for calculating the gain values (this is now the default with Foobar2000).

To keep track of your statistics, create a user at, install the plugin for audioscrobbler and join the tangoDJ group at


I use separate tags for djing, to separate from my other music. For instance, I use my own genre tag, tdj_genre with categories IS_TANGO, IS_VALS and IS_MILONGA (etc) which makes it possible to search only the genre tag and not the title, removing false hits, eg. tangos with milonga in the title.


I have used standard dark palettes in this example for use in the often dark environment of a milonga.

If you want to try (or improve) this setup, you can download the setupfiles below, install under File->Preferences->Display->Default User Interface->Import Theme:




Was this useful for you? Do you have suggestions for improvements? Please comment below.

39 Responses leave one →
  1. 2010 August 4
    Vlad permalink

    At you many class articles about tango DJ how to adjust foobar2000. At me the request to you. Tell please on more detailed as better and as more conveniently with your point of view to change tandas, to search for music in process milonga. As it is more convenient to work with foobar200.

  2. 2010 August 4

    @Vlad: Thanks for your comment, I will look into writing a post or page on how I work before and during a milonga. Sometime.

  3. 2011 January 22
    Mariano permalink

    Hi Simba,
    What is your “standard” Foobar2000-equalizer settings?
    Thanks in advance for your help!
    Greetings from Buenos Aires, Mariano

  4. 2011 January 23

    Hola Mariano!

    I often attenuate/roll of a little on the high frequencies, but it really depends a lot on the equipment you use, especially the speakers, and also the room acoustics. So you basically have to use your ears. If there is a mixer with eq, I usually use that rather than the foobar2000 equalizer as the physical buttons are more convenient and I generally try not to touch the setup of the live player more than I absolutely have to while playing for an audience of dancers.

  5. 2011 August 27
    Shahar permalink

    It’s a wounderful and useful article!

  6. 2012 September 11

    Hi Simba,

    I find this article really useful. I used to dj with Winamp, configuring it as you suggest, one instance live and another for pre-listening, but Winamp doesn’t allow drag and dropping from one instance to another, and so, I’m changing to Foobar with your interfaces.
    There’s one improvement I’d like to have, and don’t really know how to implement it, or where to find what I wish to have. That is a big timer on the upper toolbar with the time played and the time left to play, either in the song or in a selection. This last option (which in winamp its almost automatic) is very useful to calculate which songs to put, for instance, to arrive to a given hour, normally closing hour.

    Do you have any hints?

  7. 2012 September 17

    Right-click status bar (at the very bottom), toggle “Show total time of selection”.

  8. 2013 September 17
    Azriel permalink

    Great tips! I’ve just started getting into tango and I’m in the process of building a library for DJing at local practicas. I’ve seen others using Itunes, mixx, and other programs, but I’ve been planning to use foobar2000.

    Question: Instead of using replaygain, have you tried vlevel?

  9. 2013 September 17
    Azriel permalink

    And instead of EQing… I’m kind of curious about using this, though I have no intuition for how I would specifically make use of it:

  10. 2013 September 18

    Thanks Azriel, I haven’t tried vlevel, but I am very happy with EBU R128 which is used by fb2k to calculate “Replay Gain” values. When it comes to dynamic compression, that could be useful for some tracks, but mostly the dynamic range of tangos from the golden age is already relatively small. Personally I haven’t found the time to mess with it, and if you don’t really know what you’re doing, it’s easy to do more harm than good. This goes for dynamic compression and EQ as well as many “restoration” attempts, IMHO.

  11. 2013 September 18
    Azriel permalink

    Could you clarify how you apply replygain/EBUR128 (e.g. source mode, processing etc) ? Thanks again!

  12. 2013 September 24

    I use the built-in replaygain scanner of foobar2000 and it’s the track gain that is applicable to tango (album mode is for mix albums, live, sonatas, conciertos etc.)

  13. 2014 March 15

    Nice article. Thanks.

    Simba wrote “an adjustment to each track, and this information is stored in tags with no modification to the file.

    I think that’s incorrect. Foorbar2000’s storing in tags does make a modification to the file, and this can have a big effect e.g. on incremental backup of a large library. (What’s true is there’s no modification to the waveform in the file. )One may avoid modification to the file by using instead MediaMonkey or JRiver Media Center, though then the adjustment acts only in that same program.

  14. 2014 March 27

    Quite so. I have updated the article. Note that with default settings, many formats (most notably flac) will add padding, meaning only the part of the file reserved for tagging will be modified when you update the tags, and your backup should be able to exploit this.

    Personally, I want the adjustments for other applications as well, and for use on my mobile phone (which doesn’t support replay gain), I apply the adjustment to the wavform as well.

  15. 2014 September 4
    Isabelle permalink

    Hi Simba,
    V. grateful for this article ! just have one problem with set up for pre-listening, have tried following your instructions, but sound from both foobars come through USB headset …. what am I doing wrong ? would be v. thankful for any help/hints !

  16. 2014 September 4

    Thanks Isabelle, glad it can be of help.

    Did you try setting the output to different sound cards under File->Preferences->Playback->Output->Device ? Set the pre-listen instance to the usb headset, and the other to the sound card to use for the audience (internal or external).

  17. 2014 September 5
    Mikel permalink

    Hi Simba,

    thank you for this information. But I can’t understand, how your kind of tagging works. Where do you set these “I use my own genre tag, tdj_genre with categories IS_TANGO, IS_VALS and IS_MILONGA (etc)”? in the song files and in the program? What do you do to have the artists name show up in the headlines of the player for liveoutput. How do you get that headline *** Cortina***?
    First time I tried I gave up after hours of trying, now I try again, but still without any progress. Do you have any hint?

    thank you very much, Mikel

  18. 2014 September 7
    Mikel permalink

    Thanks again for your great advise for Foobar. It’s only one little detail I just can’t get working. The example image of your setup shows highlighted headlines for the tandas. like on the upper left: “Tanturi, Ricardo – Tango”. But no matter what I do, all I ever see with my setup is “? – Tango”. What do I have to do to have the artist name show up instead of the question mark? Thank you so much for an answer.

  19. 2014 September 8

    Hi Mikel,

    I use the tag ARTISTSORT for the orchestra name in the headlines (“Tanturi, Ricardo”) These you will have to add manually or use another tag, such as the ARTIST tag. There are several ways to add extra tags in foobar2000, the simplest is to use right-click->Properties->Tools->Add New Field . This goes for IS_TANGO etc too. (Although admittedly I don’t use them that much anymore myself.

    For the *** Cortina *** I use a test for genre and substitute everything with that string if the genre is set to cortina. I don’t have the exact expression here, but I can look it up later if you need it. All functions are documented here:

  20. 2014 September 10
    Mikel permalink

    That did the trick. Thank you so much!

  21. 2015 January 30
    Peter permalink

    Hi Simba,

    Great tutorial, but you’ll have to forgive my ignorance. I’m having trouble working out how to get the [orquesta] – [genre] format for the group headings. I only get “? – milonga”. As far can see my music is tagged correctly?…

  22. 2015 January 30
    Peter permalink

    It’s ok, I worked it out. Changed the %artistsort% variable to %artist in the argument…

  23. 2015 April 5
    Isabelle permalink

    Hi Simba,
    V. ashamed of myself, I thought I’d already thanked you for yr answer and just realized I didn’t !! So belated thanks ! Everything working fine now but…..
    got a few more questions if you’ve got time :
    1) Do you have a way to display info of track (or even better, tanda) currently playing, on another screen, for all to see ? is there a component for that ?
    2) I’m not sure how to do the Replay-Gain stuff on foobar…. how do I calculate the right amount and all that ? Also, part of my music is FLAC and part is mp4 (and now AIF!) and part mp3 (which I have already passed through the program Mp3Replay-Gain to a value of 90,5)…. is there a risk of “conflicts” ?
    3) any way of having on display on the status bar the remaining playing time for the whole playlist instead of (or in addition to) just the track playing?
    Your help is v.much appreciated !!!

  24. 2015 April 9

    1) I haven’t really worked on that, but I used a screen saver at some point that read from a text file written by foobar2000 every time a new track started playing. Check out looks like it does what you want.
    2) I would calculate all ReplayGain values using the same software (foobar2000 being the obvious choice). Should work with all the formats you mention. It only modifies the meta information, not the sound itself in your music files.
    3) I don’t think this is possible. Maybe using foo_facets.

  25. 2015 April 15
    Isabelle permalink

    Thanks again, will try that !

  26. 2015 May 12
    dangthanh permalink

    Hi Simba

    How to show total time of my playlist ?
    Please hepl me

    many thank’s

    from vietnam 🙂

  27. 2015 August 20

    Don’t forget the hot-keys customisation options! I’ve triggered Volume Up, Volume Down, Mute|Unmute and Next Track to comfortable keys and it makes my DJ work a way more efficient.

  28. 2015 August 26

    Hi Simba,

    how can I fix this annoying issue:
    the prelisten theme you made but I just can’t figure how to properly sort the Playlistnames, as you can see in the link below.

    any hints?

    Thanks in advance

  29. 2015 August 30

    @dangthanh: You can see the total time in the playlist pane (select column duration by right-clicking the header bar).

    @Sutasu: Good point, I am a bit careful with what I enable on the player that plays to the audience to reduce the chances of accidentally hitting a button, but for the preview, anything that makes you more efficient, I’m all for it.

    @Ernesto Valles: I haven’t investigated very closely, but I don’t think it is possible to sort automatically. I figure you have to do it manually by drag and drop, at least that’s what I do.

  30. 2016 February 4

    It’s really the best way to work TangoDJ. I have developed precisely such a scheme many years ago 🙂

  31. 2016 February 21
    Ethan permalink

    Got a question for you. I’ve been trying to use the Lyrics Show component to automatically download tango lyrics by changing the google search Title field to something like [%title%] “” with whatever site I want to automatically search… but I can’t get anything to work right. Have you played with lyrics downloading at all?

  32. 2016 February 21
    Ethan permalink

    Also, one other thing. I really liked another library program I had where I could set up a little color box next to each file based on whether it was tango, milonga, vals, or cortina. I’ve been trying to implement this in foobar without success.

    I tried creating a column in columns UI with a custom style script, with the following code (which doesn’t work):

    $if( %genre%=Tango , $set_style(back,$rgb(128,128,255,0,0,255)) , $if( %genre%=Milonga , $set_style(back,$rgb(255,128,128,255,0,0)) , $if( %genre%=Vals , $set_style(back,$rgb(128,255,128,0,255,0)) ) ) )

    I’m having a hard time. If you’ve got a moment and it’s easy I’d love if you could take a look.

  33. 2016 February 21
    Ethan permalink

    Of course I immediately found the solution after posting the question, after being stuck for hours. I feel silly. I would delete the previous question but since I can’t, here’s what works (more or less) for anyone who’s interested:

    $if( $stricmp(%genre%,Tango) , $set_style(back,$rgb(128,128,255)) , $if( $stricmp(%genre%,Milonga) , $set_style(back,$rgb(255,128,128)) , $if( $stricmp(%genre%,Vals) , $set_style(back,$rgb(128,255,128)) , $set_style(back,$rgb(64,0,64)) )))

    The colors are super ugly but were just for testing.

  34. 2016 May 23
    Leah permalink

    Hi Simba,
    Thanks for the post- it’s incredibly helpful! Pardon my ignorance, but what’s the difference between portable and standard installation and why did you choose portable?
    Thanks in advance!

  35. 2016 May 24

    I’m glad you found it useful, Leah!

    The portable installation keeps all settings in the install folder, rather than in the Windows registry. This is necessary to keep two instances of foobar2000 with different settings, such as different audio output, formatting etc. Also I find it useful to have the installation with all settings on my portable drive with my music library, allowing me to switch relatively easily between computers.

  36. 2016 May 25
    Leah permalink

    Hi Simba,
    Thanks for answering so promptly and so clearly- makes a lot of sense!
    Here’s another question: I used to work with an older version of iTunes, and one feature which I found really useful was being able to see which tracks were in which (multiple) playlists and how everything was cross-referenced. Nice to see how tandas vary or not. Is there any way of getting the same function in foobar?
    Thanks for all your help, I really appreciate it!

  37. 2016 May 29

    I don’t know if that’s possible, sorry. I’m not sure it would be helpful for me, as I tend to switch between different versions of a track depending on context.

  38. 2016 June 2
    Leah permalink

    OK, I’ll keep looking. Thanks for all your help!

Trackbacks & Pingbacks

  1. DJ software : YYQuest Tango Blog

Leave a Reply

Note: You can use basic XHTML in your comments. Your email address will never be published.

Subscribe to this comment feed via RSS