Process and progress of Music Visualization using Processing

Поділитися
Вставка
  • Опубліковано 20 вер 2024
  • music used for generating visuals:
    IRIDESCENT - LINKIN PARK
    Intro-The XX

КОМЕНТАРІ • 21

  • @Ganerrr
    @Ganerrr 5 років тому +2

    Yo I love that last one

  • @staijn2344
    @staijn2344 4 роки тому +7

    This looks absolutely awesome, good work!
    Can you share the code so I can better understand what you did to achieve this?

  • @haeduaner95
    @haeduaner95 4 роки тому +12

    would you share your code with me?

  • @jimjajmus
    @jimjajmus 4 роки тому

    work is excellent. thank you for providing a glimpse of your work process. shall take the opportunity to learn and create inspired truly by the fact that one can create art from the ground up. kudos.

  • @1996balint
    @1996balint 4 роки тому +1

    amazing visualisations! very inspiring thank you :D

  • @fabriciovrtx3875
    @fabriciovrtx3875 Рік тому +1

    the code: Tks at first!
    import ddf.minim.*;
    import processing.sound.*;
    import ddf.minim.*;
    import peasy.*;
    float a = 8;
    PeasyCam cam;
    Minim minim;
    AudioPlayer player;
    void setup() {
    size(800, 800, P3D);
    smooth(8);
    cam = new PeasyCam(this, 180);
    cam . setMinimumDistance(50);
    cam . setMaximumDistance(500);
    minim = new Minim(this);
    player = minim .loadFile("bethaPD.mp3");
    player. play();
    }
    void draw() {

    background(0);
    rotateY(-.5);
    rotateZ(-.5);
    for (int i = 0; i < player.bufferSize () - 1; i++) {
    rotateX(50+player.right . get(i)/100);

    pushMatrix();
    fill(#F20F0F,100);
    popMatrix();
    strokeWeight(1 + player . right. get(i));

    stroke(0);
    box(10, 10, 55 + player . right. get(i)*200);
    stroke(#1463DE);
    box(55 + player.right . get(i)*50, 10, 10);
    stroke(#4D3CED);
    box(10, 55, + player.right.get(i)*50);
    }
    }

  • @jun1408
    @jun1408 2 роки тому

    omgod thx really help me alot to how to start music visualization use processing hope u can keep doing show progress

  • @sarthakdhawan2061
    @sarthakdhawan2061 5 років тому +1

    can u provide with the codes of the following problems

  • @Dogão_Mediocre
    @Dogão_Mediocre 3 роки тому +1

    hey man, do you still have those codes around?

  • @LiTgg
    @LiTgg 2 роки тому

    how did you do it? Can you make a tutorial or share the code so that we can learn from it?

  • @amaliespens4681
    @amaliespens4681 5 років тому

    Hey, i was just playing around with the second example but I can't get it to work, because sampleRate isn't defined. Can you help me out?

  • @AndMart1962
    @AndMart1962 3 роки тому

    Really amazing. I know its and old video but is it possible for you to share the code for us mere mortals to learn from? I've just discovered Processing and this is way above my head just now but loking through the code would hopefully help me progress.

    • @prankente
      @prankente 3 роки тому +1

      did u find a place to find the codes? pls help a fellow studenttt

    • @AndMart1962
      @AndMart1962 3 роки тому

      @@prankente No, never found the code.

  • @angelajin8693
    @angelajin8693 3 роки тому

    Can you please share the code to learn

  • @bingyuanzhang6743
    @bingyuanzhang6743 4 роки тому

    你好,可以分享一下github的代码吗?我想学习一下

  • @sk-sm5zg
    @sk-sm5zg 3 роки тому

    Please share code

  • @sandydermawan8077
    @sandydermawan8077 2 роки тому

    Give me your coding pleaseee 😭

  • @CaosCreativeStudio
    @CaosCreativeStudio 2 роки тому +4

    this is the code for the last one i coudlnt finish it coz he didnt scroll to the end
    import ddf.minim.*;
    import ddf.minim.analysis.*;
    import ddf.minim.effects.*;
    import ddf.minim.signals.*;
    import ddf.minim.spi.*;
    import ddf.minim.ugens.*;
    Minim minim;
    AudioPlayer player;
    FFT fft;
    float[] angle1;
    float[] angle2;
    float[] y,x, x2, y2;
    void setup(){
    size(1920,1080,P3D);
    minim = new Minim(this);
    player = minim.loadFile("stop it.mp3");
    player.play();

    fft = new FFT(player.bufferSize(), player.sampleRate());
    y = new float [fft.specSize()];
    x = new float [fft.specSize()];
    x2 = new float [fft.specSize()];
    y2 = new float [fft.specSize()];
    angle1 = new float [fft.specSize()];
    angle2 = new float [fft.specSize()];
    frameRate(120);
    }
    void draw(){
    background(0);
    fft.forward(player.mix);
    visualization();
    }
    void visualization(){
    noStroke();

    //bigger main
    pushMatrix();
    translate(width/2,height/2);
    for(int i = 0; i < fft.specSize(); i++){
    y[i] = y[i] + fft.getBand(i)/1000;
    x[i] = fft.getFreq(i)/500;
    angle1[i] = angle1[i] + fft.getFreq(i)/3000;

    rotateY(cos(angle1[i]/2));

    fill(fft.getFreq(i)*5,55,fft.getBand(i)*5);
    pushMatrix();
    translate((x[i]+200),(y[i]-175));
    rect(-fft.getBand(i)/50, -fft.getBand(i)/10, fft.getFreq(i)/15, fft.getBand(i)/15);
    rect(-fft.getFreq(i)/5, -fft.getFreq(i)/5, fft.getFreq(i)/100, fft.getFreq(i)/20);
    popMatrix();
    }
    popMatrix();

    //top middle
    pushMatrix();
    translate(width/2,height/2,0);
    for(int i = 0; i < fft.specSize(); i++){
    y[i] = y[i] ;
    x[i] = x[i] ;
    angle2[i] = angle2[i]+fft.getFreq(i)/10000;

    rotateY(cos(angle2[i]/2));

    fill(70, fft.getFreq(i)*3, 255-fft.getBand(i)*2);
    pushMatrix();
    translate((x[i]+player.right.get(i)-450), (y[i]+player.right.get(i))+100);
    rect(-fft.getFreq(i)/5, -fft.getFreq(i)/5, fft.getFreq(i)/100, fft.getFreq(i)/20);
    popMatrix();
    }
    popMatrix();

    //mid middle
    pushMatrix();
    translate(width/2,height/2,0);
    for(int i = 0; i < fft.specSize(); i++){
    y[i] = y[i] ;
    x[i] = x[i] ;
    angle2[i] = angle2[i]+fft.getFreq(i)/10000;

    rotateY(cos(angle2[i]/2));
    fill(70, fft.getFreq(i)*3, 255-fft.getBand(i)*2);
    pushMatrix();
    translate((x[i]+player.right.get(i)-600), (y[i]+player.right.get(i))+100);
    rect(-fft.getFreq(i)/5, -fft.getFreq(i)/5, fft.getFreq(i)/100, fft.getFreq(i)/20);
    popMatrix();
    }
    popMatrix();

    //bot middle
    pushMatrix();
    translate(width/2,height/2,0);
    for(int i = 0; i < fft.specSize(); i++){
    y[i] = y[i] ;
    x[i] = x[i] ;
    angle2[i] = angle2[i]+fft.getFreq(i)/10000;

    rotateY(-cos(angle2[i]/2));

    fill(70, fft.getFreq(i)*3, 255-fft.getBand(i)*2);
    pushMatrix();
    translate((-x[i]+player.right.get(i)+300), (-y[i]+player.right.get(i))+50);
    rect(-fft.getFreq(i)/5, -fft.getFreq(i)/5, fft.getFreq(i)/100, fft.getFreq(i)/20);
    popMatrix();
    }
    popMatrix();

    //right bot tail
    pushMatrix();
    translate(width/2,height/2,0);
    for(int i = 0; i < fft.specSize(); i++){
    y2[i] = y2[i]+ fft.getFreq(i)/500;
    x[i] = x[i] ;
    angle2[i] = angle2[i]+fft.getFreq(i)/10000;

    fill(20, 255-fft.getFreq(i)*2, 255-fft.getBand(i)*2);
    pushMatrix();
    translate((x[i]+600), (-y2[i]+150));
    rect(fft.getBand(i)/5, fft.getBand(i)/5, fft.getFreq(i)/50, fft.getFreq(i)/5);
    popMatrix();
    }
    popMatrix();

    //left bot tail
    pushMatrix();
    translate(width/2,height/2,0);
    for(int i = 0; i < fft.specSize(); i++){
    y2[i] = y2[i]+ fft.getFreq(i)/500;
    x[i] = x[i] ;
    angle2[i] = angle2[i]+fft.getFreq(i)/10000;

    fill(20, 255-fft.getFreq(i)*2, 255-fft.getBand(i)*2);
    pushMatrix();
    translate((x[i]+300), (y2[i]-600));
    rect(fft.getBand(i)/2, fft.getBand(i)/2, fft.getFreq(i)/20, fft.getFreq(i)/5);
    popMatrix();
    }
    popMatrix();

    //mid left tail
    pushMatrix();
    translate(width/2,height/2,0);
    for(int i = 0; i < fft.specSize(); i++){
    y2[i] = y2[i]+ fft.getFreq(i)/500;
    x[i] = x[i] ;
    angle2[i] = angle2[i]+fft.getFreq(i)/10000;

    fill(20, 255-fft.getFreq(i)*2, 255-fft.getBand(i)*2);
    pushMatrix();
    translate((x[i]-300), (y2[i]-600));
    rect(-fft.getBand(i)/2, fft.getBand(i)/2, -fft.getFreq(i)/20, fft.getFreq(i)/5);
    popMatrix();
    }
    popMatrix();

    //mid right tail
    pushMatrix();
    translate(width/2,height/2,0);
    for(int i = 0; i < fft.specSize(); i++){
    y2[i] = y2[i]+ fft.getFreq(i)/500;
    x[i] = x[i] ;
    angle2[i] = angle2[i]+fft.getFreq(i)/10000;

    fill(20, 255-fft.getFreq(i)*2, 255-fft.getBand(i)*2);
    pushMatrix();
    translate((x[i]+90), (-y2[i]-600));
    rect(fft.getBand(i)/5, fft.getBand(i)/5, fft.getFreq(i)/50, fft.getFreq(i)/5);
    popMatrix();
    }
    popMatrix();

    //mid mid right tail
    pushMatrix();
    translate(width/2,height/2,0);
    for(int i = 0; i < fft.specSize(); i++){
    y2[i] = y2[i]+ fft.getFreq(i)/500;
    x[i] = x[i] ;
    angle2[i] = angle2[i]+fft.getFreq(i)/10000;

    fill(20, 255-fft.getFreq(i)*2, 255-fft.getBand(i)*2);
    pushMatrix();
    translate((x[i]-600), (-y2[i]+150));
    rect(-fft.getBand(i)/5, fft.getBand(i)/5, -fft.getFreq(i)/50, fft.getFreq(i)/5);
    popMatrix();
    }
    popMatrix();

    //mid mid left tail

    pushMatrix();
    translate(width/2,height/2,0);
    for(int i = 0; i < fft.specSize(); i++){
    y2[i] = y2[i]+ fft.getFreq(i)/500;
    x[i] = x[i] ;
    angle2[i] = angle2[i]+fft.getFreq(i)/10000;

    fill(20, 255-fft.getFreq(i)*2, 255-fft.getBand(i)*2);
    pushMatrix();
    translate((x[i]-90), (-y2[i]+600));
    rect(-fft.getBand(i)/5, fft.getBand(i)/5, -fft.getFreq(i)/50, fft.getFreq(i)/5);
    popMatrix();
    }
    popMatrix();

    //big core
    pushMatrix();
    translate(width/2, height/2,0);
    for(int i = 0; i < fft.specSize(); i++){
    y[i] = y[i];
    x[i] = x[i];

    angle2[i] = angle2[i]+fft.getFreq(i)/2000;
    rotateX(sin(angle2[i]/5)/50);
    rotateY(cos(angle2[i]/5)/50);
    fill(20, 255-fft.getFreq(i)*2, 255-fft.getBand(i)*2);
    pushMatrix();
    translate((x[i]+50), (y[i]));
    box(fft.getFreq(i)/50+fft.getFreq(i)/50);
    popMatrix();
    }
    popMatrix();

    //increase core
    pushMatrix();
    translate(width/2, height/2,0);
    for(int i = 0; i < fft.specSize(); i++){
    y[i] = y[i];
    x2[i] =x2[i]+fft.getFreq(i)/500;

    angle2[i] = angle2[i]/1.007+fft.getFreq(i)/6000;
    rotateX(sin(angle2[i]/5)/15);
    rotateY(cos(angle2[i]/5)/15);
    fill(20, 255-fft.getFreq(i)*2, 255-fft.getBand(i)*2);
    pushMatrix();
    translate((x[i]+50), (y[i]));
    box(fft.getFreq(i)/50+fft.getFreq(i)/50);
    popMatrix();
    }
    popMatrix();
    }