1
$\begingroup$

I want to simulate a sound source in one room and a microphone in a second, adjacent room. I am familiar with the image method and Habet's very efficient implementation for room impulse response (RIR). This implementation will be problematic when the source is in another, second room. However, the limitations of the image method for rectangular rooms and frequency constant reflection coefficients are good enough for me as it is a simulation.

AS I wish to simulate a large number of examples (~1000) so measuring an RIR is not an option and an inaccurate, fast simulation method is good enough.

I also found this paper but I could find no implementation available. This implies that it is possible to simulate though I am not sure.

I am looking for an implementation of an RIR generator for coupled rooms or another quick solution. I wish to spend as little time as possible on learning the inside of the generation method, as it is not my goal, so another tool\method with a good tutorial and fast ramp-up will be also very helpful.

Can anyone recommend the shortest way to achieve this?

$\endgroup$
  • $\begingroup$ How does sound get from one room to the other? A «window» in the shared wall, or leakage? Should the IRs sound plausible or satisfy some other criterion? $\endgroup$ – Knut Inge Oct 8 at 13:15
  • $\begingroup$ @KnutInge , The RIR simulation method should be supported by academic research. That is the criterion. As the image method is not physically accurate but good enough though it is supported by physical assumptions of ray tracing and not only sounds plausible. Other than that, I am aiming for a shared wall though if you have something less fitting (a shared door or window) it can also help. $\endgroup$ – havakok Oct 8 at 15:36
  • 1
    $\begingroup$ Related question: Is there an audio renderer? $\endgroup$ – Olli Niemitalo Oct 12 at 5:45
  • $\begingroup$ @OlliNiemitalo, are such renderers based on the wave equation solution? How do we know how accurate they are? $\endgroup$ – havakok Oct 13 at 6:10
  • 1
    $\begingroup$ @havakok I have no practical experience on any such tool, but I've been following the development of Microsoft's offering (Raghuvanshi's work). It seems to be based on accurate simulation of the wave equation using a discrete cosine transform (DCT). I do not know if there is some further optimization for the gaming context that ruins that. $\endgroup$ – Olli Niemitalo Oct 13 at 6:35
1
$\begingroup$

This is an FDTD based, wave equation solution. It is the best free solution I have found. None of the other answers has helped so far.

| improve this answer | |
$\endgroup$
0
$\begingroup$

Coupled rooms are hard siince you have two weakly coupled mode spectra to deal with. Also the details of the coupling (size, boundary conditions, geometry) become very important. If there is no direct line of sight, you need a really good diffratcion model to get the high frequencies correctly.

The method that you cite seems to be only for rectangualr rooms and and the reflections coefficients are frequency independent. Real rooms don't behave or sound like that. Depending in your requirements this may not work.

Can anyone recommend the shortest way to achieve this?

Depending on how many you need and how much variation you want it's probably the quickest to just mock them up and measure them.

| improve this answer | |
$\endgroup$
  • $\begingroup$ I have edited my question to indicate I do not care about the rectangular limitation. I want to be able to generate a massive number of random examples (say 1000). I am not sure what you mean by "mock them up". What is mock? $\endgroup$ – havakok Oct 5 at 12:39
  • $\begingroup$ Mock up = Physcially build the configurations that you want and measure them. Getting a 1000 is probably not feasible this way. $\endgroup$ – Hilmar Oct 5 at 13:20
  • $\begingroup$ What you are suggesting is not a simulation but a measurement. I have edited my question to clarify. $\endgroup$ – havakok Oct 6 at 9:17
  • $\begingroup$ Yes that's exactly what I suggested, You were asking for the quickest way to get RIR and given the complexity of a reasonable simulation, I think measuring would be a lot faster if you only need a 100 or so cases $\endgroup$ – Hilmar Oct 6 at 13:10
0
$\begingroup$

Perhaps you can use a game development platform like Unity or Unreal Engine to build the room and to simulate the acoustics using a plug-in package like Microsoft's Project Acoustics.

For Project Acoustics, the computation will take place in Azure Batch and Azure Storage, which require a subscription. So this is not a free solution.

| improve this answer | |
$\endgroup$
  • 2
    $\begingroup$ Bill Gates once said : " We don't need games to be scientifically accurate simulations (that OpenGL is offering) ... just get a way with the least and use DirectX instead" while advocating DirectX over OpenGL...:-) Now they are trying to sell wave-based acoustic simulations? And this is to be rendered on the cloud? Azure? What? Once opposing to him, now I do support his previous views on game physics... $\endgroup$ – Fat32 Oct 8 at 11:40
  • 2
    $\begingroup$ I am looking for a free to use solution. $\endgroup$ – havakok Oct 8 at 12:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.