SlideShare ist ein Scribd-Unternehmen logo
1 von 81
Downloaden Sie, um offline zu lesen
‣


‣
    ‣
    ‣



‣

‣
    ‣
    ‣
    ‣
‣
‣
‣


‣


‣
‣
‣
‣


‣
    ‣
    ‣
    ‣

‣
‣
‣


‣
‣
‣
#pragma once
#include "ofMain.h"

class testApp : public ofBaseApp{

public:
   void setup();
   void update();
   void draw();

     ofSoundPlayer mySound;

     float * fft;

     int nBandsToGet;
};
‣
#pragma once
#include "ofMain.h"

class testApp : public ofBaseApp{

public:
   void setup();
   void update();
   void draw();

     ofSoundPlayer mySound;

     float * fft;

     int nBandsToGet;
};
‣
‣
#include   "testApp.h"

void testApp::setup(){!
   ofSetFrameRate(60);
   ofSetVerticalSync(true);
   ofSetCircleResolution(32);
   ofEnableBlendMode(OF_BLENDMODE_ADD);
   ofBackground(0, 0, 0);

    nBandsToGet = 1024;

    mySound.loadSound("sounds/drumLoop.aif");
    mySound.setLoop(true);
    mySound.play();
}

void testApp::update(){
   ofSoundUpdate();
   fft = ofSoundGetSpectrum(nBandsToGet);
}
‣
‣
#include   "testApp.h"

void testApp::setup(){!
   ofSetFrameRate(60);
   ofSetVerticalSync(true);
   ofSetCircleResolution(32);
   ofEnableBlendMode(OF_BLENDMODE_ADD);
   ofBackground(0, 0, 0);

    nBandsToGet = 1024;

    mySound.loadSound("sounds/drumLoop.aif");
    mySound.setLoop(true);
    mySound.play();
}

void testApp::update(){
   ofSoundUpdate();
   fft = ofSoundGetSpectrum(nBandsToGet);
}
‣
‣
#include   "testApp.h"

void testApp::setup(){!
   ofSetFrameRate(60);
   ofSetVerticalSync(true);
   ofSetCircleResolution(32);
   ofEnableBlendMode(OF_BLENDMODE_ADD);
   ofBackground(0, 0, 0);

    nBandsToGet = 1024;

    mySound.loadSound("sounds/drumLoop.aif");
    mySound.setLoop(true);
    mySound.play();
}

void testApp::update(){
   ofSoundUpdate();
   fft = ofSoundGetSpectrum(nBandsToGet);
}
‣
‣
#include   "testApp.h"

void testApp::setup(){!
   ofSetFrameRate(60);
   ofSetVerticalSync(true);
   ofSetCircleResolution(32);
   ofEnableBlendMode(OF_BLENDMODE_ADD);
   ofBackground(0, 0, 0);

    nBandsToGet = 1024;

    mySound.loadSound("sounds/drumLoop.aif");
    mySound.setLoop(true);
    mySound.play();
}

void testApp::update(){
   ofSoundUpdate();
   fft = ofSoundGetSpectrum(nBandsToGet);
}
‣
‣
#include   "testApp.h"

void testApp::setup(){!
   ofSetFrameRate(60);
   ofSetVerticalSync(true);
   ofSetCircleResolution(32);
   ofEnableBlendMode(OF_BLENDMODE_ADD);
   ofBackground(0, 0, 0);

    nBandsToGet = 1024;

    mySound.loadSound("sounds/drumLoop.aif");
    mySound.setLoop(true);
    mySound.play();
}

void testApp::update(){
   ofSoundUpdate();
   fft = ofSoundGetSpectrum(nBandsToGet);
}
‣
void testApp::draw(){
   float width = float(ofGetWidth()) / float(nBandsToGet) / 2.0f;

    for (int i = 0;i < nBandsToGet; i++){
       int b = float(255) / float(nBandsToGet) * i;
       int g = 31;
       int r = 255 - b;
       ofSetColor(r, g, b);

        ofCircle(ofGetWidth()/2 + width * i,
                 ofGetHeight()/2, fft[i] * 800);

        ofCircle(ofGetWidth()/2 - width * i,
                 ofGetHeight()/2, fft[i] * 800);
    }
}
‣
void testApp::draw(){
   float width = float(ofGetWidth()) / float(nBandsToGet) / 2.0f;

    for (int i = 0;i < nBandsToGet; i++){
       int b = float(255) / float(nBandsToGet) * i;
       int g = 31;
       int r = 255 - b;
       ofSetColor(r, g, b);

        ofCircle(ofGetWidth()/2 + width * i,
                 ofGetHeight()/2, fft[i] * 800);

        ofCircle(ofGetWidth()/2 - width * i,
                 ofGetHeight()/2, fft[i] * 800);
    }
}
‣
void testApp::draw(){
   float width = float(ofGetWidth()) / float(nBandsToGet) / 2.0f;

    for (int i = 0;i < nBandsToGet; i++){
       int b = float(255) / float(nBandsToGet) * i;
       int g = 31;
       int r = 255 - b;
       ofSetColor(r, g, b);

        ofCircle(ofGetWidth()/2 + width * i,
                 ofGetHeight()/2, fft[i] * 800);

        ofCircle(ofGetWidth()/2 - width * i,
                 ofGetHeight()/2, fft[i] * 800);
    }
}
‣
void testApp::draw(){
   float width = float(ofGetWidth()) / float(nBandsToGet) / 2.0f;

    for (int i = 0;i < nBandsToGet; i++){
       int b = float(255) / float(nBandsToGet) * i;
       int g = 31;
       int r = 255 - b;
       ofSetColor(r, g, b);

        ofCircle(ofGetWidth()/2 + width * i,
                 ofGetHeight()/2, fft[i] * 800);

        ofCircle(ofGetWidth()/2 - width * i,
                 ofGetHeight()/2, fft[i] * 800);
    }
}
‣
‣



‣
‣


‣
‣

‣
‣
‣
‣


‣
‣


‣
‣
‣
#ifndef _TEST_APP
#define _TEST_APP
#include "ofMain.h"

class testApp : public ofBaseApp{
public:
   void setup();
   void update();
   void draw();




    void audioIn(float * input, int bufferSize, int nChannels);
!
    vector <float> left;
    vector <float> right;
    vector <float> volHistory;
‣
#ifndef _TEST_APP
#define _TEST_APP
#include "ofMain.h"

class testApp : public ofBaseApp{
public:
   void setup();
   void update();
   void draw();




