I wrote a Clip looper that lets you change the playback rate. With it, one can create pitch changes on an engine sample, for example, to match the action of the car as it accelerates or slows down. I introduced the code in this thread:http://www.java-gaming.org/topics/simple-audio-mixer-2nd-pass/27943/view.html
I'd be interested in working with you to adapt the code to your game. Let me know (reply here or message via my username) if you like to give this a try!
A "sample" is a recorded sound, usually pretty short.
The pitch of a sound will change depending upon playback rate. If you play the sound data more quickly, it will be pitched higher. It will also end more quickly, and the tone color will be altered, generally sounding more pinched or tinny, as you speed it up. For this reason, many sounds in the real world that vary in pitch are recorded via multiple samples, each at a different pitch. That way, instead of making one sample try to play all possible pitches (and sound progressively 'off' as the pitch varies), one can switch from one sample to another.