Comments (30)
The accuracy greatly depends of the parameters used. Although it is on a different microphone array, section 6.1.1 of the ODAS paper is of interest here. It gives a good overview of the relation between sound source tracking parameters and tracking accuracy.
from odas_web.
Ok that works! Cool thanks!
from odas_web.
It's the part where you changed the IPs. Azimut and elevation is under the SST module. You must change the type and then add the proper parameters.
from odas_web.
Ok thanks for the information!
from odas_web.
Yes it does! Cool thanks! :)
from odas_web.
That would be respeaker themselves. But really if the microphones measurements match then you know you have the proper coordinate system.
from odas_web.
Hi, it seems like ODAS is starting then stopping immediately (new connection, then connection closed).
Could you launch ODAS Live (the GUI) and ODAS (the processing core) in separated terminals then provide both outputs?
Instead of launching ODAS trough the GUI "launch" button, run:
/path/to/odaslive -c /path/to/config.cfg
to start ODAS Core.
from odas_web.
Ok I tried starting the ODAS Live with npm start
and then when I try to start ODAS Core with:
./odaslive -c /odas/config/odaslive/respeaker_4_mic_array.cfg
I get:
Source hops: Cannot set sample format: Invalid argument
and the output for ODAS Live is still:
[email protected] start /home/amelie/odas_web
electron .
server listening to {"address":"::","family":"IPv6","port":9000}
server listening to {"address":"::","family":"IPv6","port":9001}
server listening to {"address":"::","family":"IPv6","port":10000}
server listening to {"address":"::","family":"IPv6","port":10010}
new client connection from ::ffff:127.0.0.1:45950
new client connection from ::ffff:127.0.0.1:43102
new client connection from ::ffff:127.0.0.1:33246
new client connection from ::ffff:127.0.0.1:55024
connection from ::ffff:127.0.0.1:43102 closed
connection from ::ffff:127.0.0.1:45950 closed
connection from ::ffff:127.0.0.1:33246 closed
connection from ::ffff:127.0.0.1:55024 closed
new client connection from ::ffff:127.0.0.1:45958
new client connection from ::ffff:127.0.0.1:43110
new client connection from ::ffff:127.0.0.1:33254
new client connection from ::ffff:127.0.0.1:55032
connection from ::ffff:127.0.0.1:43110 closed
connection from ::ffff:127.0.0.1:45958 closed
connection from ::ffff:127.0.0.1:33254 closed
connection from ::ffff:127.0.0.1:55032 closed
new client connection from ::ffff:127.0.0.1:43114
new client connection from ::ffff:127.0.0.1:45962
new client connection from ::ffff:127.0.0.1:33266
new client connection from ::ffff:127.0.0.1:55044
connection from ::ffff:127.0.0.1:43114 closed
connection from ::ffff:127.0.0.1:33266 closed
connection from ::ffff:127.0.0.1:45962 closed
connection from ::ffff:127.0.0.1:55044 closed
Ill attach the config file for reference, I haven't changed anything expect the IPs.
respeaker_4_mic_array_changed.txt
from odas_web.
Hi, you started your configuration from the wrong file. You need to use respeaker.cfg
(for respeaker round array) and not respeaker_4_mic_array.cfg
(for raspberry PI hat). The cards use different raw audio format and the microphones locations are not the same.
from odas_web.
Ah ok, now i get :
Source hops: Cannot set channel count: Invalid argument
I tried changing from 8 to 6 (I think the ReSpeaker has 6 channel output?).. but then it gives me a segmentation fault.
from odas_web.
Did you perform the mic array firmware as stated in the Seeed Studio wiki?
from odas_web.
yes i did that ..
from odas_web.
Did you use the config file from the tutorial?
from odas_web.
Is there any way to get the azimuth/elevation in some other form than through the GUI?
from odas_web.
Yes, all data to the GUI is passed trough sockets. The GUI is the server and ODAS is the client. Azimuth and elevation are encoded in JSON. You can write your own application implementing a socket server to receive the data or output the JSON to a text file by changing the sink type in the ODAS config file.
from odas_web.
Ok. What part of the config file is that?
from odas_web.
ah ok! Cool thanks!
from odas_web.
Sorry one more question. Do you know how accurate the sound source location estimates are for ODAS with the ReSpeaker microphone?
from odas_web.
from odas_web.
Hi, sorry I deleted the question because I figured it out and now have a socket server to receive the data from ODAS the client. I also wasn't aware that I need to be listening to all 4 of the ports (9000,9001, 10000, 10010 I believe they are). Otherwise ODAS will quit. But thanks for the answer!
from odas_web.
Actually you don’t have to listen to the four ports. You can change the sink configurations of the modules you don’t need to a « blackhole » type and it won’t try to connect. Search for the ports number in the configuration file to easily find them.
from odas_web.
Ah ok. That makes sense. Is there a way actually to get the raw audio data in a similar way ? Because I can't connect to the speaker through ODAS and Ros at the same time. I think the device can only be accessed by one application at a time.
from odas_web.
Hi, unfortunately ODAS does not support sinking the raw audio. You are right that the sound card can only be opened by one application at the time.
from odas_web.
Is there a way to change the sensitivity of what is considered a sound source ? I know there are some parameters in the config file, although in your wiki you say to leave them at the values they are.
from odas_web.
Yes there is. In the tracking module configuration (SST) look for the active and inactive entries.
The mu value is the energy level that is considered as an active (begin tracking) or inactive (end tracking) sound source.
You can gage the appropriate settings by looking at the energy level of the potential sources (SSL output or blue->red gradient square in the GUI). As an exemple, let's say you are picking up fan noise from a computer with an energy level of around 0.4 and a voice at an energy level of 0.7, you'll want active mu to 0.7 and inactive mu to 0.4 as a starting point for tuning.
You can also play with the corresponding weights so that the algorithm "prefers" to consider a source as active or inactive. Lastly, what I describe as a source is an aggregate of energy that shows up as a spot with a lot of reddish energy square in the GUI.
I hope it makes sense.
from odas_web.
I hope you don't mind me asking all these questions in the same thread.... I was also wondering what the exact coordinate system orientation is given the Respeaker hardware. From what I gather, the coordinate system is aligned with the physical microphones' position. And the microphone to the left of the usb port is positive x, the one to the right is positive y, positive z would be straight up. Is this correct?
from odas_web.
Hi, no problem for the questions.
As for the coordinate system, it matches the physical microphones measurements as you guessed. As is, ODAS measurements are produced in the same coordinates system used by the user while defining the microphones positions. Sadly, I didn't write the configuration file (in fact I don't have the board) so I cannot confirm your conclusions.
from odas_web.
Ah ok. Do you know who wrote the config file you sent me by any chance?
from odas_web.
sudo aplay -l run this in terminal to know what is your card no and put it in odas.cfg file it will mostly solve the issue.
from odas_web.
Did you use the config file from the tutorial?
I was working on the DOA estimation using 4-mic linear ReSpeaker array, can you tell what changes I need to do in the configuration?
from odas_web.
Related Issues (20)
- socket AND file output HOT 2
- Unable to run npm install (error command electron-rebuild) HOT 12
- Please add windows binary to release
- Camera Viewer HOT 4
- Failed to use ODAS web with respeaker V2 HOT 1
- bandpass filtering results in no detections
- npm install error HOT 5
- Recorder 0 was false active HOT 1
- odas web not getting doa
- Source hops: cannot open audio device he:1,0
- ODAS STUDIO NO OUTPUT ReSpeaker Version 2.0 PLEASE HELP
- ODAS Control not launching and ODAS stuck on ‘Threads running…” HOT 1
- Odas Studio unresponsive HOT 2
- npm success ,however npm start fail HOT 3
- ODAS process cannot connect to ODAS Web HOT 2
- Odas Web works but fails to write co-ordinates to text file
- ODAS data do not show after running odas web HOT 2
- npm start crashes HOT 1
- [email protected]~start: Returned: code: 1 signal: null
- I/O error
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from odas_web.