Comments (1)
Hi, thanks for your interest in ambisonic.
Rodio's Spatial
source has been around longer than ambisonic by about a year. Actually it is the reason that ambisonic exists - I was frustrated with the limitations imposed by Spatial
:)
The documentation does not say so, but by looking at rodio's sources one can tell that it tries to compute the loudness of the left and right channel by the relative distance of the sound source to each ear. This seems right on the first impression, but leads to the strange effect that the further away a sound is the more it is played on both ears. E.g. a sound near the left ear will be played only on the left channel, but the further it moves to the left, the more it will appear on the right channel too (although getting quieter in total). It is quite possible to fine-tune the setup so it sounds right in a mostly static scene. If you try to use this model in a dynamic scene with sound sources and the listener moving around freely it's impossible to make it sound right.
In contrast, ambisonic uses a directional model of sound. A sound coming from a particular direction will always be heard from that direction while fading with increasing distance. This is very close to how we hear in the real world. In principle it also supports surround sound with arbitrary channel configurations but that requires some tinkering. It is even possible to plug in custom head-related transfer functions and get ultra realistic 3D sound with headphones but that is super-advanced and highly experimental.
Also, ambisonic can simulate doppler effects when sounds move.
If you have further questions, I'm here to answer :)
from ambisonic.
Related Issues (11)
- Playback bug when using z-coordinate HOT 1
- Demonstration Video HOT 6
- HRTF causes underrun in ALSA HOT 2
- Sounds on the right seem centered HOT 3
- Questions about positioning sounds HOT 3
- Adding the option to emulate sound propagation delay. HOT 15
- Physically correct distance-attenuation
- Questions about loading an mp3/wav from rodio HOT 8
- Make the `play_at` API accept other sample types than f32. HOT 3
- How to restart stream after pause/stop? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ambisonic.