facebookresearch / sound-spaces

A first-of-its-kind acoustic simulation platform for audio-visual embodied AI research. It supports training and evaluating multiple tasks and applications.
https://soundspaces.org
Creative Commons Attribution 4.0 International
322 stars 55 forks source link

Default absorption rate when 'enableMaterials=False' #108

Open NoMainBranch opened 1 year ago

NoMainBranch commented 1 year ago

Hi, @ChanganVR

I need your help with using the acoustic materials setting in SS2.0. I know that setting enableMaterials=True allows me to use acoustic materials with absorption coefficients. However, I am wondering if enableMaterials=False means no absorption rate during acoustic simulation. How can I change the default absorption rate when using enableMaterials=False? It seems like no absorption rate is used during the simulation.

I need to use enableMaterials=False because my own mesh file doesn't work when enableMaterials=True, with an error below:

Assertion resourceDict_.count(filename) > 0 failed at /home/iyeon/Dropbox/Projects/habitat-sim/src/esp/assets/ResourceManager.cpp:2995
Aborted (core dumped)

To summarize, I would like to ask: 1) Is it possible to apply a default absorption rate when enableMaterials is set to False? 2) When encountering an error with enableMaterials=True, is there a way to obtain more detailed information about the problematic file?

I appreciate your assistance and expertise on this matter. Your prompt response would be greatly appreciated.

ChanganVR commented 1 year ago

Hi @NoMainBranch for your two questions:

  1. yes, when the acoustic material file is not used, all objects are assigned a default absorption and reflection coefficient. You just can't customize these coefficients.
  2. this is pretty challenging at the moment since we encapsulate the acoustic simulation into binaries. Also, to use material attributes on your own mesh environment means that you'll need to annotate all the meshes with semantics (because we rely on the semantic mesh to map materials to mesh), which might not be very feasible either. Unless you really need to customize the material, I would suggest just sticking to the default materials (when enableMaterials is set to False).