-
Notifications
You must be signed in to change notification settings - Fork 251
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
Sound Source Localization support for "T" microphone array #27
Comments
Hi, Thank you for the info. In this case, assuming omnidirectional microphones, I would do something like that. The origin could be between microphones 6 and 7 (what's labeled centre on your photo). Then all microphones xyz-coordinates would be reference to that point.
Moreover, to detect only source in front of your cameras, I would aim the spatial filter in the direction of your cameras field of view (if I understand your sketch, the microphones 1-4 form a line on the z-axis, so the cameras would point in that direction). This should do it:
Let me know if you have any questions, Cheers |
thank you for your help. I've got one more question. |
Hi, you can use the mapping parameter to achieve this:
Which maps mic 1 to channel 2, mic 2 to channel 1, mic 3 to channel 4, mic 4 to channel 3, mic 5 to channel 7, mic 6 to channel 8, mic 7 to channel 5 and mic 8 to channel 6. |
Thank you. I got the ssl data like below: { I don't know what the xyzE mean. |
These are the xyz-coordinates of the direction of arrival of sound, and E is the energy level (between 0 and 1). A value of 0 means no energy, and a value of 1 means high energy. A potential source with high energy will most likely trigger the tracking of this source by the tracking module. Right now you output in the terminal the results of the localization module, which can be quite noisy. If you want to look at the tracked sources, you should print in the terminal the results of the tracked module. |
Thanks. { Is there document to tell me the meaning of: id tag activity? |
Documentation is currently being written. I know it would help to have this info that's why I'm speeding things to get something out asap. id is a unique id that is assigned to each newly tracked source |
I don't quite understand below items in bold: #Microphone and spatialfilter: { Could you please explain these items with a picture for me? |
Hi, I suggest you take a look at this discussion about the spatial filter. What it does is adjust the gain according to the angle of arrival. When specified in the mic configuration, the gain applies to the microphone. When specifies in the spatial filter it applies to the system output. It is used to account for the directivity of the microphones and to limit the sound "search area" to a specified zone. With your setup, I would suggest you use
for both, as your microphones and your array are listening in the X axis direction. |
Considering your conference system, I personally used ODAS to add an overlay to a video stream to show audio sources and also to track an audio source with a PTZ camera. With your setup, you should be able to use the tracking module to aim your camera by converting x, y and z, which represent a direction vector, to an azimut and elevation. If you have an idea of the distance between to speaker and the camera, you may want to account for the offset between your matrix origin and your cameras origin, to improve your aiming precision. |
Thank you very much. If I want to check if ODAS give me the right direction in real time, what should I do? |
I suggest you have a look at ODAS Studio. It’s a desktop app built to display ODAS data in real time. You can see acoustic energy and tracked sources in real time both in azimut-elevation and unit-sphere x-y-z format. |
I tried ODAS Studio, it's powerful. Even if no person talking, it was able to draw a lot of points near the x axis: I tried to adjust the "energy range", it works. But the voice of the people seem to be filtered out a lot either. I stood at 2 meters away, say very loudly to be detected by ODAS. how to fine tuning this? Is there a way to filter out noise and sensitive to human voice? |
This is strange. Seems like there is always a noise source in front of your setup, which I doubt is true in reality. Can you provide us with you config file, and maybe raw recordings from the mic array? |
I would also suggest you stop ODAS, do a recording in audacity and retry. Sometimes a weird glitch happens when opening the soundcard trough ODAS and the card output is corrupted. Opening it in another app seems to solve the issue. |
These is my cfg file and audio data recorded by audacity. |
I did a recording in audacity and retry and I tried below configuration too, the noise source still there. |
Thank you for this feedback. I have been quite busy lately, but I'll try to run your data in the coming days! I'll keep you updated! |
what is the tool to calculate these data? |
Hello,
I took one picture to show my microphone array:
I want to use 'Sound Source Localization' to estimate elevation and azimut on my project.
We have 8 microphone. You can think of it as two linear microphone array, each array have 4 microphones.
By 1,2,3,4 I got azimut. (relative to xoy plane)
By 5,6,7,8 I got elevation. (relative to xoz plane)
With azimut and elevation, I can control the camera to rotate to the sound location.
Can you tell my how to use odas to make ssl work.
thank you.
The text was updated successfully, but these errors were encountered: