From 0f5301b988bad81b2f27ba4d88c6ee3d0205603a Mon Sep 17 00:00:00 2001 From: Tim Redfern Date: Tue, 21 May 2013 18:49:40 +0100 Subject: vamp not crashing but no features --- vamphost/src/ofxVamphost.cpp | 5 +- vamphost/src/testApp.cpp | 129 ++++++++++++++++++++++--------------------- vamphost/vamphost.cbp | 51 +++++++++++++++++ 3 files changed, 121 insertions(+), 64 deletions(-) create mode 100755 vamphost/vamphost.cbp (limited to 'vamphost') diff --git a/vamphost/src/ofxVamphost.cpp b/vamphost/src/ofxVamphost.cpp index fc8bbf0..1ba2b4e 100644 --- a/vamphost/src/ofxVamphost.cpp +++ b/vamphost/src/ofxVamphost.cpp @@ -143,8 +143,8 @@ void Vamphost::process_frame(float *data,int samples_in_frame){ //when the frame is finished leave the partial block for the next frame while(sample= 400 ){ volHistory.erase(volHistory.begin(), volHistory.begin()+1); @@ -66,121 +66,126 @@ void testApp::draw(){ ofSetColor(225); ofDrawBitmapString("AUDIO INPUT EXAMPLE", 32, 32); ofDrawBitmapString("press 's' to unpause the audio\n'e' to pause the audio", 31, 92); - + ofNoFill(); - + // draw the left channel: ofPushStyle(); ofPushMatrix(); ofTranslate(32, 170, 0); - + ofSetColor(225); ofDrawBitmapString("Left Channel", 4, 18); - - ofSetLineWidth(1); + + ofSetLineWidth(1); ofRect(0, 0, 512, 200); ofSetColor(245, 58, 135); ofSetLineWidth(3); - + ofBeginShape(); - for (int i = 0; i < left.size(); i++){ - ofVertex(i*2, 100 -left[i]*180.0f); + for (int i = 0; i < left.size()/2; i++){ + ofVertex(i, 100 -left[i*2]*180.0f); } ofEndShape(false); - + ofPopMatrix(); ofPopStyle(); - + /* // draw the right channel: ofPushStyle(); ofPushMatrix(); ofTranslate(32, 370, 0); - + ofSetColor(225); ofDrawBitmapString("Right Channel", 4, 18); - - ofSetLineWidth(1); + + ofSetLineWidth(1); ofRect(0, 0, 512, 200); ofSetColor(245, 58, 135); ofSetLineWidth(3); - + ofBeginShape(); - for (int i = 0; i < right.size(); i++){ - ofVertex(i*2, 100 -right[i]*180.0f); + for (int i = 0; i < right.size()/2; i++){ + ofVertex(i, 100 -right[i*2]*180.0f); } ofEndShape(false); - + ofPopMatrix(); ofPopStyle(); - + + */ // draw the average volume: ofPushStyle(); ofPushMatrix(); ofTranslate(565, 170, 0); - + ofSetColor(225); ofDrawBitmapString("Scaled average vol (0-100): " + ofToString(scaledVol * 100.0, 0), 4, 18); ofRect(0, 0, 400, 400); - + ofSetColor(245, 58, 135); - ofFill(); + ofFill(); ofCircle(200, 200, scaledVol * 190.0f); - + //lets draw the volume history as a graph ofBeginShape(); for (int i = 0; i < volHistory.size(); i++){ if( i == 0 ) ofVertex(i, 400); ofVertex(i, 400 - volHistory[i] * 70); - + if( i == volHistory.size() -1 ) ofVertex(i, 400); } - ofEndShape(false); - + ofEndShape(false); + + //draw the features history as alternate polygons in a 400x400 box : 16 seconds @ 25fps + ofPopMatrix(); ofPopStyle(); - + drawCounter++; - + ofSetColor(225); string reportString = "buffers received: "+ofToString(bufferCounter)+"\ndraw routines called: "+ofToString(drawCounter)+"\nticks: " + ofToString(soundStream.getTickCount()); + reportString +="\nfeatures found: "+ofToString(vamphost.features.size()); ofDrawBitmapString(reportString, 32, 589); - + } -void testApp::audioIn(float * input, int bufferSize, int nChannels){ +void testApp::audioIn(float * input, int bufferSize, int nChannels){ float curVol = 0.0; - + // samples are "interleaved" - int numCounted = 0; + int numCounted = 0; - //lets go through each sample and calculate the root mean square which is a rough way to calculate volume + //lets go through each sample and calculate the root mean square which is a rough way to calculate volume for (int i = 0; i < bufferSize; i++){ - left[i] = input[i*2]*0.5; - right[i] = input[i*2+1]*0.5; + //left[i] = input[i*2]*0.5; + //right[i] = input[i*2+1]*0.5; + left[i] = input[i]*0.5; curVol += left[i] * left[i]; - curVol += right[i] * right[i]; - numCounted+=2; + //curVol += right[i] * right[i]; + numCounted++; } - - //this is how we get the mean of rms :) + + //this is how we get the mean of rms :) curVol /= (float)numCounted; - - // this is how we get the root of rms :) + + // this is how we get the root of rms :) curVol = sqrt( curVol ); - + smoothedVol *= 0.93; smoothedVol += 0.07 * curVol; - + bufferCounter++; vamphost.process_frame(input,bufferSize); - + } //-------------------------------------------------------------- @@ -193,7 +198,7 @@ void testApp::keyPressed(int key){ if( key == 's' ){ soundStream.start(); } - + if( key == 'e' ){ soundStream.stop(); } diff --git a/vamphost/vamphost.cbp b/vamphost/vamphost.cbp new file mode 100755 index 0000000..4137986 --- /dev/null +++ b/vamphost/vamphost.cbp @@ -0,0 +1,51 @@ + + + + + + -- cgit v1.2.3