⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frequencyenergy.pde

📁 This is processing for java examples.
💻 PDE
字号:
/** * Frequency Energy  * by Damien Di Fede. *   * This sketch demonstrates how to use the BeatDetect object in FREQ_ENERGY mode. * You can use <code>isKick</code>, <code>isSnare</code>, </code>isHat</code>,  * <code>isRange</code>, and <code>isOnset(int)</code> to track whatever kind  * of beats you are looking to track, they will report true or false based on  * the state of the analysis. To "tick" the analysis you must call <code>detect</code>  * with successive buffers of audio. You can do this inside of <code>draw</code>,  * but you are likely to miss some audio buffers if you do this. The sketch implements  * an <code>AudioListener</code> called <code>BeatListener</code> so that it can call  * <code>detect</code> on every buffer of audio processed by the system without repeating  * a buffer or missing one. *  * This sketch plays an entire song so it may be a little slow to load. */import ddf.minim.*;import ddf.minim.analysis.*;Minim minim;AudioPlayer song;BeatDetect beat;BeatListener bl;float kickSize, snareSize, hatSize;void setup(){  size(512, 200);  smooth();    minim = new Minim(this);    song = minim.loadFile("marcus_kellis_theme.mp3", 2048);  song.play();  // a beat detection object that is FREQ_ENERGY mode that   // expects buffers the length of song's buffer size  // and samples captured at songs's sample rate  beat = new BeatDetect(song.bufferSize(), song.sampleRate());  // set the sensitivity to 300 milliseconds  // After a beat has been detected, the algorithm will wait for 300 milliseconds   // before allowing another beat to be reported. You can use this to dampen the   // algorithm if it is giving too many false-positives. The default value is 10,   // which is essentially no damping. If you try to set the sensitivity to a negative value,   // an error will be reported and it will be set to 10 instead.   beat.setSensitivity(300);    kickSize = snareSize = hatSize = 16;  // make a new beat listener, so that we won't miss any buffers for the analysis  bl = new BeatListener(beat, song);    textFont(createFont("SanSerif", 16));  textAlign(CENTER);}void draw(){  background(0);  fill(255);  if ( beat.isKick() ) kickSize = 32;  if ( beat.isSnare() ) snareSize = 32;  if ( beat.isHat() ) hatSize = 32;  textSize(kickSize);  text("KICK", width/4, height/2);  textSize(snareSize);  text("SNARE", width/2, height/2);  textSize(hatSize);  text("HAT", 3*width/4, height/2);  kickSize = constrain(kickSize * 0.95, 16, 32);  snareSize = constrain(snareSize * 0.95, 16, 32);  hatSize = constrain(hatSize * 0.95, 16, 32);}void stop(){  // always close Minim audio classes when you are finished with them  song.close();  // always stop Minim before exiting  minim.stop();  // this closes the sketch  super.stop();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -