|
|
(6 intermediate revisions by one other user not shown) |
Line 1: |
Line 1: |
| ==Josephine Jatzlau==
| |
|
| |
|
|
| |
|
| |
| === ''homework 1'' ===
| |
|
| |
|
| |
| [[File:Kolibri.gif]]
| |
|
| |
| '''Kolibri'''
| |
| ----
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
| === ''homework 2'' ===
| |
|
| |
|
| |
|
| |
|
| |
| [[File:Moon-collage.jpg]]
| |
|
| |
| '''Moon'''
| |
|
| |
|
| |
|
| |
|
| |
|
| |
| [[File:Moon-Collage2.jpg]]
| |
|
| |
|
| |
| '''Moon 2.0'''
| |
|
| |
| ----
| |
|
| |
| === ''homework 3'' ===
| |
|
| |
| [[File:Grumpy.jpg]]
| |
|
| |
| '''Grumpy Cat Fusion'''
| |
|
| |
| ----
| |
|
| |
| === ''Pixel Sorting'' ===
| |
|
| |
|
| |
| [[File:pxl-old.png |thumb|left|400px]]
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
| === ''Video Delay'' ===
| |
|
| |
| [https://vimeo.com/152994562 BeeGees Video Delay]
| |
|
| |
| <source lang="java">
| |
|
| |
| import processing.video.*;
| |
|
| |
| Movie myMovie;
| |
|
| |
| int maxFrames;
| |
|
| |
| int d = 4;
| |
|
| |
| boolean recording = false;
| |
|
| |
| ArrayList frames = new ArrayList();
| |
|
| |
| void setup() {
| |
| size(1280, 720);
| |
| maxFrames = width / d;
| |
|
| |
| myMovie = new Movie(this, "NightFever.mp4");
| |
| myMovie.loop();
| |
|
| |
| PImage img = createImage(width, height, RGB);
| |
| frames.add(img);
| |
| }
| |
|
| |
| void draw() {
| |
| int n = frames.size();
| |
|
| |
| image(myMovie, 0, 0);
| |
|
| |
| // iterate over vertical strips
| |
| for(int i = 0; i < n; i++) {
| |
|
| |
| // get snip from the frame
| |
| PImage img = (PImage) frames.get(i);
| |
|
| |
| // x coordinate for the left side of the current strip
| |
| int x1 = int(map(i, 0, n-1, 0, width/2 - 100));
| |
| int y1 = int(map(i, 0, n-1, 0, height/2 - 100));
| |
|
| |
| int x2 = width - x1;
| |
| int y2 = height - y1;
| |
|
| |
| int w = x2 - y1;
| |
| int h = y2 - y1;
| |
|
| |
| PImage snip = img.get(x1, y1, w, h);
| |
|
| |
| // show strip on screen
| |
| //tint(255, 50);
| |
| image(snip, x1, y1);
| |
|
| |
| }
| |
|
| |
| if(recording) {
| |
|
| |
| saveFrame("frame/####.png");
| |
|
| |
| // recording feedback
| |
| stroke(255, 0, 0);
| |
| noFill();
| |
| strokeWeight(5);
| |
| rect(0, 0, width, height);
| |
|
| |
| }
| |
|
| |
| }
| |
|
| |
| void keyPressed() {
| |
| recording = !recording;
| |
| }
| |
|
| |
|
| |
|
| |
| void movieEvent(Movie m) {
| |
| m.read();
| |
|
| |
| PImage img = myMovie.get();
| |
|
| |
| frames.add(img);
| |
|
| |
| if( frames.size() > maxFrames) {
| |
| frames.remove(0);
| |
| }
| |
|
| |
| }
| |
|
| |
| </source>
| |
| ----
| |
|
| |
| === ''Sound Processing - Interactive'' ===
| |
|
| |
|
| |
| [[File:Parkhöhle.png]]
| |
|
| |
| <source lang="java">
| |
|
| |
| import ddf.minim.*;
| |
|
| |
| Minim minim;
| |
|
| |
| int n = 8;
| |
| int idx;
| |
|
| |
| AudioPlayer[] players = new AudioPlayer[n];
| |
|
| |
| int[][] locations = {
| |
| {307, 234, 10}, //1
| |
| {425, 222, 10}, //2
| |
| {377, 305, 10}, //3
| |
| {426, 383, 10}, //4
| |
| {552, 224, 10}, //5
| |
| {552, 385, 10}, //6
| |
| {661, 420, 10}, //7
| |
| {560, 310, 10}, //8
| |
|
| |
| };
| |
|
| |
| int activeLocation = -1;
| |
|
| |
| PImage img;
| |
|
| |
|
| |
| void setup() {
| |
|
| |
| size(800, 600);
| |
|
| |
| minim = new Minim(this);
| |
|
| |
| img = loadImage("parkhöhle.jpg");
| |
|
| |
|
| |
| for (int i = 0; i < n; i++) {
| |
| players[i] = minim.loadFile(“test-" + (i + 1) + ".mp3");
| |
| }
| |
|
| |
| }
| |
|
| |
|
| |
| void draw() {
| |
|
| |
| image(img, 0, 0);
| |
| fill(255, 150);
| |
| noStroke();
| |
|
| |
|
| |
| activeLocation = -1;
| |
|
| |
| for(int i = 0; i < locations.length; i ++) {
| |
| int[] loc = locations[i];
| |
|
| |
|
| |
| int x = loc[0];
| |
| int y = loc[1];
| |
| int r = loc[2];
| |
|
| |
|
| |
| if(atLocation(x, y, r)) {
| |
|
| |
| activeLocation = i;
| |
|
| |
| ellipse(x, y, 2*r, 2*r);
| |
| fill(250, 0);
| |
|
| |
| }
| |
|
| |
| }
| |
| }
| |
|
| |
|
| |
| boolean atLocation(int x, int y, int r) {
| |
| return mouseX > (x - r) && mouseX < (x + r) && mouseY > (y - r) && mouseY < (y + r);
| |
| }
| |
|
| |
|
| |
| void mousePressed() {
| |
|
| |
|
| |
| if(activeLocation != -1) {
| |
|
| |
|
| |
| for (int i = 0; i < n; i++) {
| |
| players[i].pause();
| |
| }
| |
|
| |
| println("Sound number " + (activeLocation + 1));
| |
| players[activeLocation].rewind();
| |
| players[activeLocation].play();
| |
|
| |
| }
| |
|
| |
| }
| |
|
| |
|
| |
|
| |
| void keyPressed() {
| |
|
| |
| for (int i = 0; i < n; i++) {
| |
| players[i].pause();
| |
| }
| |
|
| |
| int i = (key - '1');
| |
|
| |
| if (i >= 0 && i < n) {
| |
|
| |
| println("Sound number " + (i + 1));
| |
| players[i].rewind();
| |
| players[i].play();
| |
| }
| |
|
| |
| }
| |
|
| |
|
| |
| void keyPressed() {
| |
|
| |
| println(pmouseX, pmouseY);
| |
|
| |
| }
| |
|
| |
| </source>
| |
|
| |
| ----
| |
|
| |
|
| |
| === My Final Project ===
| |
|
| |
|
| |
| For my final project I wanted to explore the world of sound processing. I started to experiment with the visualization of sound (beat detection).And I got more and more interessted into this topic. The semester break gave me the final inspiration for my project. I created an interactive map which shows some clubs in Berlin. With this map you can find the perfect club for you and your music taste. I think that there has never been a map like this. It could be really helpful and people should start to develope those kind of maps for metropolises like Berlin, London or NewYork.
| |
|
| |
|
| |
| [https://vimeo.com/161019179 Part 1 - Interactive Club Map]
| |