-
Notifications
You must be signed in to change notification settings - Fork 441
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
When I try room.compute_rir() again,is it intended that the ISM or Ray-Tracing will not be re-modeled? #263
Comments
Hi @AlanLiudx , yes this is more a feature than a bug. There is a lot of states in the internals, and because you can call intermediate functions (such as |
Thank you for your explanation! But actually I read the source code after I found my test code hadn't acted as I 'd expected, and what if a beginner simulates the room impulse and finds nothing changes, getting confused? Perhaps some hints should be added in the examples or documentations. Thank you! |
You are totally correct, this is far from an ideal situation... 😰 |
I tried to implement a reset_simulator_state method outside the class (outside the source code room.py) without doc. Perhaps in this way a reset method can be tried to be implemented into the source?
|
Thanks for sharing! I think the values of I think I had originally done that because in some cases we want to keep the same RIR, but change only the source signals. In this case we don't want to re-run |
Hello faku @fakufaku and thanks for your continuous contribution! I'm new here to learn multi-channel acoustic scene simulation, and I found something weird when trying to compute rir:
In the code block above, I see if I change the parameters in the existing ISM or RT model such as max_order(for instance, I first try max_order=0 to generate anechoic speech and then set different sets of RT60 and generate reverberated speech), the ISM or RT will not be re-modeled because self.simulator_state["ism_done"] has been set True in the end of the method of self.image_source_model() or self.ray_tracing().
I wonder if that is a feature or a bug. I think if I want to change nothing in the room but the reverberation time I need, there's no means for me to create another room for another set of speech. Of course I can manually reset self.simulator_state["ism_done"], but seemingly in this way I break the encapsulation of the Room class.
Could you please give me an explanation? I would be grateful for that.
The text was updated successfully, but these errors were encountered: