Book Image

Processing 2: Creative Programming Cookbook

Book Image

Processing 2: Creative Programming Cookbook

Overview of this book

Processing is probably the best known creative coding environment that helps you bridge the gap between programming and art. It enables designers, artists, architects, students and many others to explore graphics programming and computational art in an easy way, thus helping you boost your creativity. "Processing 2: Creative Programming Cookbook" will guide you to explore and experience the open source Processing language and environment, helping you discover advanced features and exciting possibilities with this programming environment like never before. You'll learn the basics of 2D and 3D graphics programming, and then quickly move up to advanced topics such as audio and video visualization, computer vision, and much more with this comprehensive guide. Since its birth in 2001, Processing has grown a lot. What started out as a project by Ben Fry and Casey Reas has now become a widely used graphics programming language. Processing 2 has a lot of new and exciting features. This cookbook will guide you to explore the completely new and cool graphics engine and video library. Using the recipes in this cookbook, you will be able to build interactive art for desktop computers, Internet, and even Android devices! You don't even have to use a keyboard or mouse to interact with the art you make. The book's next-gen technologies will teach you how to design interactions with a webcam or a microphone! Isn't that amazing? "Processing 2: Creative Programming Cookbook" will guide you to explore the Processing language and environment using practical and useful recipes.
Table of Contents (18 chapters)
Processing 2: Creative Programming Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
Index

Using Fast Fourier Transforms


Fast Fourier Transforms (FFT) are used to visualize the frequency spectrum of an audio file. The Minim library has a class that handles the math for you, so you can focus on drawing the spectrum. If you want to learn more about Fast Fourier Transforms, you should read this paper by Paul Bour ke, available at http://paulbourke.net/miscellaneous/dft/. While you are on his website, check out the rest of the things Paul has done. You'll find some really amazing geometry algorithms.

How to do it...

The first part of this sketch is similar to the previous ones; the only thing we'll add is an FFT object with the same buffer size and sample rate as the song we'll load.

import ddf.minim.*;
import ddf.minim.signals.*;
import ddf.minim.analysis.*;
import ddf.minim.effects.*;
  
Minim minim;
AudioPlayer player;
FFT fft;
  
void setup()
{
  size( 1024, 480 );
    
  minim = new Minim( this );
  
  player = minim.loadFile("song.mp3", 512 );
  player.loop();
    
  fft = new...