    void audioIn(float * input, int bufferSize, int nChannels);
!
    vector <float> left;
    vector <float> right;
    vector <float> volHistory;
‣
void testApp::audioIn(float * input, int bufferSize, int nChannels)
{!
! float curVol = 0.0;
! int numCounted = 0;!

!   for (int i = 0; i < bufferSize; i++){
!   !     left[i]!!   = input[i*2]*0.5;
!   !     right[i]!   = input[i*2+1]*0.5;
!   !     curVol += left[i] * left[i];
!   !     curVol += right[i] * right[i];
!   !     numCounted+=2;
!   }

!   curVol /= (float)numCounted;
!   curVol = sqrt( curVol );
!
!   smoothedVol *= 0.93;
!   smoothedVol += 0.07 * curVol;
!   bufferCounter++;!
}
‣
void testApp::audioIn(float * input, int bufferSize, int nChannels)
{!
! float curVol = 0.0;
! int numCounted = 0;!

!   for (int i = 0; i < bufferSize; i++){
!   !     left[i]!!   = input[i*2]*0.5;
!   !     right[i]!   = input[i*2+1]*0.5;
!   !     curVol += left[i] * left[i];
!   !     curVol += right[i] * right[i];
!   !     numCounted+=2;
!   }

!   curVol /= (float)numCounted;
!   curVol = sqrt( curVol );
!
!   smoothedVol *= 0.93;
!   smoothedVol += 0.07 * curVol;
!   bufferCounter++;!
}
‣
‣
#ifndef _TEST_APP
#define _TEST_APP
#include "ofMain.h"

class testApp : public ofBaseApp{
public:
   void setup();
   void update();
   void draw();



     void audioOut(float * input, int bufferSize, int nChannels);

     ofSoundStream soundStream;
     float ! pan;
     int! !   sampleRate;
     bool !   bNoise;
     float ! volume;
     vector <float> lAudio;
     vector <float> rAudio;
};

#endif
‣
#ifndef _TEST_APP
#define _TEST_APP
#include "ofMain.h"

class testApp : public ofBaseApp{
public:
   void setup();
   void update();
   void draw();



     void audioOut(float * input, int bufferSize, int nChannels);

     ofSoundStream soundStream;
     float ! pan;
     int! !   sampleRate;
     bool !   bNoise;
     float ! volume;
     vector <float> lAudio;
     vector <float> rAudio;
};

#endif
‣
void testApp::audioOut(float * output, int bufferSize, int nChannels){
   float leftScale = 1 - pan;
   float rightScale = pan;

    while (phase > TWO_PI){
       phase -= TWO_PI;
    }

    if ( bNoise == true){
       for (int i = 0; i < bufferSize; i++){
          lAudio[i] = output[i*nChannels     ]
               = ofRandom(0, 1) * volume * leftScale;
          rAudio[i] = output[i*nChannels + 1]
               = ofRandom(0, 1) * volume * rightScale;
       }
    } else {
       phaseAdder = 0.95f * phaseAdder + 0.05f * phaseAdderTarget;
       for (int i = 0; i < bufferSize; i++){
          phase += phaseAdder;
          float sample = sin(phase);
          lAudio[i] = output[i*nChannels     ] = sample * volume * leftScale;
          rAudio[i] = output[i*nChannels + 1] = sample * volume * rightScale;
       }
    }
}
‣
void testApp::audioOut(float * output, int bufferSize, int nChannels){
   float leftScale = 1 - pan;
   float rightScale = pan;

    while (phase > TWO_PI){
       phase -= TWO_PI;
    }

    if ( bNoise == true){
       for (int i = 0; i < bufferSize; i++){
          lAudio[i] = output[i*nChannels     ]
               = ofRandom(0, 1) * volume * leftScale;
          rAudio[i] = output[i*nChannels + 1]
               = ofRandom(0, 1) * volume * rightScale;
       }
    } else {
       phaseAdder = 0.95f * phaseAdder + 0.05f * phaseAdderTarget;
       for (int i = 0; i < bufferSize; i++){
          phase += phaseAdder;
          float sample = sin(phase);
          lAudio[i] = output[i*nChannels     ] = sample * volume * leftScale;
          rAudio[i] = output[i*nChannels + 1] = sample * volume * rightScale;
       }
    }
}
‣
void testApp::audioOut(float * output, int bufferSize, int nChannels){
   float leftScale = 1 - pan;
   float rightScale = pan;

    while (phase > TWO_PI){
       phase -= TWO_PI;
    }

    if ( bNoise == true){
       for (int i = 0; i < bufferSize; i++){
          lAudio[i] = output[i*nChannels     ]
               = ofRandom(0, 1) * volume * leftScale;
          rAudio[i] = output[i*nChannels + 1]
               = ofRandom(0, 1) * volume * rightScale;
       }
    } else {
       phaseAdder = 0.95f * phaseAdder + 0.05f * phaseAdderTarget;
       for (int i = 0; i < bufferSize; i++){
          phase += phaseAdder;
          float sample = sin(phase);
          lAudio[i] = output[i*nChannels     ] = sample * volume * leftScale;
          rAudio[i] = output[i*nChannels + 1] = sample * volume * rightScale;
       }
    }
}
‣
void testApp::audioOut(float * output, int bufferSize, int nChannels){
   float leftScale = 1 - pan;
   float rightScale = pan;

    while (phase > TWO_PI){
       phase -= TWO_PI;
    }

    if ( bNoise == true){
       for (int i = 0; i < bufferSize; i++){
          lAudio[i] = output[i*nChannels     ]
               = ofRandom(0, 1) * volume * leftScale;
          rAudio[i] = output[i*nChannels + 1]
               = ofRandom(0, 1) * volume * rightScale;
       }
    } else {
       phaseAdder = 0.95f * phaseAdder + 0.05f * phaseAdderTarget;
       for (int i = 0; i < bufferSize; i++){
          phase += phaseAdder;
          float sample = sin(phase);
          lAudio[i] = output[i*nChannels     ] = sample * volume * leftScale;
          rAudio[i] = output[i*nChannels + 1] = sample * volume * rightScale;
       }
    }
}
‣
void testApp::audioOut(float * output, int bufferSize, int nChannels){
   float leftScale = 1 - pan;
   float rightScale = pan;

    while (phase > TWO_PI){
       phase -= TWO_PI;
    }

    if ( bNoise == true){
       for (int i = 0; i < bufferSize; i++){
          lAudio[i] = output[i*nChannels     ]
               = ofRandom(0, 1) * volume * leftScale;
          rAudio[i] = output[i*nChannels + 1]
               = ofRandom(0, 1) * volume * rightScale;
       }
    } else {
       phaseAdder = 0.95f * phaseAdder + 0.05f * phaseAdderTarget;
       for (int i = 0; i < bufferSize; i++){
          phase += phaseAdder;
          float sample = sin(phase);
          lAudio[i] = output[i*nChannels     ] = sample * volume * leftScale;
          rAudio[i] = output[i*nChannels + 1] = sample * volume * rightScale;
       }
    }
}
‣
‣


‣
‣


‣


‣
‣


‣   http://maximilian.strangeloop.co.uk/
‣


‣
‣
‣
‣
‣
‣
‣
‣
‣
‣
#pragma once
#include "ofMain.h"
#include "ofxMaxim.h"

class testApp : public ofBaseApp{
public:
   void setup();
   void update();
   void draw();
   void keyPressed(int key);
   void audioOut(float * input, int bufferSize, int nChannels);
   void audioIn(float * input, int bufferSize, int nChannels);

