There are about a hundred ways to do this. The first step is to decide what frequencies you want to feature and edit your sound in something like Audition. If the music does not require a new EQ to isolate certain frequencies you can use it without creating a second copy. Then you either use the Audio to Keyframes effect or purchase Sound Keys from Red Giant to give you some usable data from the wav file. (BTW, you should be using 16 bit 49KHZ uncompress PCM WAV files in your video projects and you should avoid MP3).
Once you have extracted the data you can apply that data to everything from Puppet Pins to distortion meshes using expressions. You could use any distortion tool that has numeric values associated with the controls. The tool you use depends on the look you want.
If you wanted to get really fancy you could apply 8 Magnify or Bulge effects centered over the eight large kind of pentagon shapes on the outside edge of the image and another bulge or magnify effect over the center and drive them all with expressions to make everything grow and shrink with the music.
Decide exactly what parts of the image you want to move and how you want those parts to move maybe we can give you an efficient workflow. Here's an example using an adjustment layer with a quickly drawn mask and one instance of Twirl.
The green line is the mask that limits the distortion from the adjustment layer to everything inside the mask. The mask is expanded and feathered to give a smooth transition. The Keyframe Assistant was used to generate keyframes from the Audio layer (bottom) and an expression was used to tie the rotation value in twist to the audio values. In the Graph Editor I checked the minimum and maximum values for both channels and then I experimented with the rotation value to pick a max distortion level. Inside the Interpolation section of the Expression Language menu in the timeline you'll find this method:
ease(t, tMin, tMax, value1, value2)
t is the value you want to look at, tMin is the minimum value - for both channels that is 0 and 11. The value1 and 2 property is the range of the new numbers I wanted to deliver to the rotation property of Twist. I used the pickwhip to define the variable t as the value both channels then just filled in the numbers. The final expression looks like this:
t = thisComp.layer("Audio Amplitude").effect("Both Channels")("Slider");
ease(t, 0, 11, -90, 90)
You can use this procedure on any effect that has numbers in the controls and get any look you want,
Just for fun I threw in another effect. Heres the project file: Dropbox - AudioControlledDistortion.aep
You can add your own audio track and re-do the Audio To Keyframes layer and get different results. You'll be able to see the distortion without hearing the music. Good luck.