Quake Soundtrack
Solutions

The Quake soundtrack makes singleplayer better! Here's the collected wisdom of how to deal with the fact that Steam doesn't mail you a physical Quake CD.

This guide is also hosted at the Steam community site: Quake Soundtrack Solutions
If you have comments, questions, corrections, or additions, please post a comment on the guide over there. Or, you can send me an email at my address at the bottom of this page.

Table of Contents

The Problem With CD Audio

As originally released, Quake played its soundtrack music using CD audio. Each track was actually a track on the CD itself (starting with track 2; track 1 contained the game data). The soundtrack music was never installed to your hard drive as a file.

The problem with that now is that if you get Quake through digital distribution, you don't get a CD. So no music.

Of course, if you have an original Quake CD from back in the day, and it's still readable, then you might be good to go. Or you might not be – the original Quake engines, and some (or all?) modern Quake engines, will not properly loop the music tracks when used in versions of Windows after Windows XP. And there are plenty of other reasons you might not want to mess with a physical CD anyway.

Fortunately there are several ways to manage without a physical CD and still hear the good old creepy Quake music while you play.

Soundtrack Files

For any of the solutions in this guide, you first have to get a set of music files that make up the Quake soundtrack: one file for every music track on the original CD. There are various places you can get these, but I recommend this set that I generated:

(Obviously, you only need the mission pack soundtracks if you have the mission packs.)

If you are using one of the modern “Quake engines” (programs for playing Quake) mentioned in this guide below as supporting soundtrack files, then all you need to do is follow the easy instructions included in each of the above download archives. Basically you'll just need to move a “music” folder to the correct location within your Quake installation.

If on the other hand you're determined to use the original Quake programs, there are solutions described below for them as well, but it won't be quite so easy.