     int initialBufferSize;
     int sampleRate;
     int mode;
     double wave,sample,outputs[2];

     ofxMaxiMix mymix;
     ofxMaxiOsc osc;
     vector <float> lAudio;
     vector <float> rAudio;
};
‣
void testApp::audioOut(float * output, int bufferSize, int nChannels){
   for (int i = 0; i < bufferSize; i++){
      float freq = mouseY;
      float pan = (float)mouseX / (float)ofGetWidth();

     switch (mode) {
        case 0:
           wave = osc.sinewave(freq);
           break;
        case 1:
           wave = osc.saw(freq);
           break;
        case 2:
           wave = osc.pulse(freq, 0.99);
           break;
        case 3:
           wave = osc.phasor(freq);
           break;
        case 4:
           wave = osc.triangle(freq);
           break;
        case 5:
           wave = osc.noise();
           break;
        default:
           wave = osc.sinewave(freq);
           break;
     }
‣

         mymix.stereo(wave, outputs, pan);
         lAudio[i] = output[i*nChannels    ] = outputs[0];
         rAudio[i] = output[i*nChannels + 1] = outputs[1];
    }!
}
‣
‣
‣
‣
#pragma once
#include "ofMain.h"
#include "ofxMaxim.h"


class testApp : public ofBaseApp{
public:
   ~testApp();
   void setup();
   void update();
   void draw();
   void audioOut(float * input, int bufferSize, int nChannels);
   void audioIn(float * input, int bufferSize, int nChannels);
!
   int initialBufferSize;
   int sampleRate;
   double outputs[2];
   double wave;

     ofxMaxiMix mymix;
     ofxMaxiOsc car;
     ofxMaxiOsc mod;

     vector <float> lAudio;
     vector <float> rAudio;
};
‣
#pragma once
#include "ofMain.h"
#include "ofxMaxim.h"


class testApp : public ofBaseApp{
public:
   ~testApp();
   void setup();
   void update();
   void draw();
   void audioOut(float * input, int bufferSize, int nChannels);
   void audioIn(float * input, int bufferSize, int nChannels);
!
   int initialBufferSize;
   int sampleRate;
   double outputs[2];
   double wave;

     ofxMaxiMix mymix;
     ofxMaxiOsc car;
     ofxMaxiOsc mod;

     vector <float> lAudio;
     vector <float> rAudio;
};
‣
#pragma once
#include "ofMain.h"
#include "ofxMaxim.h"


class testApp : public ofBaseApp{
public:
   ~testApp();
   void setup();
   void update();
   void draw();
   void audioOut(float * input, int bufferSize, int nChannels);
   void audioIn(float * input, int bufferSize, int nChannels);
!
   int initialBufferSize;
   int sampleRate;
   double outputs[2];
   double wave;

     ofxMaxiMix mymix;
     ofxMaxiOsc car;
     ofxMaxiOsc mod;

     vector <float> lAudio;
     vector <float> rAudio;
};
‣
void testApp::audioOut(float * output, int bufferSize, int nChannels){
   for (int i = 0; i < bufferSize; i++){

      float index, modFreq;
      ofMap(modFreq, 0, mouseX, 20, 8000);
      ofMap(index, 0, mouseY, 1, 2000);

      wave = car.sinewave(mouseY*mod.sinewave(mouseX/10)+440);
      mymix.stereo(wave, outputs, 0.5);

      lAudio[i] = output[i*nChannels    ] = outputs[0];
      rAudio[i] = output[i*nChannels + 1] = outputs[1];
! }
}
‣
void testApp::audioOut(float * output, int bufferSize, int nChannels){
   for (int i = 0; i < bufferSize; i++){

      float index, modFreq;
      ofMap(modFreq, 0, mouseX, 20, 8000);
      ofMap(index, 0, mouseY, 1, 2000);

      wave = car.sinewave(mouseY*mod.sinewave(mouseX/10)+440);
      mymix.stereo(wave, outputs, 0.5);

      lAudio[i] = output[i*nChannels    ] = outputs[0];
      rAudio[i] = output[i*nChannels + 1] = outputs[1];
! }
}
‣
void testApp::audioOut(float * output, int bufferSize, int nChannels){
   for (int i = 0; i < bufferSize; i++){

      float index, modFreq;
      ofMap(modFreq, 0, mouseX, 20, 8000);
      ofMap(index, 0, mouseY, 1, 2000);

      wave = car.sinewave(mouseY*mod.sinewave(mouseX/10)+440);
      mymix.stereo(wave, outputs, 0.5);

      lAudio[i] = output[i*nChannels    ] = outputs[0];
      rAudio[i] = output[i*nChannels + 1] = outputs[1];
! }
}
‣
void testApp::audioOut(float * output, int bufferSize, int nChannels){
   for (int i = 0; i < bufferSize; i++){

      float index, modFreq;
      ofMap(modFreq, 0, mouseX, 20, 8000);
      ofMap(index, 0, mouseY, 1, 2000);

      wave = car.sinewave(mouseY*mod.sinewave(mouseX/10)+440);
      mymix.stereo(wave, outputs, 0.5);

      lAudio[i] = output[i*nChannels    ] = outputs[0];
      rAudio[i] = output[i*nChannels + 1] = outputs[1];
! }
}
‣
void testApp::audioOut(float * output, int bufferSize, int nChannels){
   for (int i = 0; i < bufferSize; i++){

      float index, modFreq;
      ofMap(modFreq, 0, mouseX, 20, 8000);
      ofMap(index, 0, mouseY, 1, 2000);

      wave = car.sinewave(mouseY*mod.sinewave(mouseX/10)+440);
      mymix.stereo(wave, outputs, 0.5);

      lAudio[i] = output[i*nChannels    ] = outputs[0];
      rAudio[i] = output[i*nChannels + 1] = outputs[1];
! }
}
‣
‣


    ‣
‣


    ‣
‣


    ‣
    ‣


    ‣
    ‣
‣


    ‣
        ‣
        ‣
        ‣
        ‣
        ‣
        ‣


    ‣
        ‣
        ‣
        ‣
        ‣
        ‣
‣


    ‣
        ‣
        ‣
‣


