Here's a script I found. Using scripts is most of the time better than using common events or parallel process events, IMO.
## Step Sounds - Brew 01AUG10 (ref: Project3)
## Play a different sound with each terrain type
## You must have a file "terrain_x.ogg" in the Audio\SE folder
## Where 'x' is the terrain number. (1-7)
alias step_sounds_increase_steps increase_steps
## Frequency of sound effect. % 2 approx. every 0.5 seconds
## % 4 would be approx. every 1 second
if $game_party.steps % 2 == 0
if terrain_tag > 0
#play the sound for that terrain
if FileTest.exist?("Audio/SE/terrain_" + terrain_tag.to_s + ".ogg")
Audio.se_play("Audio/SE/terrain_" + terrain_tag.to_s)
Do some searching before asking for help here, it goes faster for you and for us.