[Edit] Member edechamps has pointed out my method of modeling wall absorption was incorrect and he is right. I have replaced the attached ZIP archive with update the Mathematica and Jupyter notebooks. With the old method, the wall absorption was much higher than they should be, and the updated model gave different results. The room frequency response results were replaced with those from the updated model.
I started a thread a few months ago on simulating room modes in an arbitrarily shaped room using Mathematica (free on Raspberry Pi) or the Wolfram Engine (free for "developers" at this time). Room modes are calculated without sound source, and they give indications only regarding the reverberant sound. The sound we hear in a room is the summation of both direct sound and reverberant sound. Also, whether a room mode is excited or not depends on speaker placements (in relation to the mode peaks and nulls) and listening positions. Therefore, to properly simulate the in-room response, the sound sources (i.e. speakers and subs) need to be included in the model.
First, a disclaimer. I have no formal education in acoustics and am an amateur in this area. What I am presenting is based on what I believe to be correct, which is not quite the same as being correct. My simulation results looked reasonable to me, so it kind of passed my not-stringent-at-all smell test
In this example I am simulating a simpler non-rectangular room. Please refer to the above referenced room mode simulation thread on how to build 3-D models of rooms that are more complex. This room model is composed of two rectangular blocks (cuboids). There is a “main listening area” and an "adjacent area". Two subs are placed near the lower left and right corners of the front wall.
We'll first start with a simulation of the room modes. For now we'll concentrate on the 72.56 Hz room mode. Our subs are place at the corners near where there are peaks with opposite polarities. The horizontal plotting plane is at z (height) = 0.8 m, which is my assumed ear level.
The in-room response are simulated with all walls (including ceilings and floors) being 90% reflective. This is higher than the reflectivity number (95%) Todd Welti and Allan Devantier used in their multi-sub paper. Thus this room is still quite acoustically live. Here are the response plots with sub 1 on only, sub 2 on only, and both on at the same time. The total sub output power was normalized, i.e. in the both subs active cases, their individual output level is reduced to half. the Since the subs are located near room mode peaks of opposite polarities, let's reverse the polarity of sub 2.
The number in the dB (color) scales are arbitrary, and we should look only at the relative differences. Note that the upper limits in the color scales are different in these plots. In the sub 1 only and sub 2 only plots we can see the signatures of the room modes. In the subs 1+2 plot, because the subs are placed where the room mode peaks are in opposite polarities, there are significant cancellations and the room SPL is significantly reduced. The room mode was also less noticeable as it was "cancelled". When we reversed the polarity of one of the subs, we are fully exciting this room mode again.
As you can imagine, there are many knobs to play with. We can move the subs around, add more, play with magnitude and phase. And this is just at one frequency! There is the full range of bass frequencies to consider
The attached zip file contains the Mathematica and Jupyter notebooks for the frequency response and room mode simulations.
I started a thread a few months ago on simulating room modes in an arbitrarily shaped room using Mathematica (free on Raspberry Pi) or the Wolfram Engine (free for "developers" at this time). Room modes are calculated without sound source, and they give indications only regarding the reverberant sound. The sound we hear in a room is the summation of both direct sound and reverberant sound. Also, whether a room mode is excited or not depends on speaker placements (in relation to the mode peaks and nulls) and listening positions. Therefore, to properly simulate the in-room response, the sound sources (i.e. speakers and subs) need to be included in the model.
First, a disclaimer. I have no formal education in acoustics and am an amateur in this area. What I am presenting is based on what I believe to be correct, which is not quite the same as being correct. My simulation results looked reasonable to me, so it kind of passed my not-stringent-at-all smell test
In this example I am simulating a simpler non-rectangular room. Please refer to the above referenced room mode simulation thread on how to build 3-D models of rooms that are more complex. This room model is composed of two rectangular blocks (cuboids). There is a “main listening area” and an "adjacent area". Two subs are placed near the lower left and right corners of the front wall.
We'll first start with a simulation of the room modes. For now we'll concentrate on the 72.56 Hz room mode. Our subs are place at the corners near where there are peaks with opposite polarities. The horizontal plotting plane is at z (height) = 0.8 m, which is my assumed ear level.
The in-room response are simulated with all walls (including ceilings and floors) being 90% reflective. This is higher than the reflectivity number (95%) Todd Welti and Allan Devantier used in their multi-sub paper. Thus this room is still quite acoustically live. Here are the response plots with sub 1 on only, sub 2 on only, and both on at the same time. The total sub output power was normalized, i.e. in the both subs active cases, their individual output level is reduced to half. the Since the subs are located near room mode peaks of opposite polarities, let's reverse the polarity of sub 2.
The number in the dB (color) scales are arbitrary, and we should look only at the relative differences. Note that the upper limits in the color scales are different in these plots. In the sub 1 only and sub 2 only plots we can see the signatures of the room modes. In the subs 1+2 plot, because the subs are placed where the room mode peaks are in opposite polarities, there are significant cancellations and the room SPL is significantly reduced. The room mode was also less noticeable as it was "cancelled". When we reversed the polarity of one of the subs, we are fully exciting this room mode again.
As you can imagine, there are many knobs to play with. We can move the subs around, add more, play with magnitude and phase. And this is just at one frequency! There is the full range of bass frequencies to consider
The attached zip file contains the Mathematica and Jupyter notebooks for the frequency response and room mode simulations.
Attachments
Last edited: