Presentation is loading. Please wait.

Presentation is loading. Please wait.

FUNDAMENTALS OF PROGRAMMING SM1204 SEMESTER A 2012.

Similar presentations


Presentation on theme: "FUNDAMENTALS OF PROGRAMMING SM1204 SEMESTER A 2012."— Presentation transcript:

1 FUNDAMENTALS OF PROGRAMMING SM1204 SEMESTER A 2012

2 ASSIGNMENT 3 DUE DATE 21 DEC 2012 COLLECTION VIA ACS

3 REQUIREMENTS o Create your own music visualization (20%) o Select your audio / music o Design your visualization o Use of Minim audio library (30%) o Program complexity (20%) o Creative graphics (30%)

4 EXAMPLE http://www.youtube.com/watch?v=KW5D9IVfb1k&feature=related

5 EXAMPLE http://www.youtube.com/watch?v=1JkN3Uwgqi4&feature=related

6 EXAMPLE http://www.youtube.com/watch?v=0AVyhytUy7k&feature=related

7 SAMPLE PROGRAM

8 Import library Define player and beat detector objects import ddf.minim.*; import ddf.minim.analysis.*; Minim minim; AudioPlayer player; BeatDetect beat; int n = 5; float[][] a = new float[n][n];

9 SAMPLE PROGRAM Create objects & Initialize array elements void setup() { size(400, 400); minim = new Minim(this); player = minim.loadFile("test2.mp3"); beat = new BeatDetect( player.bufferSize(), player.sampleRate() ); player.play(); // initialize item size for (int i=0; i<n; i++) { for (int j=0; j<n; j++) { a[i][j] = 40; }

10 SAMPLE PROGRAM Beat detection and rendering void draw() { beat.detect(player.mix); background(0); strokeWeight(4); for (int i=0; i<n; i++) { for (int j=0; j<n; j++) { // enlarge corresponding circle if onset if (beat.isOnset(i*5+j)) { a[i][j] = 80; } float s = a[i][j]; float c = map(s, 40, 80, 200, 255); noFill(); stroke(c); ellipse(i*80+40, j*80+40, s, s); fill(c); noStroke(); ellipse(i*80+40, j*80+40, s / 2, s / 2); // decrease circle sizes if (a[i][j] > 40) { a[i][j] *= 0.95; } }

11 SAMPLE PROGRAM Do not forget to add the stop( ) function void stop() { player.close(); minim.stop(); super.stop(); }

12 USEFUL FUNCTIONS & REFERENCES o map (value, low1, high1, low2, high2) o Re-maps a number from one range to another o constrain(value, min, max) o Constrains a value to not exceed a maximum and minimum value. o abs(value) o Calculates the absolute value (always position) of a number.


Download ppt "FUNDAMENTALS OF PROGRAMMING SM1204 SEMESTER A 2012."

Similar presentations


Ads by Google