You can find Quake soundtrack files at other spots around the web too. The reasons that I decided to make yet another package of soundtrack files are: other soundtrack files probably have not removed the CD pre-emphasis (none that I've tested have done this), and they may not work with your Quake engine of choice unless you rename, relocate, and/or reformat the files. Using the packages linked above will avoid all of those problems.

The music on the Quake CD has “pre-emphasis”. OK… what does that mean?

The hydrogenaudio wiki has a summary of pre-emphasis that is worth a look if you want details. The upshot though is this: to make the playback sound correct, ripped files need to be processed with a specific equalization curve to get rid of the pre-emphasis. This matches what your CD player did when playing the physical CD.

Ripping a CD with iTunes will handle such “de-emphasis” automatically. The hydrogenaudio wiki page has some tips about other ripping methods, and Google will also turn up good discussion about this.

The difference between Quake tracks that have been properly de-emphasized and those that haven't is fairly subtle to hear. But a spectral analysis (showing the volume at different frequencies) can make what's going on a little clearer. Here's an example comparing the first Quake track not de-emphasized (top) vs. correctly de-emphasized (bottom):



Without de-emphasis, the higher frequencies will be too loud.

If you are using soundtrack files that you downloaded from somewhere else, and you don't know whether or not they have been correctly de-emphasized… well, they probably haven't been, but you might not want to lose sleep over it. Just something to keep in mind. If you want to test it, you can get the free Spek tool, use it to open up your track02.ogg or track02.mp3 file, and compare the image you get to the images above.


If you would rather rip the tracks yourself, you'll need to start with a physical Quake CD or CD image. (A thread on the Steam forums provides download links for soundtrack CD images.) You can use virtual CD software like Virtual Clone Drive to “mount” the CD image so that applications see it as a real CD. Once you've ripped the CD, you'll need to make sure that the ripped tracks are encoded to the right format, named correctly, and put in the correct location. This guide won't go into any details about the ripping process, but the sections below describe the necessary file format/naming/placing.

Note that Quake will play CD audio from a mounted CD image just like it would from the real Quake CD, so that's one way to hear the soundtrack. But it's a bit of a hassle to mount an image whenever you want to play, and that approach suffers from the same tracks-not-looping problem as real CDs. So let's not do that!

Playing the Soundtrack

There are multiple approaches to using Quake soundtrack files. What's the right one for you? It depends on which Quake engine you are using. If that sentence confuses you, then have a look at this guide: Quake Engines, Old and New

• Engines that don't have soundtrack support

The ProQuake engine as of version 4.91beta no longer supports any kind of soundtrack playback, not even CD audio.

Engoo does not officially support CD audio (although it might work for you). It can play MIDI files but that doesn't help with playing the soundtrack.

• Engines that only support CD audio

The original Quake engines (the ones provided by Steam) only support CD audio. If you want to get them to play music files, you will have to modify them. I haven't tried this myself, but Dragonsbrethren has posted a guide: How to fix CD audio looping on Windows Vista/7

Most modern Quake engines also still support CD audio, so there is a good chance that this modification would also work on them. But if an engine can manage one of the other solutions below, it would probably be better to use that other solution.

• Engines that play soundtrack music files

Some Quake engines can play music files to give you a soundtrack during the game. Among the choices listed in the “Quake Engines” guide, soundtrack file playback is supported by DarkPlaces, QuakeSpasm, Fitzquake Mark V, DirectQ, qbism Super8, FTE, reQuiem, and QuakeForge.

For soundtrack file playback to work, a few things have to be considered:

  • whether the music files are “loose files”, or inside pak/pk3 archives
  • where the files are placed
  • what the files are named
  • what audio format the files are in


Different Quake engines support different answers for those questions. However the first three questions have a common set of answers that will work for all engines mentioned above.

If you already have a setup that works for the engine you're currently using, I'm not saying you should change it. This is just a description of a common arrangement that works for multiple engines:

  • The music files are loose files, NOT inside a pak or pk3 archive.

  • The files are placed inside a “music” subfolder of the “id1” folder. For missionpack or mod soundtracks, the files are placed in a “music” subfolder of the appropriate game folder. So the original Quake soundtrack files go inside “id1\music”, Mission Pack 1 soundtrack files go inside “hipnotic\music”, and Mission Pack 2 soundtrack files go inside “rogue\music”.

  • The files are named in the pattern "tracknn“, where ”nn“ is the CD track number that the file was ripped from. Since the soundtrack starts at the second CD track, MP3 soundtrack files are named ”track02.mp3“, ”track03.mp3“, etc. OGG soundtrack files are named ”track02.ogg“, ”track03.ogg", etc.

As for the audio format: most of the distributions of the Quake soundtrack are in OGG format, and OGG files can be played by most of these Quake engines. If you have both OGG and MP3 files then you are covered for sure. Specifically, the Quake engines discussed here support the following formats:

  • DarkPlaces: OGG, WAV
  • QuakeSpasm: OGG, MP3, WAV
  • Fitzquake Mark V: MP3
  • DirectQ: OGG, MP3, WMA, WAV
  • qbism Super8: OGG, MP3
  • FTE: OGG, MP3, WAV
  • reQuiem: MP3
  • QuakeForge: OGG

Some quirks to be aware of:

  • For OGG support in DirectQ, you must install the DirectShow filter for OGG. You may have to reboot after installing that filter.
  • The Linux version of QuakeSpasm requires external libraries: libogg or libvorbis for OGG support, and libmad or libmpg123 for MP3. I'm not sure if DarkPlaces' OGG support on Linux has the same requirement, but I suspect it does.
  • QuakeForge needs a “tracklist.cfg” file that tells it where to find the music tracks. If you downloaded a soundtrack package linked at the top of this guide, then you'll get a tracklist.cfg and instructions on where to put it. Otherwise, see the QuakeForge documentation.


Quake soundtrack files that you get from somewhere else may end up in the “sound\cdtracks” subfolder instead of the “music” subfolder. This is a location that DarkPlaces will look for soundtrack files, but most other Quake engines will not look there. You can move the files to the “music” subfolder to make them accessible to all Quake engines (including DarkPlaces).

Soundtrack files are also sometimes distributed inside a pk3 file. This works with some engines, but not with others. A pk3 file is just a zip archive, so if you want, you can open it up with any unzip utility, extract the tracks, and put the extracted tracks in the appropriate “music” subfolder.


• Engines that control external players

If a Quake engine has a feature that allows it to control an external player application, it may be possible to play the soundtrack that way. The tricky part is to get the right music to automatically play at the right times.

For the ezQuake engine, Pirate-X posted a scripting solution for controlling Winamp on the old Steam forums.

Fodquake includes support for controlling an external Winamp process, but I'm not aware of how to script it for soundtrack play.

Sample Rate

First a bit of history:

The Quake sound effects come from WAV files with a sample rate of 11025 Hz, and that was the quality/rate at which they were played. However some sound cards at the time were picky about the sample rate that they would accept, and so the original Quake engines introduced a command-line option (“-sspeed” and then later “-sndspeed”) that could be used to change the output rate for the sound effects.

Setting “-sndspeed 44100” for example – to represent a 44100 Hz output sample rate – might have been necessary to get some sound card to work, but it did not actually improve the quality of the sounds. It did change the tone of the sounds, as a result of the upsampling, making effects sound “brighter”. Although this changed the character of the original sounds, some players preferred or at least got accustomed to a higher sndspeed setting.

Command-line options can be passed to a Quake engine executable by various methods. See the “Command Line” section of this guide: Quake Owner's Manual

The soundtrack music is of higher quality than the sound effects: “CD quality”, 44100 Hz. In the original Quake, the soundtrack music was played back through a separate system than the sound effects, and the “-sndspeed” command-line option did not affect the music.

When Quake engines first added support for playing soundtrack music files, the “-sndspeed” option did affect that music playback, at least in some cases. If you preferred the original character of the Quake sound effects, that could mean that you were stuck with muffled/fuzzy-sounding music. Fortunately, you don't have to make that choice these days; if you're using the latest version of one of the engines described here, the music playback should again be handled independently of the sound effect sample rate. (Particularly, if you're using the QuakeSpasm engine, make sure that you're at version 0.85.10 or later.)

So you should always have CD-quality soundtrack music playback now. If you were previously using the “-sndspeed” option just to improve the music, you should reconsider that.

As for the sound effects, here's a summary of how sndspeed settings behave for each of these engines.

  • DarkPlaces defaults to a sndspeed of 48000, but it plays sound effects similarly to the original Quake; they don't sound brighter to my ears. I would guess that its sndspeed value is the sample rate for its final mix, but I can't actually detect any change to the sound effects or music if I specify different sndspeed values.

  • QuakeSpasm defaults to a sndspeed of 11025. At that sndspeed, it also provides a new console variable “snd_filterquality” that more exactly controls how the sound effects are played; see its README for more details. If you prefer the brighter sound effects, you can use “-sndspeed 44100”.

  • Fitzquake Mark V and DirectQ default to a sndspeed of 11025. If you prefer the brighter sound effects, you can use “-sndspeed 44100”.

  • qbism Super8, like DarkPlaces, defaults to a sndspeed of 48000. Also like DarkPlaces, I don't hear a difference when using different sndspeed values. Unlike DarkPlaces, the sound effects in qbism Super8 have the brighter, upsampled tone.

  • I haven't tested this for FTE, reQuiem, or QuakeForge.


Most of these engines also provide a console variable for the sndspeed setting, either named “sndspeed” or “snd_speed”, which may or may not be saved to the config file; check the engine's README or other docs.

Revision History 'n Stuff

• Engine Versions

The most recent date that I checked out various Quake engines' features was May 03 2015.

The latest stable version of each engine that supports soundtrack music file playback was:

  • DarkPlaces: build 20140513 from May 2014
  • QuakeSpasm: version 0.90.0 from Oct 2014
  • Fitzquake Mark V: revision 15 from Jul 2014
  • DirectQ: version 1.9.0 from Feb 2012
  • qbism Super8: version 235 from Feb 2015
  • FTE: “latest build” from Apr 2015
  • reQuiem: version 0.95b2 from Dec 2013
  • QuakeForge: version 0.7.2 from Jan 2013

The latest stable version of each engine that supports external player control was:

  • ezQuake: version 2.2 from Dec 2013
  • Fodquake: version 0.3 from Mar 2012

Other engines examined:

  • ProQuake: version 4.93 from Oct 2012
  • Qrack: version 2.011.3467 from Aug 2011
  • Engoo: version 2.77 from Dec 2013

• Guide Change History

2015

  • Jun 11: minor edits for clarity
  • May 03: info on latest FTE build
  • Apr 29: re-included some info about CD images
  • Apr 28: added Quaddicted links for soundtrack downloads
  • Apr 26: info for reQuiem and QuakeForge; minor rewrite of pre-emphasis discussion
  • Apr 26: created and linked to recommended soundtrack packages
  • Mar 05: checked qbism Super8 version 235
  • Feb 04: checked qbism Super8 version 231

2014

  • Oct 20: checked QuakeSpasm version 0.90.0; different recommendations for sndspeed now
  • Jul 14: checked Fitzquake Mark V revision 15, DarkPlaces build 20140513, and qbism Super8 version 194
  • May 03: checked new versions of qbism Super8 and DarkPlaces
  • Apr 19: added info about the qbism Super8 engine
  • Apr 13: added info about the Engoo engine
  • Apr 09: replace link to (vanished) DirectQ website
  • Apr 05: brief description of using Spek
  • Apr 05: better info about soundtrack format support on OS X and Linux
  • Mar 15: rewrite of “Engines that play soundtrack music files” section
  • Mar 15: a few more edits about DirectQ's OGG support
  • Mar 02: updates about QuakeSpasm (MP3 support probably only in Windows) and DirectQ (can play OGG if external support installed)

2013

  • Aug 14: linked to more soundtrack file sources: quakeone.com and quaddicted
  • Aug 10: added note that ProQuake doesn't have soundtrack support
  • Aug 10: linked to Steam forums thread for soundtrack CD image
  • Jul 14: fixes in reaction to the changes in Steam Guide markup behavior
  • Jun 02: replaced broken Quake Epsilon link w/ link to ModDB; also replaced Quake HD link w/ ModDB link
  • Apr 13: checked Fitzquake Mark V revision 9 and QuakeSpasm version 0.85.9
  • Mar 10: checked Fitzquake Mark V revision 8 and DarkPlaces build 20130304
  • Jan 20: info about the Quake HD bundle
  • Jan 15: added spectral analysis images (fancy!) to the discussion of pre-emphasis
  • Jan 14: link back to the Quake Owner's Manual guide for info on command-line options
  • Jan 13: removed comment about QuakeSpasm playback quality… morphed it into a large section about sample rate
  • Jan 13: added warning comment about QuakeSpasm playback quality
  • Jan 12: added information about the Fodquake engine, the Quake Epsilon bundle, and a few more comments about external Winamp player use.



This guide is also hosted at the Steam community site: Quake Soundtrack Solutions
If you have comments, questions, corrections, or additions, please post a comment on the guide over there. Or, you can send me an email at my address below.