I think I’ve found and fixed the issue.
It works well on Linux and Mac, but not on Windows. When Synth.js loads, it tries to access the audio context immediately, but fails to do so, as a user gesture has not happened. Windows is the one acting in the correct way. Weird how Mac and Linux are OK with this.
(As an aside, having been spurred to test my latest projects on Windows, I am now noticing that they run a bit choppy compared to Mac and Linux. I don’t know why it is, but it makes me a sad panda.)
By the way, you may think about casting rays in all directions, with more rays closer to the facing vector. Camera is a visual abstraction for the most part, providing spatial presence via sound might work better if you have a wider context. Just a thought though.
That sounds good. Having a limited FOV is a constraint imposed by normal vision, so if I am building a system that is not like normal vision, why not dispense with it! But on the other hand, I suppose you could argue that the human brain is better adapted to receiving spatial information from a FOV that is less than 180 degrees.
And like a spell to summon a dragon, the rays are expensive to cast, no? Casing more than 20 or so 60 times a second… :-/
But I do wonder…
In order to render faces, ThreeJS and webGL work out the distance between a camera and practically infinite points on a mesh at high resolution. I wonder if its possible to utilise whatever methodology is used there to create a depth sensor that is more like a continuous wave, as opposed to an array of discrete, probing rays.
If it were possible, I suppose the natural progression of that would maybe be to implement it as a custom ThreeJS renderer. It would be very cool to have a general purpose “Click here to view scene with audio” button that could be added to any ThreeJS project for improved web accessibility.
But I am not profoundly knowledgeable of how 3D graphics work at a low level (or ThreeJS itself, for that matter) so this may be a bit of a quixotic idea.
About the “compas” - I think it’s not bad, but perhaps similar idea can be applied, like having different notes at different directions, and lerping between them depending on current facing angle. I found distinct clicks too annoying, especially the part where if you move your cursor ever so slightly in the “click” region - you’ll hear a machinegun 'click-click-click…".
The compass has a different sound for each cardinal direction (N, S, E, W). But you are right - it makes sense that this could be adjusted so that we also have a unique sound for each of the 7 x 4 interstitial points too.
I think that when it comes to the sense of irritation that can be caused by repetitive sound, this is hard to avoid with systems such as this (i.e. screen readers) - they do have to emit a stream of information that is both wide and continuous if they are to do a reasonable job of filling in for eyesight.
I think that making the audio enjoyable, and not irritating, is probably a question of sitting down and doing some killer sound design.