• Stars
    star
    138
  • Rank 264,508 (Top 6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created about 7 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A desktop visualization GUI for the ODAS library

ODAS Studio

A desktop user interface for the ODAS library

ODAS Studio main screen screenshot

Description

ODAS Studio is a desktop interface built to visually represents data produced by the ODAS algorithm and manage recordings of separated audio sources. ODAS Studio represents audio energy and tracked audio sources on an unit sphere and is a powerful tool when tuning ODAS settings. ODAS Studio also records separated audio as distinct wav files. ODAS Studio is built on the Electron framework and can be run natively on PC, Mac and Linux.

Installation

  1. Install Node.js v12
  2. Clone the repository
  3. Run npm install in the cloned repository base folder (it contains main.js)

Please note that even if ODAS Studio can be installed on a Raspberry Pi, it will not perform properly due to CPU limitations. Please see the ODAS configuration section for instructions on how to sink data from a Pi running ODAS to another computer trough sockets.

Usage

Start ODAS Studio

  • Run npm start in the base folder

Configure ODAS

The ODAS library must be built to use ODAS Studio. You must use the master branch. ODAS Studio can be run either with a local or remote ODAS core. For local execution, it is suggested to use 127.0.0.1 as the computer IP. For remote execution, use the computer IP as seen by the remote computer. The Local System Monitor in ODAS Studio displays the computer IP for easy configuration of a remote system.

ODAS Studio uses TCP sockets to receive data from ODAS, thus, it is important to specify the following sinks in the ODAS configuration file. Also make sure that your firewall allow connections on the specified ports if running ODAS on a remote computer.

  • SSL
potential: {
  format = "json";
  interface: {
    type = "socket";
    ip = "<IP>";
    port = 9001;
  };
};
  • SST
tracked: {
  format = "json";
  interface: {
    type = "socket";
    ip = "<IP>";
    port = 9000;
  };
};
  • SSS
separated: {
  fS = <SAMPLE RATE>;
  hopSize = 512;
  nBits = 16;        

  interface: {
    type = "socket";
    ip = "<IP>";
    port = 10000;
  }        
};

postfiltered: {
  fS = <SAMPLE RATE>;
  hopSize = 512;
  nBits = 16;        

  interface: {
    type = "socket";
    ip = "<IP>";
    port = 10010;
  }        
};

Run ODAS

For local execution, browse the odascore binary and the configuration file in the ODAS Control pane. A local ODAS execution can then be controlled using the green Launch ODAS button.

For remote execution, start ODAS in command line on the distant system. As odascore is a TCP client and ODAS Studio is a TCP server, ODAS Studio must be started before odascore.

Live Data

This is the main page of ODAS Studio.

ODAS Studio Live Data page screenshot

  • Local System Monitor : displays performance information about the computer running ODAS Studio.
  • ODAS Control : is used to start and stop ODAS in local mode or indicate when a remote odascore is connected.
  • Source Elevation : sound source elevation relative to the X-Y pane in decimal degree.
  • Source Azimut : sound source azimut around the Z axis relative to the X axis in decimal degree.
  • Active Sources Locations : sound source elevation and azimut on the unit sphere.
  • Sources : selects which tracked source is displayed. Useful to hide a parasitic source in the environment.
  • Filters : sets visibility of tracked sources and sound energy. The energy range slider adjust the energy levels that are displayed in the interface.

Record

Click the record button at the upper right of the Live Data window to open the Record window.

ODAS Studio Record page screenshot

  • Workspace Path : specifies a folder where audio files will be recorded. It must be set before enabling recording.
  • Show : chooses to dispay either separated, postfiltered or all recordings.
  • Record : when selected, separated audio sources will be recorded in distinct wav files.
  • The file list displays recordings in the workspace and allows playback and deletion of files.
  • The transcript displays the speech to text transcription of the hovered recording.

Configure

Click the configure button at the upper right of the Live Data window to open the Configure window.

ODAS Studio Configure page screenshot

  • Use Google Speech Voice Recognition : sends recorded audio to Google Speech service to generate transcriptions.
  • Google API Keyfile : path to your Google Speech API json key.
  • Transcription Language : language in which the recorded audio is processed by Google.
  • Sample Rate : sample rate of the audio streams produced by ODAS. Must match ODAS sink config file.

License

ODAS Studio is free and open source. ODAS Studio is licensed under the MIT License.

More Repositories

1

rtabmap

RTAB-Map library and standalone application
C++
2,776
star
2

rtabmap_ros

RTAB-Map's ROS package.
C++
986
star
3

odas

ODAS: Open embeddeD Audition System
C
782
star
4

find-object

Find-Object project
C++
447
star
5

OpenIMU

Open Source Analytics & Visualisation Software for Inertial Measurement Units
Python
268
star
6

manyears

ManyEars Sound Source Localization, Tracking and Separation
C++
184
star
7

16SoundsUSB

16 Synchronized Inputs USB (UAC2) Sound Card Based on XMOS xCORE-200
98
star
8

ros_for_ios

How to build the Robot Operating System for the iOS platform.
C
67
star
9

OpenIMU-MiniLogger

OpenIMU - Open Hardware Mini Logger based on ESP32
C++
41
star
10

odas_ros

ODAS ROS package
Python
39
star
11

opentera-webrtc

WebRTC JavaScript, C++ and Python libraries and signaling server for the OpenTera project with hardware acceleration with GStreamer
C++
32
star
12

webrtc-native-build

Native build of Google's webrtc library.
Dockerfile
30
star
13

introlab-ros-pkg

IntRoLab's ROS packages
C++
30
star
14

dotmask

Python
28
star
15

securbot

Security robot prototype
Rich Text Format
25
star
16

rendezvous

Next generation videoconference system
C
24
star
17

opentera

OpenTera - Open TeleRehabilitation Server and Micro-Services
Python
16
star
18

opentera-webrtc-ros

ROS package for OpenTera WebRTC signaling server.
C++
15
star
19

mars

Microphone Array Real-time System
12
star
20

audio_utils

ROS node and utilities for audio streams.
C++
12
star
21

WISS

Speaker recognition system for mobile robots
MATLAB
7
star
22

MusicBeatDetector

TableTop - MusicBeatDetector
C++
7
star
23

t-top

T-Top is a tabletop robot designed with advanced audio and vision sensors, deep learning perceptual processing and telecommunication capabilities to provide richer interaction modalities and develop higher cognitive abilities from interacting with people.
Python
7
star
24

xSoundsMicrophones

Microphones for 8SoundsUSB and 16SoundsUSB
6
star
25

uimvdr

Python
6
star
26

opentera-webrtc-teleop-frontend

OpenTera VUE3.js Frontend to be used with opentera-webrtc signaling server (local or on the Internet)
Vue
4
star
27

opentera-teleop-service

OpenTera Service handling teleoperation sessions based on webrtc.
JavaScript
4
star
28

opentera-webportal-service

Portal for users / participants
TypeScript
2
star
29

openteraplus

OpenTeraPlus
C++
2
star
30

MOvITPlus

AGEWELL - MOvIT+ Sensor Platform
Shell
2
star
31

egonoise

Python
2
star
32

demo_integration

Projet démonstration pour intégration continue avec Git, GitHub Actions
Python
1
star
33

opentera_messages

Protobuf messages for OpenTera
CMake
1
star
34

github-stats-action

Get GitHub project stats
Python
1
star
35

rtabmap_ros-release

1
star
36

find_object_2d-release

1
star
37

hbba_lite

Hybrid Behavior Based Architecture Lite Library
C++
1
star
38

IRL-1

Code and simulation models for the IRL-1 robot.
C++
1
star