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

Creating a synthesizer


The second instrument we'll create is a synthesizer. We'll use a sine wave and a saw wave to generate an interesting sound. The keyboard will be used to hit notes, and the mouse will pan the sound from left to right.

How to do it...

You need to start by importing the minim library and declare a Minim object and an AudioOutput object. We also need a SineWave and a SawWave object to generate the sound. In the setup() function, we'll create both waves and add them to the output so you'll hear them.

import ddf.minim.*;
import ddf.minim.signals.*;
import ddf.minim.analysis.*;
import ddf.minim.effects.*;
  
Minim minim;
AudioOutput out;
SineWave sine;
SawWave saw;
  
void setup()
{
  size( 1024, 480 );
  smooth();
  
  strokeWeight( 2 );
  
  minim = new Minim( this );
    
  out = minim.getLineOut( Minim.STEREO );
  
  sine = new SineWave( 130.816, 0.5, out.sampleRate() );
  out.addSignal( sine );

  saw = new SawWave( 65.4064, 1.0, out.sampleRate() );
  out.addSignal( saw...