123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package org.example;
- import ddf.minim.AudioInput;
- import ddf.minim.Minim;
- import ddf.minim.analysis.FFT;
- import processing.core.PApplet;
- import processing.core.PFont;
- public class MySketch extends PApplet {
- Minim minim;
- //AudioPlayer myAudio;
- AudioInput myAudio;
- FFT aFFT;
- // Variables for FFT
- int delFFT = 11;
- int aM = 70;
- float amp = 30.0f;
- float aI = 0.2f;
- float aIa = aI;
- float aIStep = 0.35f;
- float[] aData = new float[delFFT];
- public void settings() {
- fullScreen();
- }
- public void setup() {
- //fullScreen();
- background(0);
- // textFont(mono, 14);
- smooth();
- minim = new Minim(this);
- // myAudio = minim.loadFile("music.mp3"); // must be in data folder
- // myAudio.loop();
- myAudio = minim.getLineIn(Minim.MONO);
- aFFT = new FFT(myAudio.bufferSize(), myAudio.sampleRate());
- aFFT.linAverages(delFFT);
- aFFT.window(FFT.GAUSS);
- }
- public void draw() {
- noStroke();
- fill(0, 7);
- rect(-10, -10, width+10, height+10);
- aFFT.forward(myAudio.mix);
- aDelData();
- //println(aData);
- }
- void aDelData() {
- String b = "[ ";
- String d = "] ";
- for (int i = 0; i < delFFT; ++i) {
- stroke(255,50);
- fill(233f,123f,98f);
- float partI = (aFFT.getAvg(i) * amp) * aIa;
- float tempIndexCon = constrain(partI, 0, aM);
- rect(60 + (i*35), height - 80, 39, -partI);
- fill(255);
- text(b, 40 , height - 30);
- text(d, width - 50, height - 30);
- text( i, 60 + (i*35), height - 30);
- aData[i] = tempIndexCon;
- aIa += aIStep;
- }
- aIa = aI;
- }
- public void stop() {
- myAudio.close();
- minim.stop();
- super.stop();
- }
- public static void main(String[] passedArgs) {
- String[] appletArgs = new String[] { "MySketch" };
- MySketch ms = new MySketch();
- PApplet.runSketch(appletArgs,ms);
- }
- }
|