Making new battle tracks has aggravated Freespace modders for ages. No one knew how to do it, and the best method was usually estimating. Well, now that we have the source code, all we need to do is look. Here's what I discovered...
--Find out the number of measures in the file. The best way to do this is to keep time (by clapping or getting a metronome, finding the average time for one measure, and multiplying by the number of seconds. For reference, FS2_AArv_A01 is a march. Count "ONE, two, ONE..." and don't quite make it to "two" again. This corresponds with the table, where it says that this bit of music is 1.8 measures long. This is rather straightforward. The next part is what people had trouble figuring out, and needed the source to see.
--The number of samples per measure is the number of bytes per measure divided by 2. The event-driven music is usually formatted as 16 bits per sample. A stereo track at 44,100 Hz will be 172 kilobytes per second. So multiply this number by the length, in seconds, of your music to get the total number of kilobytes actually used by the music itself. Multiply this by 1024 to get the number of bytes in your music. Now divide the number of bytes by the number of measures to get bytes per measure, and then again by 2 to get samples per measure.
--There you have it. Put your file name, the number of measures, and the number of samples per measure in music.tbl, and you have the foundation of a new battle track. And with FS2_Open, you now have the capability to include up to 30 soundtracks and 30 briefing/mainhall tracks in a single music.tbl.

Note - I did some calculations based on the Volition soundtracks, and they didn't come out correctly, much to my puzzlement. I traced through the code, however, and that seems to be what it is. If anyone wants to take a look, the relevant stuff is in eventmusic.cpp.