    ‣
‣
‣
‣
‣
‣
‣
‣
‣
‣
‣
‣
‣



‣
‣



‣
‣


‣
‣
‣
‣
‣




‣
‣


‣


‣
‣
‣
‣
‣
SynthDef("reverb", {
	    arg wet=1.0;
	    var in, fx;
	    in = In.ar(0, 2);
	    fx = in;
	    fx = GVerb.ar(fx, 80);
	    ReplaceOut.ar(0, fx);
}).store;

SynthDef("baseSound", {
	    arg note=40, amp=0.1, fadein=12.0;
	    var env, out;
	    env = EnvGen.kr(Env.new([0, amp], [fadein]));
	    out = RLPF.ar(LFPulse.ar([note, note+7].midicps, 0.15),
                   SinOsc.kr(0.1, 0, 10, 72).midicps, 0.1, 0.1);
	    Out.ar(0, out*env);
}).store;

SynthDef("newRing", {
	    arg note=40, amp=0.5, pan = 0.0, decay=4.0;
	    var env1, out1, env2, out2, mix;
	    out1 = RLPF.ar(LFPulse.ar([note, note+7].midicps, 0.15),
                     SinOsc.kr(0.1, 0, 10, 72).midicps, 0.1, 0.1);
	    out2 = SinOsc.ar([(note+48).midicps, (note+55).midicps]);
	    env1 = EnvGen.kr(Env.perc(decay/4.0, decay/4.0*3.0, amp, -4), doneAction: 2);
	    env2 = EnvGen.kr(Env.adsr(0.001, 0.4, 0.0, decay, amp*0.1, -4));
	    mix = (out1 * env1) + (out2 * env2);
	    mix = CombN.ar(mix, 0.31, 0.31, 2, 0.5, mix);
	    Out.ar(0, mix);
}).store;
‣


‣
‣
‣
‣


‣http://goo.gl/9rH4K
‣
‣
‣
‣

Weitere ähnliche Inhalte

Was ist angesagt?

Travel management
Travel managementTravel management
Travel management1Parimal2
 
Programs for Operating System
Programs for Operating SystemPrograms for Operating System
Programs for Operating SystemLPU
 
Os lab file c programs
Os lab file c programsOs lab file c programs
Os lab file c programsKandarp Tiwari
 
Wap to implement bitwise operators
Wap to implement bitwise operatorsWap to implement bitwise operators
Wap to implement bitwise operatorsHarleen Sodhi
 
Lab manual operating system [cs 502 rgpv] (usefulsearch.org) (useful search)
Lab manual operating system [cs 502 rgpv] (usefulsearch.org)  (useful search)Lab manual operating system [cs 502 rgpv] (usefulsearch.org)  (useful search)
Lab manual operating system [cs 502 rgpv] (usefulsearch.org) (useful search)Make Mannan
 
Tarea De Scilab By Sebastian Vasquez
Tarea De Scilab By Sebastian VasquezTarea De Scilab By Sebastian Vasquez
Tarea De Scilab By Sebastian VasquezSebastian Vasquez
 
Data Structure - 2nd Study
Data Structure - 2nd StudyData Structure - 2nd Study
Data Structure - 2nd StudyChris Ohk
 
Stabilizer: Statistically Sound Performance Evaluation
Stabilizer: Statistically Sound Performance EvaluationStabilizer: Statistically Sound Performance Evaluation
Stabilizer: Statistically Sound Performance EvaluationEmery Berger
 
Tilting Google Maps and MissileLauncher
Tilting Google Maps and MissileLauncherTilting Google Maps and MissileLauncher
Tilting Google Maps and MissileLauncherTatsuhiko Miyagawa
 
Cn os-lp lab manual k.roshan
Cn os-lp lab manual k.roshanCn os-lp lab manual k.roshan
Cn os-lp lab manual k.roshanriturajj
 

Was ist angesagt? (19)

Os lab 1st mid
Os lab 1st midOs lab 1st mid
Os lab 1st mid
 
Travel management
Travel managementTravel management
Travel management
 
Programs for Operating System
Programs for Operating SystemPrograms for Operating System
Programs for Operating System
 
Os lab file c programs
Os lab file c programsOs lab file c programs
Os lab file c programs
 
Wap to implement bitwise operators
Wap to implement bitwise operatorsWap to implement bitwise operators
Wap to implement bitwise operators
 
Lab manual operating system [cs 502 rgpv] (usefulsearch.org) (useful search)
Lab manual operating system [cs 502 rgpv] (usefulsearch.org)  (useful search)Lab manual operating system [cs 502 rgpv] (usefulsearch.org)  (useful search)
Lab manual operating system [cs 502 rgpv] (usefulsearch.org) (useful search)
 
Tarea De Scilab By Sebastian Vasquez
Tarea De Scilab By Sebastian VasquezTarea De Scilab By Sebastian Vasquez
Tarea De Scilab By Sebastian Vasquez
 
Data Structure - 2nd Study
Data Structure - 2nd StudyData Structure - 2nd Study
Data Structure - 2nd Study
 
Circular queue
Circular queueCircular queue
Circular queue
 
Gpus graal
Gpus graalGpus graal
Gpus graal
 
662305 11
662305 11662305 11
662305 11
 
Blocks+gcd入門
Blocks+gcd入門Blocks+gcd入門
Blocks+gcd入門
 
Rcpp11 genentech
Rcpp11 genentechRcpp11 genentech
Rcpp11 genentech
 
ADA FILE
ADA FILEADA FILE
ADA FILE
 
Rxjs kyivjs 2015
Rxjs kyivjs 2015Rxjs kyivjs 2015
Rxjs kyivjs 2015
 
Stabilizer: Statistically Sound Performance Evaluation
Stabilizer: Statistically Sound Performance EvaluationStabilizer: Statistically Sound Performance Evaluation
Stabilizer: Statistically Sound Performance Evaluation
 
Daa practicals
Daa practicalsDaa practicals
Daa practicals
 
Tilting Google Maps and MissileLauncher
Tilting Google Maps and MissileLauncherTilting Google Maps and MissileLauncher
Tilting Google Maps and MissileLauncher
 
Cn os-lp lab manual k.roshan
Cn os-lp lab manual k.roshanCn os-lp lab manual k.roshan
Cn os-lp lab manual k.roshan
 

Ähnlich wie OF Sound Visualization

Paradigmas de Linguagens de Programacao - Aula #4
Paradigmas de Linguagens de Programacao - Aula #4Paradigmas de Linguagens de Programacao - Aula #4
Paradigmas de Linguagens de Programacao - Aula #4Ismar Silveira
 
Apache PIG - User Defined Functions
Apache PIG - User Defined FunctionsApache PIG - User Defined Functions
Apache PIG - User Defined FunctionsChristoph Bauer
 
12 lec 12 loop
12 lec 12 loop 12 lec 12 loop
12 lec 12 loop kapil078
 
Go: It's Not Just For Google
Go: It's Not Just For GoogleGo: It's Not Just For Google
Go: It's Not Just For GoogleEleanor McHugh
 
Bti1022 lab sheet 8
Bti1022 lab sheet 8Bti1022 lab sheet 8
Bti1022 lab sheet 8alish sha
 
Bti1022 lab sheet 8
Bti1022 lab sheet 8Bti1022 lab sheet 8
Bti1022 lab sheet 8alish sha
 
Part 1 1)#include stdio.hint testWhileLoop() ; int testFo.pdf
Part 1 1)#include stdio.hint testWhileLoop() ; int testFo.pdfPart 1 1)#include stdio.hint testWhileLoop() ; int testFo.pdf
Part 1 1)#include stdio.hint testWhileLoop() ; int testFo.pdfLalkamal2
 
How to add an optimization for C# to RyuJIT
How to add an optimization for C# to RyuJITHow to add an optimization for C# to RyuJIT
How to add an optimization for C# to RyuJITEgor Bogatov
 
Programming ppt files (final)
Programming ppt files (final)Programming ppt files (final)
Programming ppt files (final)yap_raiza
 
Daapracticals 111105084852-phpapp02
Daapracticals 111105084852-phpapp02Daapracticals 111105084852-phpapp02
Daapracticals 111105084852-phpapp02Er Ritu Aggarwal
 
20191116 custom operators in swift
20191116 custom operators in swift20191116 custom operators in swift
20191116 custom operators in swiftChiwon Song
 

Ähnlich wie OF Sound Visualization (20)

Sbaw090623
Sbaw090623Sbaw090623
Sbaw090623
 
Paradigmas de Linguagens de Programacao - Aula #4
Paradigmas de Linguagens de Programacao - Aula #4Paradigmas de Linguagens de Programacao - Aula #4
Paradigmas de Linguagens de Programacao - Aula #4
 
Sbaw090519
Sbaw090519Sbaw090519
Sbaw090519
 
Unit2 C
Unit2 C Unit2 C
Unit2 C
 
Unit2 C
Unit2 CUnit2 C
Unit2 C
 
Apache PIG - User Defined Functions
Apache PIG - User Defined FunctionsApache PIG - User Defined Functions
Apache PIG - User Defined Functions
 
Of class3
Of class3Of class3
Of class3
 
12 lec 12 loop
12 lec 12 loop 12 lec 12 loop
12 lec 12 loop
 
Go: It's Not Just For Google
Go: It's Not Just For GoogleGo: It's Not Just For Google
Go: It's Not Just For Google
 
Bti1022 lab sheet 8
Bti1022 lab sheet 8Bti1022 lab sheet 8
Bti1022 lab sheet 8
 
Bti1022 lab sheet 8
Bti1022 lab sheet 8Bti1022 lab sheet 8
Bti1022 lab sheet 8
 
Cpds lab
Cpds labCpds lab
Cpds lab
 
Part 1 1)#include stdio.hint testWhileLoop() ; int testFo.pdf
Part 1 1)#include stdio.hint testWhileLoop() ; int testFo.pdfPart 1 1)#include stdio.hint testWhileLoop() ; int testFo.pdf
Part 1 1)#include stdio.hint testWhileLoop() ; int testFo.pdf
 
Ssaw08 0624
Ssaw08 0624Ssaw08 0624
Ssaw08 0624
 
How to add an optimization for C# to RyuJIT
How to add an optimization for C# to RyuJITHow to add an optimization for C# to RyuJIT
How to add an optimization for C# to RyuJIT
 
Programming ppt files (final)
Programming ppt files (final)Programming ppt files (final)
Programming ppt files (final)
 
Daapracticals 111105084852-phpapp02
Daapracticals 111105084852-phpapp02Daapracticals 111105084852-phpapp02
Daapracticals 111105084852-phpapp02
 
Stack prgs
Stack prgsStack prgs
Stack prgs
 
StewartPlatform_cpp
StewartPlatform_cppStewartPlatform_cpp
StewartPlatform_cpp
 
20191116 custom operators in swift
20191116 custom operators in swift20191116 custom operators in swift
20191116 custom operators in swift
 

Mehr von Atsushi Tadokoro

「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望Atsushi Tadokoro
 
プログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめようプログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめようAtsushi Tadokoro
 
Interactive Music II ProcessingとSuperColliderの連携 -2
Interactive Music II ProcessingとSuperColliderの連携 -2Interactive Music II ProcessingとSuperColliderの連携 -2
Interactive Music II ProcessingとSuperColliderの連携 -2Atsushi Tadokoro
 
coma Creators session vol.2
coma Creators session vol.2coma Creators session vol.2
coma Creators session vol.2Atsushi Tadokoro
 
Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1Atsushi Tadokoro
 
Interactive Music II Processingによるアニメーション
Interactive Music II ProcessingによるアニメーションInteractive Music II Processingによるアニメーション
Interactive Music II ProcessingによるアニメーションAtsushi Tadokoro
 
Interactive Music II Processing基本
Interactive Music II Processing基本Interactive Music II Processing基本
Interactive Music II Processing基本Atsushi Tadokoro
 
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携Atsushi Tadokoro
 
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス
Media Art II openFrameworks  アプリ間の通信とタンジブルなインターフェイス Media Art II openFrameworks  アプリ間の通信とタンジブルなインターフェイス
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス Atsushi Tadokoro
 
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)Atsushi Tadokoro
 
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描くiTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描くAtsushi Tadokoro
 
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリメディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリAtsushi Tadokoro
 
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う
芸術情報演習デザイン(Web)  第8回: CSSフレームワークを使う芸術情報演習デザイン(Web)  第8回: CSSフレームワークを使う
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使うAtsushi Tadokoro
 
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2Atsushi Tadokoro
 
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得Atsushi Tadokoro
 
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3DプログラミングWebデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3DプログラミングAtsushi Tadokoro
 
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1Atsushi Tadokoro
 
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画するiTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画するAtsushi Tadokoro
 
Media Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替えMedia Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替えAtsushi Tadokoro
 

Mehr von Atsushi Tadokoro (20)

「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
「クリエイティブ・ミュージック・コーディング」- オーディオ・ビジュアル作品のための、オープンソースなソフトウエア・フレームワークの現状と展望
 
プログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめようプログラム初級講座 - メディア芸術をはじめよう
プログラム初級講座 - メディア芸術をはじめよう
 
Interactive Music II ProcessingとSuperColliderの連携 -2
Interactive Music II ProcessingとSuperColliderの連携 -2Interactive Music II ProcessingとSuperColliderの連携 -2
Interactive Music II ProcessingとSuperColliderの連携 -2
 
coma Creators session vol.2
coma Creators session vol.2coma Creators session vol.2
coma Creators session vol.2
 
Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1Interactive Music II ProcessingとSuperColliderの連携1
Interactive Music II ProcessingとSuperColliderの連携1
 
Interactive Music II Processingによるアニメーション
Interactive Music II ProcessingによるアニメーションInteractive Music II Processingによるアニメーション
Interactive Music II Processingによるアニメーション
 
Interactive Music II Processing基本
Interactive Music II Processing基本Interactive Music II Processing基本
Interactive Music II Processing基本
 
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
Interactive Music II SuperCollider応用 2 - SuperColliderとPure Dataの連携
 
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス
Media Art II openFrameworks  アプリ間の通信とタンジブルなインターフェイス Media Art II openFrameworks  アプリ間の通信とタンジブルなインターフェイス
Media Art II openFrameworks アプリ間の通信とタンジブルなインターフェイス
 
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
Interactive Music II SuperCollider応用 - SuperColliderと OSC (Open Sound Control)
 
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描くiTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
iTamabi 13 ARTSAT API 実践 5 - 衛星の軌道を描く
 
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリメディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
メディア芸術基礎 II 第11回:HTML5実践 表現のための様々なJavaScriptライブラリ
 
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う
芸術情報演習デザイン(Web)  第8回: CSSフレームワークを使う芸術情報演習デザイン(Web)  第8回: CSSフレームワークを使う
芸術情報演習デザイン(Web) 第8回: CSSフレームワークを使う
 
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 2
 
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
iTamabi 13 第9回:ARTSAT API 実践 3 ジオコーディングで衛星の位置を取得
 
