Realize ODAS+Windows remote web demo on Raspberry Pi

Introduction to ODAS

ODAS (Open embeddeD Audition System) is a sound source localization system used to identify, separate and track different sound sources on a microphone array.
The theoretical realization of the model is mainly divided into two parts: SSL and SST. The former is used to separate different sound sources, and the latter is used to track and filter the sound sources.

ODAS principle

ODAS compresses the space into a unit sphere (normalization). The sound is processed on this sphere, which is mainly divided into two parts: positioning (SSL) and tracking (SST).

SSL, Sound Source Localization, Sound Source Localization

//ALL

SST, Sound Source Tracking, Sound Source Tracking

//ALL

Implementation of the demo model

ODAS demonstration is divided into two modules:
ODAS core system + ODAS graphic demonstration system, these two systems communicate through TCP, that is, they can work remotely. The ODAS graphics demonstration system running on the Raspberry Pi eats more CPU resources, so I put the latter on Windows, and then let the Raspberry Pi send the data to Windows for demonstration through the LAN.

Server: odas web on windows / linux

Windows installation is used here. Linux use odas web requires a graphical interface and browser, but the process is similar, you can refer to windows.

step1 Node.js installation and configuration
  1. First install Node.js v12 for windows (this version is specified in the README.md of the client);
  2. Install to the directory you specify, the path does not include the Chinese name;
  3. The environment of configuring Node.js has already been posted , so I won’t repeat it.
step2 download and installation of odas web
  1. Download ODAS web and unzip;
  2. Open cmd with system administrator authority and open the unzipped directory of ODAS web;
  3. The default npm download source speed is very slow. If there is no small plane, it is recommended to modify the source to the domestic Ali mirror . I used option 1;
  4. If you use scenario 1, open the ODAS web directory under cmd with administrator rights and execute cnpm install to start downloading components (if the command prompts that cnpm is not an internal command, it may be that the environment variables of Node.js are not set correctly, refer to step1 Experience post, or maybe you used power shell instead of cmd);
  5. If you use option 2, execute npm install;
  6. Wait patiently for installation;
  7. After the installation is complete, execute npm start & or cnpm start & start odas web;
  8. In the figure below, you can see the IP address of the Server in the odas web, or check the IP of the windows in other ways as the output IP address of the odas client.
    Insert picture description here

Client: odaslive on Raspberry Pi

The core of odas runs on the Raspberry Pi, collects data through the microphone array, realizes ODAS processing, and outputs the result to the remote graphics server odas_web.
Run the following commands on the Raspberry Pi to install and compile odaslive:

# copy form: http://wiki.seeedstudio.com/ReSpeaker_4_Mic_Array_for_Raspberry_Pi/
sudo apt-get install libfftw3-dev libconfig-dev libasound2-dev libgconf-2-4
sudo apt-get install cmake
git clone https://github.com/introlab/odas.git
mkdir odas/build
cd odas/build
cmake ..
make
# 编译成功后,回到odas目录
cd ..

After compiling, execute the program: bin/odaslive, configuration parameters: config/odaslive/select_one.cfg (select_one depends on the parameters of the microphone array), here we use 7 microphone array as an example, we need to use the configuration file config/odaslive/respeaker .cfg (or refer to the file and write one yourself).

vim config/odaslive/respeaker.cfg

Modify the ip address in "config/odaslive/xxx.cfg" to the address of the ODAS Server side (the default is 127.0.0.1 of this machine, note that two ip addresses need to be modified here , respectively, in the SSL and SST structure parameters).
config/odaslive/respeaker.cfg
Run odas:

# 查看odaslive的使用信息
bin/odaslive -h
# 执行
bin/odaslive -c config/odaslive/respeaker.cfg

If the connection fails after the IP address is written correctly, please check the following items one by one:

  1. Before executing odaslive, make sure that odas web is running on the host of the destination IP and listening on the correct port (default 9000, 9001);
  2. The host in the local area network can be discovered by other devices: network and Internet settings -> change connection properties -> private network;

After the connection is successful, you can see the sound source location and tracking effect in the ODAS web.
Insert picture description here

Ref

ODAS source code
ODAS web source code
ODAS live source code
ODAS paper
ODAS on Raspberry Pi

Guess you like

Origin blog.csdn.net/jimaofu0494/article/details/103714199