There is no unique configuration for the microphone array, and this is one strength of ManyEars as the array can be adjusted to the physical shape of your setup. However, you must keep in mind that some configurations may introduce limitations.
The origin of the xyz axes is generally located at the center of mass of the microphone array.
The eight microphones can be positioned in a cubic-shape. This configuration allows source localization in three dimensions for all directions. The distance between the microphones can usually vary between 10 and 40 centimeters.
It is also possible to position the microphones in a arbitrary shape array. As long as the microphones positioning spans the three xyz dimensions, the localization in three dimensions in all directions is possible.
The microphones can also be positioned in a circle. This configuration allows source localization in three dimensions only for half a sphere. In fact, it is not possible to discriminate between a source located above or below the circle.
The microphones can also be positioned in a line. This configuration allows source localization in two dimensions on a circle around the line array.
The maximum number of sources that can be tracked simultaneously is set by the parameter P_GEN_DYNSOURCES. The parameter P_BF_MAXSOURCES should not exceed the parameter P_GEN_DYNSOURCES. The system would still operate properly if P_BF_MAXSOURCES exceeds P_GEN_DYNSOURCES, but this would not improve the performances and thus would waste computing power.
Many things can be done to reduce the computational load of the system. These modifications may be introduced:
Reduce the number of scan of the sphere during the localization step. To do so, try decreasing the parameter P_BF_MAXSOURCES. If many sources need to be localized simultaneously, this may reduce the performances. If only a single source needs to be localized, the parameter P_BF_MAXSOURCES may be set to 1 and this will not affect the localization performances and will reduce significantly the computational load.
Reduce the number of particles in the particle filters. This will however reduce the tracking performance of the sound sources. The number of particles can be set with the parameter GLOBAL_NBPARTICLES.
Reduce the number of microphones. This may reduce the performance of the overall system but will mostly depends on the microphone array geometrical configuration, the reverberation and the noise of the room. The number of microphones introduce a computational complexity of O(n^2) (more precisely some computations are performed for each pair of microphones, and there are M(M-1)/2 pairs for M microphones). For instance, the complexity when using only 6 microphones is 54% the complexity when using 8 microphones.
Many things can be done to improve detection:
This usually happens when the separation algorithm diverges. This means that the update step is too large and should be reduced. To fix this, try decreasing the value of the parameter P_GSS_MU.
This usually happens when the output gain is too large. The separated streams are amplified and then clipping occurs when they are converted to WAV files. To fix this problem, try decreasing the value of the parameter P_OUT_GAIN.