Interaural Time Delay
Humans locate the origin of a sound with several cues. One technique employs the small difference in the time taken for the sound to reach either ear; this is known as the interaural time delay (ITD).
Lord Rayleigh investigated this phenomenon, assuming a spherical head with radius a, and sound waves arriving at an azimuth angle θ.
Sound has to travel a distance a θ +a sinθ further to reach the left ear than the right ear. Hence, if the speed of the sound is c, then the interaural sound delay is
ITD = ac θ+sinθ
where c is the speed of sound.
For c = 343 m s-1, a = 0.11 m and θ = 0.5 π (that is, a sound hitting a typical-sized head from the side), the sound delay is about 0.8 ms.
This application modifies a single-channel audio file so that the sound appears to originate at an angle from the observer. It does this by introducing an extra channel of sound. The new channel is equivalent to the old channel, but is padded with zeroes.
Despite both channels having the same amplitude, the sound appears to come from an angle simply by delaying one channel.
restart: withAudioTools: withArrayTools:withLinearAlgebra:
Speed of sound in m s-1
Radius of head in m
Angle of sound
Read sound file and calculate statistics
Optional: Record a Custom Sound
Sound:= 1 .. 20191 ArrayData Type: float8Storage: rectangularOrder: C_order
SoundDuration ≔ 5s:
Click on the microphone to begin recording:
Interaural time delay
Hence we need to delay one channel by this number of samples
if TimeDelay = 0 then M0≔Sound; M1≔Sound; elif TimeDelay <0 then M0≔Concatenate2,Sound,zeroes; M1≔Concatenate2,zeroes,Sound; elif TimeDelay > 0 then M0:=Concatenate2,zeroes,Sound; M1≔Concatenate2,Sound,zeroes; end if:
Download Help Document
What kind of issue would you like to report? (Optional)