# OSCAudioReceiver

This plugin enables the receiving of audio analysis data over OSC.

Receiving audio analysis enables you to use the various Audio Blocks to create audio reactive scenes.

{% embed url="<https://youtu.be/EbdbSbtwrvA>" %}

## How To Use

First you need to enable this plugin using the [Settings](/guide/views/settings.md) menu.

Afterwards you need something to generate the OSC messages containing the audio analysis. For this you can use the vvvv beta based [**Audio Analysis Sender**](/tools/audio-analysis-sender.md) tool available from the [itch.io](https://domj.itch.io/schema) page.

Or if you're feeling adventurous, roll your own! Refer to the message format below.

## Message Format

The audio analysis is transferred using OSC and expects the following addresses wrapped in a bundle:

* /audio/0/samplerate (Float)
* /audio/0/beats (4x Boolean)
* /audio/0/level (Float, normalized)
* /audio/0/fft (32x Float, other counts are also acceptable)
* /audio/0/bpm (Float)
* /audio/0/periodpower (Float, normalized)
* /audio/0/peakpower (Float, normalized)
* /audio/0/pitch (Float, normalized)

{% hint style="info" %}
The 0 indicates the channel index. Currently only one channel is supported.
{% endhint %}

### Sample Rate

The audio device sample rate, eg. 44100, 48000, ...

### Beats

Beat bangs from beat detection in 4 frequency bands from lowest to highest.

### Level

Immediate audio power - RMS

### FFT

Immediate levels in multiple frequency bands acquired using Fast Fourier Transform.

### BPM

Beats per minute, eg. 128, 140, ...

### Period Power

Averaged audio power over a longer period of time, useful for discerning between breaks and drops.

### Peak Power

TODO 😋

### Pitch

Current audio pitch, normalized to values between 0 and 1.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.scenic.tools/plugins/oscaudioreceiver.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
