looking outwards 11

 

Wendy Carlos (born 1939) is an American electronic composer. Her has worked on a variety of projects, from solo albums to film scores, and assisted in the development of the first Moog synthesizer.

In Switched-on Bach(1968), one of her best known albums, Carlos recorded a series of Bach’s most famous concertos using synthesizers. At a time when electronic music was largely experimental and technical, this album helped popularize the synthesizer and electronic music to a wider audience.

I really like electronic music, especially early electro-pop, and Wendy Carlos definitely laid the groundwork for every popular electronic record for the next 50 years. In general, I like artists who can balance making interesting work while also being accessible to everyone.

(If you’re interested in checking out her work, some of her other famous pieces include, film scores for both the Original Tron and A Clockwork Orange. Her website is: wendycarlos.com)

Shannon Case Project 11

sketch

//Shannon Case
//Section D
//scase@andrew.cmu.edu
//Project 11



function setup() {
    createCanvas(600, 600);
    background('#230133');
}


function draw() {
    background('#230133');

    var rot = map(mouseY, 0, width, 130, 137.507764);

    var turtle = makeTurtle(width/2, height/2); //center turtle
    var turtle2 = makeTurtle(width/2, height/2);
    var turtle3 = makeTurtle(width/2, height/2);

if (mouseX < 200){
        turtle.penDown();
        turtle.setColor('#7100a5'); //purple turtle
    for (var i = 0; i < 300; i++) { //draw many turtles

        turtle.forward(3);
        turtle.right(60);
        turtle.forward(3);
        turtle.right(60);
        turtle.forward(3);
        turtle.right(60);
        turtle.forward(3);
        turtle.right(60);
        turtle.forward(3);
        turtle.right(60);
        turtle.forward(3);
        turtle.right(60);
        //draw the hexagons
        turtle.penUp(); //stop drawing

        turtle.forward(i); //move out by incriment
        turtle.left(rot); //move around the golden angle

        turtle.penDown(); //draw again
        }
    }

else if ( mouseX > 200 & mouseX < 400){     
    turtle2.penDown();
    turtle2.setColor('#d09de8');
    for (var i = 0; i < 400; i++) { //draw many turtles

        turtle2.forward(3);
        turtle2.right(60);
        turtle2.forward(3);
        turtle2.right(60);
        turtle2.forward(3);
        turtle2.right(60);
        turtle2.forward(3);
        turtle2.right(60);
        turtle2.forward(3);
        turtle2.right(60);
        turtle2.forward(3);
        turtle2.right(60);
        //draw the hexagons
        turtle2.penUp(); //stop drawing

        turtle2.forward(i); //move out by incriment
        turtle2.left(rot); //move around the golden angle

        turtle2.penDown(); //draw again
        }
    }

else if ( mouseX > 400 & mouseX < 600){ 
    turtle3.penDown();
    turtle3.setColor('#e4dce8');
    for (var i = 0; i < 500; i++) { //draw many turtles

        turtle3.forward(3);
        turtle3.right(60);
        turtle3.forward(3);
        turtle3.right(60);
        turtle3.forward(3);
        turtle3.right(60);
        turtle3.forward(3);
        turtle3.right(60);
        turtle3.forward(3);
        turtle3.right(60);
        turtle3.forward(3);
        turtle3.right(60);
        //draw the hexagons
        turtle3.penUp(); //stop drawing

        turtle3.forward(i); //move out by incriment
        turtle3.left(rot); //move around the golden angle

        turtle3.penDown(); //draw again
        }
    }

}


function turtleLeft(d){this.angle-=d;}function turtleRight(d){this.angle+=d;}
function turtleForward(p){var rad=radians(this.angle);var newx=this.x+cos(rad)*p;
var newy=this.y+sin(rad)*p;this.goto(newx,newy);}function turtleBack(p){
this.forward(-p);}function turtlePenDown(){this.penIsDown=true;}
function turtlePenUp(){this.penIsDown = false;}function turtleGoTo(x,y){
if(this.penIsDown){stroke(this.color);strokeWeight(this.weight);
line(this.x,this.y,x,y);}this.x = x;this.y = y;}function turtleDistTo(x,y){
return sqrt(sq(this.x-x)+sq(this.y-y));}function turtleAngleTo(x,y){
var absAngle=degrees(atan2(y-this.y,x-this.x));
var angle=((absAngle-this.angle)+360)%360.0;return angle;}
function turtleTurnToward(x,y,d){var angle = this.angleTo(x,y);if(angle< 180){
this.angle+=d;}else{this.angle-=d;}}function turtleSetColor(c){this.color=c;}
function turtleSetWeight(w){this.weight=w;}function turtleFace(angle){
this.angle = angle;}function makeTurtle(tx,ty){var turtle={x:tx,y:ty,
angle:0.0,penIsDown:true,color:color(128),weight:1,left:turtleLeft,
right:turtleRight,forward:turtleForward, back:turtleBack,penDown:turtlePenDown,
penUp:turtlePenUp,goto:turtleGoTo, angleto:turtleAngleTo,
turnToward:turtleTurnToward,distanceTo:turtleDistTo, angleTo:turtleAngleTo,
setColor:turtleSetColor, setWeight:turtleSetWeight,face:turtleFace};
return turtle;}

For this project I chose to work with the golden ratio turtle graphic that we did for the last assignment. I thought it would be cool to map this to the mouse Y positions to create different spirals. I then made three different turtles so that as you move across the mouse X positions you can play with varied sizes of turtle spirals. screen-shot-2016-11-12-at-8-47-25-pmscreen-shot-2016-11-12-at-8-47-59-pm

LookingOutwards-11-sehenry

The piece of computer music that I found very interesting was a video called “Pipe Dream”. If you watch the video you will see a series of different objects interact with one another and make this beautiful harmonious melody. There are any other videos as well that symbolize the same thing but the reason why I found this particular one more interesting than the others was the work that must have gone into it. There were so many pieces and so much animation that if the music was strictly created from the computations, this would have been a very long and treacherous project. If it was played by another instrument and then made to match the music this would be different. I still encourage anyone to listen to this song and watch the video! It is fantastic! The second video under that shows a real life version of “Pipe Dream”. I found this at the last second and I am just in awe of what humans can do.

Website:Animusic

Project 11 Freestyle – Sofia Syjuco

sketch

//Sofia Syjuco
//section A
//smsyjuco@andrew.cmu.edu
// Assignment - 11- c

var turtle1;// create a turtle

function setup(){
    createCanvas(700,400);// create a canvas
    turtle1 = makeTurtle(width/2,height/2);// make the first turtle
}
function draw(){
  
    background(235,100,210,10); // fill the background with white
    turtle1.penDown();// start drawing
    turtle1.setColor(255); //set the color to white
    turtle1.setWeight(5);// weight to 6
    

    turtle1.turnToward(mouseX, mouseY, 30);// turn the turtle towards the mouse
    turtle1.forward(1);// move the turtle forward
}

//-----------------------------------------------------------------------------
function turtleLeft(d){this.angle-=d;}function turtleRight(d){this.angle+=d;}
function turtleForward(p){var rad=radians(this.angle);var newx=this.x+cos(rad)*p;
var newy=this.y+sin(rad)*p;this.goto(newx,newy);}function turtleBack(p){
this.forward(-p);}function turtlePenDown(){this.penIsDown=true;}
function turtlePenUp(){this.penIsDown = false;}function turtleGoTo(x,y){
if(this.penIsDown){stroke(this.color);strokeWeight(this.weight);
line(this.x,this.y,x,y);}this.x = x;this.y = y;}function turtleDistTo(x,y){
return sqrt(sq(this.x-x)+sq(this.y-y));}function turtleAngleTo(x,y){
var absAngle=degrees(atan2(y-this.y,x-this.x));
var angle=((absAngle-this.angle)+360)%360.0;return angle;}
function turtleTurnToward(x,y,d){var angle = this.angleTo(x,y);if(angle< 180){
this.angle+=d;}else{this.angle-=d;}}function turtleSetColor(c){this.color=c;}
function turtleSetWeight(w){this.weight=w;}function turtleFace(angle){
this.angle = angle;}function makeTurtle(tx,ty){var turtle={x:tx,y:ty,
angle:0.0,penIsDown:true,color:color(128),weight:1,left:turtleLeft,
right:turtleRight,forward:turtleForward, back:turtleBack,penDown:turtlePenDown,
penUp:turtlePenUp,goto:turtleGoTo, angleto:turtleAngleTo,
turnToward:turtleTurnToward,distanceTo:turtleDistTo, angleTo:turtleAngleTo,
setColor:turtleSetColor, setWeight:turtleSetWeight,face:turtleFace};
return turtle;}

week-11-screenshot

I spent a long time tinkering with the turtle trying to figure out exactly how to turn it towards the mouse, and it was such a relief to discover it was actually pretty simple! From there it was just tweaking certain numbers and values, and trying to get an interesting result.

Sofia Syjuco – Looking Outwards 11

Metallophone
Changxi Zheng

http://www.cs.columbia.edu/~cxz/publications/metallophone.pdf

 

https://www.inverse.com/article/7556-a-computer-scientist-is-building-the-musical-instruments-of-the-future

A work in the area of music that I found particularly interesting was the new musical instrument developed by Changxi Zheng. It’s called the “zoolophone,” a metallophone where each bar is shaped like a different animal. But the stylized shapes of the instrument aren’t nearly the most interesting thing about it, nor what I admire most. Zheng used computational design to create each bar, instead of painstakingly carving out each bar so that they vibrate perfectly. The computer tests and retests each bar, so that there is even less room for error, and when struck with a mallet, actually produces three notes (or a full chord).
I don’t know much about the algorithms used by Zheng to generate this work, but it’s really cool to think that, outside the intricate programming to carve out each piece, from this course we’ve been taught enough to know that the process beyond that is probably something along the lines of ‘if’ statements and continually testing until it works!
The artist’s sensibilities manifest in the final form by making each bar into a stylized animal shape – which is pretty incredible to think about, given instruments usually use regular bar shapes because it’s so difficult to get the sounds right with irregular shapes.

 

owen fox project 11

 

turtle

//Owen Fox
//olf@andrew.cmu.edu
//Section C
//Project Week 11

var progress = 0;

//color values
var r = 0;
var g = 0;
var b = 0;
//constant
var c = 50;
//where the gradient stops and the color UI begins
var ylimit = 90;

function setup() {
    createCanvas(400,400);
    background("white");
}


function draw() {

   //draws a turtle square at every 3 by 3 pixels
    for (var x = 0; x < width/3; x ++) {
        for (var y = 0; y < width/3; y ++) {
            if (y < ylimit) {
            turtleSquare(r - x,g - x,b,x*3,y*3);
            }
        }
    }

    //prints colot values as text
    textAlign(CENTER);
    textSize(14);
    fill("white");
    text("red:" + r, c, height- c);
    text("green:" + g, width/2, height- c);
    text("blue:" + b, width - c, height- c);

}

function mouseClicked() {
    //whenever a user clicks on the three text graphics created in draw, they will change the value of the color by + 10
    if ((mouseX > c/2) & (mouseX < c + c/2) && (mouseY > height - c - c/3) && (mouseY < height - (c - c/3))) {
        background("white");
        r += 10;
    }
    if ((mouseX > width/2 - c/2) & (mouseX < width/2 + c/2) && (mouseY > height - c - c/3) && (mouseY < height - (c - c/3))) {
        background("white");
        g += 10;
    }
    if ((mouseX > width - c - c/2) & (mouseX < width - c/2) && (mouseY > height - c - c/3) && (mouseY < height - (c - c/3))) {
        background("white");
        b += 10;
    }
}

function turtleSquare(r,g,b,x,y) {
    //uses turtle graphics to draw a 3 by 3 square
    var turtle = makeTurtle(x,y);
    turtle.setColor(color(r,g,b))
    turtle.setWeight(3);
    turtle.penDown();
    turtle.forward(3);
    turtle.right(90);
    turtle.forward(3);
    turtle.right(90);
    turtle.forward(3);
    turtle.right(90);
    turtle.forward(3);
    turtle.penUp();
}



function turtleLeft(d) {
    this.angle -= d;
}


function turtleRight(d) {
    this.angle += d;
}


function turtleForward(p) {
    var rad = radians(this.angle);
    var newx = this.x + cos(rad) * p;
    var newy = this.y + sin(rad) * p;
    this.goto(newx, newy);
}


function turtleBack(p) {
    this.forward(-p);
}


function turtlePenDown() {
    this.penIsDown = true;
}


function turtlePenUp() {
    this.penIsDown = false;
}


function turtleGoTo(x, y) {
    if (this.penIsDown) {
      stroke(this.color);
      strokeWeight(this.weight);
      line(this.x, this.y, x, y);
    }
    this.x = x;
    this.y = y;
}


function turtleDistTo(x, y) {
    return sqrt(sq(this.x - x) + sq(this.y - y));
}


function turtleAngleTo(x, y) {
    var absAngle = degrees(atan2(y - this.y, x - this.x));
    var angle = ((absAngle - this.angle) + 360) % 360.0;
    return angle;
}


function turtleTurnToward(x, y, d) {
    var angle = this.angleTo(x, y);
    if (angle < 180) {
        this.angle += d;
    } else {
        this.angle -= d;
    }
}


function turtleSetColor(c) {
    this.color = c;
}


function turtleSetWeight(w) {
    this.weight = w;
}


function turtleFace(angle) {
    this.angle = angle;
}


function makeTurtle(tx, ty) {
    var turtle = {x: tx, y: ty,
                  angle: 0.0,
                  penIsDown: true,
                  color: color(128),
                  weight: 1,
                  left: turtleLeft, right: turtleRight,
                  forward: turtleForward, back: turtleBack,
                  penDown: turtlePenDown, penUp: turtlePenUp,
                  goto: turtleGoTo, angleto: turtleAngleTo,
                  turnToward: turtleTurnToward,
                  distanceTo: turtleDistTo, angleTo: turtleAngleTo,
                  setColor: turtleSetColor, setWeight: turtleSetWeight,
                  face: turtleFace};
    return turtle;
}

uses small turtle squares to create a user generated gradient.

clicking on the color labels changes their value.

gradient-2gradient-1

mreyes-looking outwards-MikroKontrolleur

Katharina Hauka and Dominik Hildebrand Marques Lopes, MicroKontrolleur, 2015-2016

MicroKontrolleur is both and engineered instrument that uses gesture as a means of sound making. The instrument can be hooked up to any average microphone and It consists of a series of pulleys and foot pedals that can send signals to a software. The software than manipulates sound depending on what you are doing with the instrument. The instrument is naturally a very body performative act when played and can create a range of sound from small popping or clicking to storm like sounds. The musician playing the instrument must stand close to the microphone, looking as if they are going to sing into it. This breaks the viewer out of the common structure of how music is usually performed. In this is also begins to almost question the power dynamic between a singer and a band.

MikroKontrolleur2016 from Katharina Hauke on Vimeo.

Denise Jiang – Looking Outwards 11

I discovered this amazing project by NY-based artist Lisa Park who is actively involved in the arts at the New Museum. She uses brainwaves to compose and perform music. The project has an atmosphere of Zen; it is about exploring vulnerability and self-control. Lisa approached the project by wearing a futuristic headset that contains electroencephalography (EEG) sensors, which would transpose her brainwaves to vibration of water in the plates surrounded. Music is produced using Max/MSP and Reaktor. I think this project is a very interesting integration of technology, neuroscience and art. It is not only produce music, but more importantly reflects the mood, the thinking and the neuro movements of the performer.

Neurosky EGG programming
EUNOIA 2013
Lisa Park
EUNOIA 2013
Lisa Park

LookingOutwards-11 Sadie Johnson

Hannah Davis, Saif M. Mohammad, TransProse, 2014

Thanks to databases that evaluate the “emotional content” of words based on their emphasis, definitions, and connotations, an algorithm has been created to transform the emotional content of the diction in famous literary novels into music. To create this program, two programmers and artists named Hannah Davis and Saif Mohammed first split novels into four parts – the beginning, earlier middle, later middle, and conclusion. Each emotion from striking words are translated into a note or series of notes, which the creators say was the part where their artistic capabilities shone through the most. After that, the same note or sequence of notes was repeated whenever that emotion was repeated in the source text’s diction.

 

https://arxiv.org/abs/1403.2124

Hannah K-Project 11

sketch-60.js

var turtle1;
var turtle2;
var turtle3;
var turtle4;
var turtle5;
var turtle6;
var turtle7;
var turtle8;
var turtle9;

function setup() {
    createCanvas(500, 500);
    turtle1 = makeTurtle(120, 60);
    turtle2 = makeTurtle(110, 230);
    turtle3 = makeTurtle(120, 350);
    turtle4 = makeTurtle(250, 75);
    turtle5 = makeTurtle(260, 210);
    turtle6 = makeTurtle(250, 375);
    turtle7 = makeTurtle(400, 60);
    turtle8 = makeTurtle(390, 230);
    turtle9 = makeTurtle(400, 350);
}


