3-dimensional sound (3D sound) is a type of manipulation of audio output to give the illusion that sound is coming from different directions. It has become possible in Scratch 3.0 due to new Sound blocks, mainly set [ v] effect to ()::sound and change [ v] effect by ()::sound.

This technique is only effective on devices using stereo speakers, headphones, or earphones. It will not have the desired effect on monophone speakers.

Scripts

To make 3-dimensional sound, create the following scripts in the sprite that will play the sound, with "listener" representing the sprite in the position that the person hearing the sound would be in:

when gf clicked
repeat until <(playing sound) = [0]>
  play sound (sound v) until done
end
stop all sounds
when gf clicked
repeat until <(playing sound) = [0]>
  set volume to ((200) - (distance to (listener v)))
  set [pan left/right v] effect to ((x position) - ([x position v] of (listener v)))
end

If the sound has to repeat infinitely instead of the script repeating until something happens, the repeat until blocks should be changed to forever blocks:

when gf clicked
forever
  play sound (sound v) until done
end

when gf clicked
forever
  set volume to ((200) - (distance to (listener v)))
  set [pan left/right v] effect to ((x position) - ([x position v] of (listener v)))
end

See Also