Just some google food for anyone having trouble with the music in PrBoom on amd64 systems. There is a bug in SDL_mixer 1.2.6 (and earlier), which causes this problem; this is the version of SDL_mixer in Ubuntu Hoary and Dapper, and in Debian at the moment. It is this patch:

--- ./timidity/config.h 2006-08-12 11:59:44.492723500 +0100
+++ ../sdl-mixer1.2-1.2.6-cph1/timidity/config.h    2006-08-12 11:30:06.988427250 +0100
@@ -185,14 +185,8 @@ typedef double FLOAT_T;
 #define LITTLE_ENDIAN
 #endif

-/* DEC MMS has 64 bit long words */
-#ifdef DEC
 typedef unsigned int uint32;
-typedef int int32; 
-#else
-typedef unsigned long uint32;
-typedef long int32; 
-#endif
+typedef int int32;
 typedef unsigned short uint16;
 typedef short int16;
 typedef unsigned char uint8;

to the timidity code that fixes the problem. You can download a fixed libsdl-mixer1.2 and libsdl-mixer1.2-dev if you don't want to rebuild the packages yourself.