Coder Social home page Coder Social logo

Comments (4)

DavidDiazGuerra avatar DavidDiazGuerra commented on May 22, 2024

Hello,

The issue is due to the Sabine formula that both gpuRIR and RIR-Generator use to predict the RT60 from the room sizes and its reflection coefficients. According to this equation, the lowest RT60 that a room with room_sz = [6.98986182, 7.65234006, 3.58826744] can have would be 0.14571999028149607 seconds (with fully absorbent walls). That's obviously not true since a room with fully absorbent walls would be an anechoic chamber no matter its size, but the Sabine formula is not really accurate for so absorbent walls.

Since you're asking an RT60 lower than that minimum, RIR-Generator answers you that the reflection coefficients cannot be computed and gpuRIR returns the closest solution according to the Sabine formula, which is having fully absorbent walls.

I would suggest you decrease your room size or increase the RT60 since it is probably not a very realistic scenario, but if you really need to simulate such a room, you could use gpuRIR using custom reflection coefficients (instead of using gpuRIR.beta_SabineEstimation(room_sz, RT60)) and try to find those that approximate your desired RT60, which I guess would be quite low but not just 0.

Best regards,
David

from gpurir.

quancs avatar quancs commented on May 22, 2024

David

Thank you David.

May you give a criteria to check if I'm asking an RT60 lower than the minimum?

Like when beta_SabineEstimation returns an array containing more than one zero?

from gpurir.

quancs avatar quancs commented on May 22, 2024

Maybe it would be better to raise an exception than giving the closest solution in this situation?

from gpurir.

DavidDiazGuerra avatar DavidDiazGuerra commented on May 22, 2024

May you give a criteria to check if I'm asking an RT60 lower than the minimum?

As explained in the paper, the Sabine formula is:

where $V$ is the volume of the room and $S_i$ and $\alpha_i=1-\beta_i^2$ are the surface area and the absorption coefficient of each wall.

You could use $\alpha_i=1$ to check what is the RT60 that the Sabine formula estimates for an anechoic chamber with that size.

Like when beta_SabineEstimation returns an array containing more than one zero?

I would say that, when the requested RT60 is under that minimum, all the elements in the array will be 0, but I'm not 100% sure of that.

Maybe it would be better to raise an exception than giving the closest solution in this situation?

I'm not sure of this since it might suggest that being slightly under that minimum is much less accurate than being slightly over it, when it is not. The function beta_SabineEstimation is an estimation and should be used carefully (that's why I named it like that instead of just get_beta).

from gpurir.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.