A/V live OSC test

Started working on new visuals for GRAIN noir a/v live set.
I wanted to setup a simple communication between Ableton and openFrameworks via OSC to trigger visual effects according to sound variation.

I already did something similar before with Processing using MIDI data only but this time I wanted a more detailed system with specific frequency range affecting corresponding visuals in real time.

Each track in Ableton got a Max for Live Analysis Grabber loaded to that send both trigger and follower data for low, mids and high frequencies to openFrameworks on a specific port defined in the master GrabberSender.

In order to map the sound data to openFrameworks parameters the follower message is checked and updated using ofxOscMessage:

introTrack.cpp
1
2
3
4
5
6
7
8
9
10
11
12
void introTrack::findOSC(OSC &osc) {
while(osc.receiver.hasWaitingMessages()){
// get the next message
ofxOscMessage m;
osc.receiver.getNextMessage(&m);
// check for follower message
if(m.getAddress() == "/introKickFollower"){
introKickFollower = m.getArgAsFloat(0);
}
}
}


After checking the data type of the received trigger message it’s now possible to pass the sound follower data into oF parameters:

introTrack.cpp
1
2
3
4
5
6
7
8
9
10
11
void introTrack::oscTrigger() {
for(int i = 0; i < NUM_MSG_STRINGS; i++){
ofDrawBitmapString(msg_strings[i], 10, 40 + 15 * i);
if(msg_strings[i] == "/introKickTrigger: int32:1"){
// map sound data when trigger message is received
ofBackground(255, 255, 255);
ofSetColor(0,0,0);
ofCircle(ofGetWidth()/2, ofGetHeight()/2, introKickFollower);
}
}
}