Tamabi media131118
Tamabi media131118Tamabi media131118
Tamabi media131118
 
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3DプログラミングWebデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
Webデザイン 第10回:HTML5実践 Three.jsで3Dプログラミング
 
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
Interactive Music II SuperCollider応用 JITLib - ライブコーディング 1
 
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画するiTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
iTamabi 13 第8回:ARTSAT API 実践 2 衛星アプリを企画する
 
Media Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替えMedia Art II openFrameworks 複数のシーンの管理・切替え
Media Art II openFrameworks 複数のシーンの管理・切替え
 

Kürzlich hochgeladen

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 

Kürzlich hochgeladen (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 

OF Sound Visualization

  • 1.
  • 2. ‣ ‣ ‣ ‣ ‣ ‣ ‣ ‣ ‣
  • 3.
  • 5. ‣ ‣ ‣ ‣ ‣ ‣ ‣ ‣ ‣
  • 7. ‣ #pragma once #include "ofMain.h" class testApp : public ofBaseApp{ public: void setup(); void update(); void draw(); ofSoundPlayer mySound; float * fft; int nBandsToGet; };
  • 8. ‣ #pragma once #include "ofMain.h" class testApp : public ofBaseApp{ public: void setup(); void update(); void draw(); ofSoundPlayer mySound; float * fft; int nBandsToGet; };
  • 9. ‣ ‣ #include "testApp.h" void testApp::setup(){! ofSetFrameRate(60); ofSetVerticalSync(true); ofSetCircleResolution(32); ofEnableBlendMode(OF_BLENDMODE_ADD); ofBackground(0, 0, 0); nBandsToGet = 1024; mySound.loadSound("sounds/drumLoop.aif"); mySound.setLoop(true); mySound.play(); } void testApp::update(){ ofSoundUpdate(); fft = ofSoundGetSpectrum(nBandsToGet); }
  • 10. ‣ ‣ #include "testApp.h" void testApp::setup(){! ofSetFrameRate(60); ofSetVerticalSync(true); ofSetCircleResolution(32); ofEnableBlendMode(OF_BLENDMODE_ADD); ofBackground(0, 0, 0); nBandsToGet = 1024; mySound.loadSound("sounds/drumLoop.aif"); mySound.setLoop(true); mySound.play(); } void testApp::update(){ ofSoundUpdate(); fft = ofSoundGetSpectrum(nBandsToGet); }
  • 11. ‣ ‣ #include "testApp.h" void testApp::setup(){! ofSetFrameRate(60); ofSetVerticalSync(true); ofSetCircleResolution(32); ofEnableBlendMode(OF_BLENDMODE_ADD); ofBackground(0, 0, 0); nBandsToGet = 1024; mySound.loadSound("sounds/drumLoop.aif"); mySound.setLoop(true); mySound.play(); } void testApp::update(){ ofSoundUpdate(); fft = ofSoundGetSpectrum(nBandsToGet); }
  • 12. ‣ ‣ #include "testApp.h" void testApp::setup(){! ofSetFrameRate(60); ofSetVerticalSync(true); ofSetCircleResolution(32); ofEnableBlendMode(OF_BLENDMODE_ADD); ofBackground(0, 0, 0); nBandsToGet = 1024; mySound.loadSound("sounds/drumLoop.aif"); mySound.setLoop(true); mySound.play(); } void testApp::update(){ ofSoundUpdate(); fft = ofSoundGetSpectrum(nBandsToGet); }
  • 13. ‣ ‣ #include "testApp.h" void testApp::setup(){! ofSetFrameRate(60); ofSetVerticalSync(true); ofSetCircleResolution(32); ofEnableBlendMode(OF_BLENDMODE_ADD); ofBackground(0, 0, 0); nBandsToGet = 1024; mySound.loadSound("sounds/drumLoop.aif"); mySound.setLoop(true); mySound.play(); } void testApp::update(){ ofSoundUpdate(); fft = ofSoundGetSpectrum(nBandsToGet); }
  • 14. ‣ void testApp::draw(){ float width = float(ofGetWidth()) / float(nBandsToGet) / 2.0f; for (int i = 0;i < nBandsToGet; i++){ int b = float(255) / float(nBandsToGet) * i; int g = 31; int r = 255 - b; ofSetColor(r, g, b); ofCircle(ofGetWidth()/2 + width * i, ofGetHeight()/2, fft[i] * 800); ofCircle(ofGetWidth()/2 - width * i, ofGetHeight()/2, fft[i] * 800); } }
  • 15. ‣ void testApp::draw(){ float width = float(ofGetWidth()) / float(nBandsToGet) / 2.0f; for (int i = 0;i < nBandsToGet; i++){ int b = float(255) / float(nBandsToGet) * i; int g = 31; int r = 255 - b; ofSetColor(r, g, b); ofCircle(ofGetWidth()/2 + width * i, ofGetHeight()/2, fft[i] * 800); ofCircle(ofGetWidth()/2 - width * i, ofGetHeight()/2, fft[i] * 800); } }
  • 16. ‣ void testApp::draw(){ float width = float(ofGetWidth()) / float(nBandsToGet) / 2.0f; for (int i = 0;i < nBandsToGet; i++){ int b = float(255) / float(nBandsToGet) * i; int g = 31; int r = 255 - b; ofSetColor(r, g, b); ofCircle(ofGetWidth()/2 + width * i, ofGetHeight()/2, fft[i] * 800); ofCircle(ofGetWidth()/2 - width * i, ofGetHeight()/2, fft[i] * 800); } }
  • 17. ‣ void testApp::draw(){ float width = float(ofGetWidth()) / float(nBandsToGet) / 2.0f; for (int i = 0;i < nBandsToGet; i++){ int b = float(255) / float(nBandsToGet) * i; int g = 31; int r = 255 - b; ofSetColor(r, g, b); ofCircle(ofGetWidth()/2 + width * i, ofGetHeight()/2, fft[i] * 800); ofCircle(ofGetWidth()/2 - width * i, ofGetHeight()/2, fft[i] * 800); } }
  • 18.
  • 19.
  • 22. ‣ #ifndef _TEST_APP #define _TEST_APP #include "ofMain.h" class testApp : public ofBaseApp{ public: void setup(); void update(); void draw(); void audioIn(float * input, int bufferSize, int nChannels); ! vector <float> left; vector <float> right; vector <float> volHistory;
  • 23. ‣ #ifndef _TEST_APP #define _TEST_APP #include "ofMain.h" class testApp : public ofBaseApp{ public: void setup(); void update(); void draw(); void audioIn(float * input, int bufferSize, int nChannels); ! vector <float> left; vector <float> right; vector <float> volHistory;
  • 24. ‣ void testApp::audioIn(float * input, int bufferSize, int nChannels) {! ! float curVol = 0.0; ! int numCounted = 0;! ! for (int i = 0; i < bufferSize; i++){ ! ! left[i]!! = input[i*2]*0.5; ! ! right[i]! = input[i*2+1]*0.5; ! ! curVol += left[i] * left[i]; ! ! curVol += right[i] * right[i]; ! ! numCounted+=2; ! } ! curVol /= (float)numCounted; ! curVol = sqrt( curVol ); ! ! smoothedVol *= 0.93; ! smoothedVol += 0.07 * curVol; ! bufferCounter++;! }
  • 25. ‣ void testApp::audioIn(float * input, int bufferSize, int nChannels) {! ! float curVol = 0.0; ! int numCounted = 0;! ! for (int i = 0; i < bufferSize; i++){ ! ! left[i]!! = input[i*2]*0.5; ! ! right[i]! = input[i*2+1]*0.5; ! ! curVol += left[i] * left[i]; ! ! curVol += right[i] * right[i]; ! ! numCounted+=2; ! } ! curVol /= (float)numCounted; ! curVol = sqrt( curVol ); ! ! smoothedVol *= 0.93; ! smoothedVol += 0.07 * curVol; ! bufferCounter++;! }
  • 26.
  • 27. ‣ #ifndef _TEST_APP #define _TEST_APP #include "ofMain.h" class testApp : public ofBaseApp{ public: void setup(); void update(); void draw(); void audioOut(float * input, int bufferSize, int nChannels); ofSoundStream soundStream; float ! pan; int! ! sampleRate; bool ! bNoise; float ! volume; vector <float> lAudio; vector <float> rAudio; }; #endif
  • 28. ‣ #ifndef _TEST_APP #define _TEST_APP #include "ofMain.h" class testApp : public ofBaseApp{ public: void setup(); void update(); void draw(); void audioOut(float * input, int bufferSize, int nChannels); ofSoundStream soundStream; float ! pan; int! ! sampleRate; bool ! bNoise; float ! volume; vector <float> lAudio; vector <float> rAudio; }; #endif
  • 29. ‣ void testApp::audioOut(float * output, int bufferSize, int nChannels){ float leftScale = 1 - pan; float rightScale = pan; while (phase > TWO_PI){ phase -= TWO_PI; } if ( bNoise == true){ for (int i = 0; i < bufferSize; i++){ lAudio[i] = output[i*nChannels ] = ofRandom(0, 1) * volume * leftScale; rAudio[i] = output[i*nChannels + 1] = ofRandom(0, 1) * volume * rightScale; } } else { phaseAdder = 0.95f * phaseAdder + 0.05f * phaseAdderTarget; for (int i = 0; i < bufferSize; i++){ phase += phaseAdder; float sample = sin(phase); lAudio[i] = output[i*nChannels ] = sample * volume * leftScale; rAudio[i] = output[i*nChannels + 1] = sample * volume * rightScale; } } }
  • 30. ‣ void testApp::audioOut(float * output, int bufferSize, int nChannels){ float leftScale = 1 - pan; float rightScale = pan; while (phase > TWO_PI){ phase -= TWO_PI; } if ( bNoise == true){ for (int i = 0; i < bufferSize; i++){ lAudio[i] = output[i*nChannels ] = ofRandom(0, 1) * volume * leftScale; rAudio[i] = output[i*nChannels + 1] = ofRandom(0, 1) * volume * rightScale; } } else { phaseAdder = 0.95f * phaseAdder + 0.05f * phaseAdderTarget; for (int i = 0; i < bufferSize; i++){ phase += phaseAdder; float sample = sin(phase); lAudio[i] = output[i*nChannels ] = sample * volume * leftScale; rAudio[i] = output[i*nChannels + 1] = sample * volume * rightScale; } } }
  • 31. ‣ void testApp::audioOut(float * output, int bufferSize, int nChannels){ float leftScale = 1 - pan; float rightScale = pan; while (phase > TWO_PI){ phase -= TWO_PI; } if ( bNoise == true){ for (int i = 0; i < bufferSize; i++){ lAudio[i] = output[i*nChannels ] = ofRandom(0, 1) * volume * leftScale; rAudio[i] = output[i*nChannels + 1] = ofRandom(0, 1) * volume * rightScale; } } else { phaseAdder = 0.95f * phaseAdder + 0.05f * phaseAdderTarget; for (int i = 0; i < bufferSize; i++){ phase += phaseAdder; float sample = sin(phase); lAudio[i] = output[i*nChannels ] = sample * volume * leftScale; rAudio[i] = output[i*nChannels + 1] = sample * volume * rightScale; } } }
  • 32. ‣ void testApp::audioOut(float * output, int bufferSize, int nChannels){ float leftScale = 1 - pan; float rightScale = pan; while (phase > TWO_PI){ phase -= TWO_PI; } if ( bNoise == true){ for (int i = 0; i < bufferSize; i++){ lAudio[i] = output[i*nChannels ] = ofRandom(0, 1) * volume * leftScale; rAudio[i] = output[i*nChannels + 1] = ofRandom(0, 1) * volume * rightScale; } } else { phaseAdder = 0.95f * phaseAdder + 0.05f * phaseAdderTarget; for (int i = 0; i < bufferSize; i++){ phase += phaseAdder; float sample = sin(phase); lAudio[i] = output[i*nChannels ] = sample * volume * leftScale; rAudio[i] = output[i*nChannels + 1] = sample * volume * rightScale; } } }
  • 33. ‣ void testApp::audioOut(float * output, int bufferSize, int nChannels){ float leftScale = 1 - pan; float rightScale = pan; while (phase > TWO_PI){ phase -= TWO_PI; } if ( bNoise == true){ for (int i = 0; i < bufferSize; i++){ lAudio[i] = output[i*nChannels ] = ofRandom(0, 1) * volume * leftScale; rAudio[i] = output[i*nChannels + 1] = ofRandom(0, 1) * volume * rightScale; } } else { phaseAdder = 0.95f * phaseAdder + 0.05f * phaseAdderTarget; for (int i = 0; i < bufferSize; i++){ phase += phaseAdder; float sample = sin(phase); lAudio[i] = output[i*nChannels ] = sample * volume * leftScale; rAudio[i] = output[i*nChannels + 1] = sample * volume * rightScale; } } }
  • 34.
  • 36.
  • 37. ‣ ‣ http://maximilian.strangeloop.co.uk/
  • 41. ‣ #pragma once #include "ofMain.h" #include "ofxMaxim.h" class testApp : public ofBaseApp{ public: void setup(); void update(); void draw(); void keyPressed(int key); void audioOut(float * input, int bufferSize, int nChannels); void audioIn(float * input, int bufferSize, int nChannels); int initialBufferSize; int sampleRate; int mode; double wave,sample,outputs[2]; ofxMaxiMix mymix; ofxMaxiOsc osc; vector <float> lAudio; vector <float> rAudio; };
  • 42. ‣ void testApp::audioOut(float * output, int bufferSize, int nChannels){ for (int i = 0; i < bufferSize; i++){ float freq = mouseY; float pan = (float)mouseX / (float)ofGetWidth(); switch (mode) { case 0: wave = osc.sinewave(freq); break; case 1: wave = osc.saw(freq); break; case 2: wave = osc.pulse(freq, 0.99); break; case 3: wave = osc.phasor(freq); break; case 4: wave = osc.triangle(freq); break; case 5: wave = osc.noise(); break; default: wave = osc.sinewave(freq); break; }
  • 43. mymix.stereo(wave, outputs, pan); lAudio[i] = output[i*nChannels ] = outputs[0]; rAudio[i] = output[i*nChannels + 1] = outputs[1]; }! }
  • 44.
  • 46. ‣ #pragma once #include "ofMain.h" #include "ofxMaxim.h" class testApp : public ofBaseApp{ public: ~testApp(); void setup(); void update(); void draw(); void audioOut(float * input, int bufferSize, int nChannels); void audioIn(float * input, int bufferSize, int nChannels); ! int initialBufferSize; int sampleRate; double outputs[2]; double wave; ofxMaxiMix mymix; ofxMaxiOsc car; ofxMaxiOsc mod; vector <float> lAudio; vector <float> rAudio; };
  • 47. ‣ #pragma once #include "ofMain.h" #include "ofxMaxim.h" class testApp : public ofBaseApp{ public: ~testApp(); void setup(); void update(); void draw(); void audioOut(float * input, int bufferSize, int nChannels); void audioIn(float * input, int bufferSize, int nChannels); ! int initialBufferSize; int sampleRate; double outputs[2]; double wave; ofxMaxiMix mymix; ofxMaxiOsc car; ofxMaxiOsc mod; vector <float> lAudio; vector <float> rAudio; };
  • 48. ‣ #pragma once #include "ofMain.h" #include "ofxMaxim.h" class testApp : public ofBaseApp{ public: ~testApp(); void setup(); void update(); void draw(); void audioOut(float * input, int bufferSize, int nChannels); void audioIn(float * input, int bufferSize, int nChannels); ! int initialBufferSize; int sampleRate; double outputs[2]; double wave; ofxMaxiMix mymix; ofxMaxiOsc car; ofxMaxiOsc mod; vector <float> lAudio; vector <float> rAudio; };
  • 49. ‣ void testApp::audioOut(float * output, int bufferSize, int nChannels){ for (int i = 0; i < bufferSize; i++){ float index, modFreq; ofMap(modFreq, 0, mouseX, 20, 8000); ofMap(index, 0, mouseY, 1, 2000); wave = car.sinewave(mouseY*mod.sinewave(mouseX/10)+440); mymix.stereo(wave, outputs, 0.5); lAudio[i] = output[i*nChannels ] = outputs[0]; rAudio[i] = output[i*nChannels + 1] = outputs[1]; ! } }
  • 50. ‣ void testApp::audioOut(float * output, int bufferSize, int nChannels){ for (int i = 0; i < bufferSize; i++){ float index, modFreq; ofMap(modFreq, 0, mouseX, 20, 8000); ofMap(index, 0, mouseY, 1, 2000); wave = car.sinewave(mouseY*mod.sinewave(mouseX/10)+440); mymix.stereo(wave, outputs, 0.5); lAudio[i] = output[i*nChannels ] = outputs[0]; rAudio[i] = output[i*nChannels + 1] = outputs[1]; ! } }
  • 51. ‣ void testApp::audioOut(float * output, int bufferSize, int nChannels){ for (int i = 0; i < bufferSize; i++){ float index, modFreq; ofMap(modFreq, 0, mouseX, 20, 8000); ofMap(index, 0, mouseY, 1, 2000); wave = car.sinewave(mouseY*mod.sinewave(mouseX/10)+440); mymix.stereo(wave, outputs, 0.5); lAudio[i] = output[i*nChannels ] = outputs[0]; rAudio[i] = output[i*nChannels + 1] = outputs[1]; ! } }
  • 52. ‣ void testApp::audioOut(float * output, int bufferSize, int nChannels){ for (int i = 0; i < bufferSize; i++){ float index, modFreq; ofMap(modFreq, 0, mouseX, 20, 8000); ofMap(index, 0, mouseY, 1, 2000); wave = car.sinewave(mouseY*mod.sinewave(mouseX/10)+440); mymix.stereo(wave, outputs, 0.5); lAudio[i] = output[i*nChannels ] = outputs[0]; rAudio[i] = output[i*nChannels + 1] = outputs[1]; ! } }
  • 53. ‣ void testApp::audioOut(float * output, int bufferSize, int nChannels){ for (int i = 0; i < bufferSize; i++){ float index, modFreq; ofMap(modFreq, 0, mouseX, 20, 8000); ofMap(index, 0, mouseY, 1, 2000); wave = car.sinewave(mouseY*mod.sinewave(mouseX/10)+440); mymix.stereo(wave, outputs, 0.5); lAudio[i] = output[i*nChannels ] = outputs[0]; rAudio[i] = output[i*nChannels + 1] = outputs[1]; ! } }
  • 54.
  • 55.
  • 56.
  • 57.
  • 58. ‣ ‣ ‣ ‣
  • 59. ‣ ‣ ‣ ‣ ‣ ‣ ‣ ‣ ‣ ‣ ‣ ‣ ‣
  • 60. ‣ ‣ ‣
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 69.
  • 72.
  • 75.
  • 77. ‣ SynthDef("reverb", { arg wet=1.0; var in, fx; in = In.ar(0, 2); fx = in; fx = GVerb.ar(fx, 80); ReplaceOut.ar(0, fx); }).store; SynthDef("baseSound", { arg note=40, amp=0.1, fadein=12.0; var env, out; env = EnvGen.kr(Env.new([0, amp], [fadein])); out = RLPF.ar(LFPulse.ar([note, note+7].midicps, 0.15), SinOsc.kr(0.1, 0, 10, 72).midicps, 0.1, 0.1); Out.ar(0, out*env); }).store; SynthDef("newRing", { arg note=40, amp=0.5, pan = 0.0, decay=4.0; var env1, out1, env2, out2, mix; out1 = RLPF.ar(LFPulse.ar([note, note+7].midicps, 0.15), SinOsc.kr(0.1, 0, 10, 72).midicps, 0.1, 0.1); out2 = SinOsc.ar([(note+48).midicps, (note+55).midicps]); env1 = EnvGen.kr(Env.perc(decay/4.0, decay/4.0*3.0, amp, -4), doneAction: 2); env2 = EnvGen.kr(Env.adsr(0.001, 0.4, 0.0, decay, amp*0.1, -4)); mix = (out1 * env1) + (out2 * env2); mix = CombN.ar(mix, 0.31, 0.31, 2, 0.5, mix); Out.ar(0, mix); }).store;
  • 79.
  • 81.