Skip to content

schliz/sound2osc

 
 

Repository files navigation

sound2osc

Real-time audio analysis to OSC trigger events.

sound2osc converts live audio signals into Open Sound Control (OSC) messages for lighting consoles, visualizers, and interactive systems. It provides real-time FFT spectrum analysis, beat detection, and configurable frequency triggers.

Features

  • Real-time Analysis: 44Hz update rate with minimal latency.
  • Trigger System: Configurable frequency bands, level thresholds, and beat detection.
  • OSC Integration: Send triggers to Eos, Cobalt, Resolume, or any OSC-enabled software.
  • Dual Modes:
    • GUI: Interactive visualization and configuration.
    • Headless: Lightweight CLI daemon for servers and embedded devices.
  • Cross-Platform: Runs on Linux, Windows, and macOS.

Installation

Download the latest pre-compiled binary for your platform from the Releases page.

Usage

GUI Application

Launch the application to open the configuration interface:

./sound2osc

Headless (CLI)

Run without a graphical interface for server environments:

./sound2osc-headless --device "default" --osc-host 192.168.1.100

Common options:

  • --list-devices: Show available audio inputs.
  • --config <file>: Load a JSON configuration file.
  • --verbose: Enable detailed logging.

Documentation

Development

This project uses CMake and Qt 6.

Requirements

  • C++17 compatible compiler
  • CMake 3.23+
  • Qt 6.2+ (Core, Network, Multimedia)
  • libfftw3

Build

cmake -B build
cmake --build build

Testing & Coverage

To run unit tests and check code coverage:

cmake -B build-coverage -DSOUND2OSC_ENABLE_COVERAGE=ON -DSOUND2OSC_BUILD_TESTS=ON
cmake --build build-coverage --target coverage

This generates a report in the terminal.

For detailed development guidelines, see CONTRIBUTING.md.

License

Based on the Sound2Light Tool by Electronic Theatre Controls, Inc.

About

A tool converting sound input to OSC trigger signals. Hard Fork of https://github.com/ETCLabs/Sound2Light

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • C++ 64.0%
  • QML 33.0%
  • CMake 2.4%
  • Other 0.6%