I've also been trying to figure out how to get xna-xact to do beat matched multi-looping with a variable reference. However, I don't think it's possible within xna-xact yet.
There's a lot of posts on here describing a method of doing this, but they don't seem to work... here's the system I've derived...
...put multiple wavs into one "sound", each on its own track, and reserve the first track for markers. (these waves are different tracks of the same music loop used for variance.) Set each to infinitely loop... Attach an RPC to each sound for volume between tracks. Create an interactive cue and drop in your "sounds". Create a variable that will control your music selection and assign each "sound" to a variable range...this variable will also control your volume RPC within each sound- you'll have to set the variable ranges on a global scale. Set up your transitions. This will give you a scale from, say, 0-100, that will transition between tracks within a sound as well as between actual sounds, giving you a lot of possibility...
(I set it up like this so I can use one variable to control the intensity of the music in its entirety. 0 is low intensity, 100 is max intensity... and along the way there are 3 main loops, each with multiple tracks...)
however, this doesn't work: transitioning between tracks works because you're simplying using RPCs to control an inverse volume relationship between two tracks within a single sound that has music loops that are identical in length and beat looping at the same time. The problem is transitioning between "Sounds". If you set your transitions to go from the 'end of source' to the 'beginning of destination' you'd think it would match up the beats... sadly it doesn't- as soon as your variable crosses into a new loops range, the transition will happen immediately, NOT at the end of the loop. Markers don't seem to help your transitions either- they have the same problem.
I have been trying for a week to get this to work properly and I can't. I'm no programming whiz by any means- I am a full-time sound designer familiar with FMOD and a few other game audio tools, so I'm not a
complete moron... but I certainly am stumped with getting this to work on my own.
Transitions in interactive cues seem so temperamental I think we're just stuck having to just fade in/out of loops without matching beats for now. (Matching beats seems possible, but not without an audio programmer that can do a significant amount of external code- maybe that will work for you...but unfortunately, our programming team is overbooked as it is and beat matching is out of the scope of our ability unless I can do it myself.)
Good luck to you!