function draw() {

    // Draw the frame
    fill(255, mouseX, mouseY);
    rect(0, 0, width-1, height-1);

    // Creating turtle 1 / 9
    turtle1.penDown();
    turtle1.setColor(0); 
    for (var i = 0; i < 500; i++) {
        turtle1.forward(10);
        turtle1.right(50);
        turtle1.forward(40);
        if (i % 10 === 0) {
          turtle1.forward(15);
        }
    }

    // Creating turtle 2 / 9
    turtle2.penDown();
    turtle2.setColor(0);
    for (var i = 0; i < 500; i++) {
        turtle2.forward(10);
        turtle2.right(65);
        turtle2.forward(40);
        if (i % 10 === 0) {
          turtle2.forward(15);
        }
    }

    // Creating turtle 3 / 9
    turtle3.penDown();
    turtle3.setColor(0);
    for (var i = 0; i < 500; i++) {
        turtle3.forward(10);
        turtle3.right(50);
        turtle3.forward(40);
        if (i % 10 === 0) {
          turtle3.forward(15);
        }
    }

    // Creating turtle 4 / 9
    turtle4.penDown();
    turtle4.setColor(0);
    for (var i = 0; i < 500; i++) {
        turtle4.forward(10);
        turtle4.right(65);
        turtle4.forward(40);
        if (i % 10 === 0) {
          turtle4.forward(15);
        }
    }

    // Creating turtle 5 / 9
    turtle5.penDown();
    turtle5.setColor(0);
    for (var i = 0; i < 500; i++) {
        turtle5.forward(10);
        turtle5.right(50);
        turtle5.forward(40);
        if (i % 10 === 0) {
          turtle5.forward(15);
        }
    }

    // Creating turtle 6 / 9
    turtle6.penDown();
    turtle6.setColor(0);
    for (var i = 0; i < 500; i++) {
        turtle6.forward(10);
        turtle6.right(65);
        turtle6.forward(40);
        if (i % 10 === 0) {
          turtle6.forward(15);
        }
    }

    // Creating turtle 7 / 9
    turtle7.penDown();
    turtle7.setColor(0);
    for (var i = 0; i < 500; i++) {
        turtle7.forward(10);
        turtle7.right(50);
        turtle7.forward(40);
        if (i % 10 === 0) {
          turtle7.forward(15);
        }
    }

    // Creating turtle 8 / 9
    turtle8.penDown();
    turtle8.setColor(0);
    for (var i = 0; i < 500; i++) {
        turtle8.forward(10);
        turtle8.right(65);
        turtle8.forward(40);
        if (i % 10 === 0) {
          turtle8.forward(15);
        }
    }


    // Creating turtle 9 / 9
    turtle9.penDown();
    turtle9.setColor(0);
    for (var i = 0; i < 500; i++) {
        turtle9.forward(10);
        turtle9.right(50);
        turtle9.forward(40);
        if (i % 10 === 0) {
          turtle9.forward(15);
        }
    }

}


function turtleLeft(d){this.angle-=d;}function turtleRight(d){this.angle+=d;}
function turtleForward(p){var rad=radians(this.angle);var newx=this.x+cos(rad)*p;
var newy=this.y+sin(rad)*p;this.goto(newx,newy);}function turtleBack(p){
this.forward(-p);}function turtlePenDown(){this.penIsDown=true;}
function turtlePenUp(){this.penIsDown = false;}function turtleGoTo(x,y){
if(this.penIsDown){stroke(this.color);strokeWeight(this.weight);
line(this.x,this.y,x,y);}this.x = x;this.y = y;}function turtleDistTo(x,y){
return sqrt(sq(this.x-x)+sq(this.y-y));}function turtleAngleTo(x,y){
var absAngle=degrees(atan2(y-this.y,x-this.x));
var angle=((absAngle-this.angle)+360)%360.0;return angle;}
function turtleTurnToward(x,y,d){var angle = this.angleTo(x,y);if(angle< 180){
this.angle+=d;}else{this.angle-=d;}}function turtleSetColor(c){this.color=c;}
function turtleSetWeight(w){this.weight=w;}function turtleFace(angle){
this.angle = angle;}function makeTurtle(tx,ty){var turtle={x:tx,y:ty,
angle:0.0,penIsDown:true,color:color(128),weight:1,left:turtleLeft,
right:turtleRight,forward:turtleForward, back:turtleBack,penDown:turtlePenDown,
penUp:turtlePenUp,goto:turtleGoTo, angleto:turtleAngleTo,
turnToward:turtleTurnToward,distanceTo:turtleDistTo, angleTo:turtleAngleTo,
setColor:turtleSetColor, setWeight:turtleSetWeight,face:turtleFace};
return turtle;}

This week for my project, I decided to make several repeating turtles with a changing background. It kind of reminds me of the pattern we had to create for a project in a past week. It was fun revisiting the use of turtles, and I enjoyed making turtles that looked totally different from the meanders we created for the assignment last week. I think the changing background adds a cool visual effect, and it was something I came up with during the course of making this project. I did not really start this project with an exact plan, like I usually do, but I enjoyed it nonetheless and feel much more comfortable using turtles now.