Advertisement
Guest User

Untitled

a guest
Jan 28th, 2015
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. import ddf.minim.*;
  2. import ddf.minim.analysis.*;
  3.  
  4. Minim minim;
  5. AudioInput in;
  6. FFT fft;
  7. int highest=0;
  8.  
  9. void setup()
  10. {
  11. size(300, 200, P2D);
  12. if (frame != null)
  13. frame.setResizable(true);
  14.  
  15. minim = new Minim(this);
  16. minim.debugOn();
  17.  
  18. //in = minim.getLineIn(Minim.MONO, 4096, 44100);
  19. in = minim.getLineIn(Minim.MONO, 2048, 44100);
  20. fft = new FFT(in.mix.size(), 44100);
  21. }
  22.  
  23. void draw()
  24. {
  25. background(0, 0, 0);
  26. stroke(100, 0, 0);
  27.  
  28. fft.forward(in.mix);
  29. highest=0;
  30. for (int n = 0; n < fft.specSize(); n++) {
  31. // draw the line for frequency band n, scaling it by 4 so we can see it a bit better
  32. line(n/4, height, n/4, height - (fft.getBand(n)/log(n)));
  33.  
  34. //find frequency with highest amplitude
  35. if (fft.getBand(n)>fft.getBand(highest))
  36. highest=n;
  37. }
  38. //println(highest);
  39.  
  40. //println(fft.getFreq(110));
  41. // draw the waveforms
  42. /*for (int i = 0; i < in.bufferSize() - 1; i++)
  43. {
  44. line(i, 50 + in.left.get(i)*50, i+1, 50 + in.left.get(i+1)*50);
  45. line(i, 150 + in.right.get(i)*50, i+1, 150 + in.right.get(i+1)*50);
  46. }*/
  47. }
  48.  
  49.  
  50. void stop()
  51. {
  52. // always close Minim audio classes when you are done with them
  53. in.close();
  54. minim.stop();
  55.  
  56. super.stop();
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement