An update on the state
of HeadP is more than year overdue! Version 4, July 2014 introduced a major change
in sound processing to meet the goals outlined in the original blog ”Why headphones don't sound like speakers”
The following descriptions
refer to version 4.1.3
Echoes (optional) are computed
as virtual reflections from 4 walls of a rectangular room. You can alter:
- The size and shape of the room
- The size, shape and position of the source of the sound
- Your position as the listener in the room
- The character of the source of the sound with a conventional equalizer
What you hear is the
result of adding the direct-path audio to all the echoes. All these signals are
stereo, where the stereo separation is the width of the source as viewed from the
listener. So 10 signals are added: 2 from the direct-path, plus
2 from each of the 4 walls. The ceiling and floor are ignored in this
version.
The original intention
was to colour the echoes according to the acoustic properties of the walls. While
this should probably be an optional feature, I have not done it, first because
users have explicitly said they like it that the sound is NOT coloured by echoes.
Also, it would require a fair bit of work on my part, and use significant resources
of the device. If this is a feature that you would like, please let me know. I
will do it if enough people want it!
A problem with adding 10
signals is that the peak amplitude could potentially reach the sum of the signal
amplitudes (though reaching that peak is extremely unlikely). To avoid any possibility
of corruption, HeadP is forced to reduce
the volume to avoid any possibly of clipping the output.
Some devices now offer
24-bit output. This is a solution to the problem, to be supported by a future
version. I would start work now if there were more of you!
HeadP uses a unique “Head-Related-Impulse-Response”
function to generate a perception of “where the sound is coming from”. Each of the 10 signals has a direction at the
listener, and is individually processed by this response function at each ear.
So if you have 2 ears, you hear the sum of 20 individual signals.
This response function
is based on a very approximate physical model of a head and ears, with shadowing,
diffraction, and timing-difference effects. Although the model is adjustable, I find the
adjustments do not have much effect. It is an interesting question of perception.
I believe the brain will use any consistent information available, of whatever
sort, to infer a location of sound.
In particular, one
could ask “why do we have ears?” (I refer to that external visible flap
of flesh, the pinna or auricle). The pinna of a
hunting animal, like a cat or wolf, is fairly obviously a directional
instrument. But the geometry in people is different.
I find that HeadP gives me a clear perception of sound to
one side, or behind me. If my pinna are
at least partly shaped to warn me of danger, maybe especial detection of sound to one side or behind is expected,
since we rely on forward-facing eyes to spot trouble ahead.