The project is called Experiments in Musical Intelligence (EMMY) designed by David Cope. David Cope works in the area of sound and computation and this project is about composing complete works in the styles of multiple classical composers. For example, in the work Mozart-style Sonata 2-1, the algorithms composed the piece in the style of Mozart from the analysis of the pieces traditionally composed by Mozart. The thing that I admire the most about the project is its potential of extending the lives of great musicians. By using algorithms, we can still hear new music pieces from those dead musicians. This is extremely exciting because it is a way for human beings to achieve eternity.
Reference
David Cope, Mozart-style Sonata 2-1, 2013.
var dx1;
var dy1;
var dx2;
var dy2;
var numLines = 100;//number of lines
function setup() {
createCanvas(400, 300);
background(158,216,238);
}
function draw() {
stroke("blue");
line(20, 30, 300, 280);//first line
line(350, 300, 400, 0);//second line
dx1 = (300-20)/numLines;//x coordinate on the first line
dy1 = (280-30)/numLines;//y coordinate on the first line
dx2 = (400-350)/numLines;//x coordinate on the second line
dy2 = (0-300)/numLines;//y coordinate on the second line
var x1 = 20;
var y1 = 30;
var x2 = 350;
var y2 = 300;
for (var i = 0; i <= numLines; i += 1) {
line(x1, y1, x2, y2);//150 lines between the 2 lines
x1 += dx1;
y1 += dy1;
x2 += dx2;
y2 += dy2;
}
line(0, 0, 50, 400);//thrid line
line(100,250,380, 30);//fourth line
dx3 = 50/numLines;//x coordinate on the third line
dy3 = 400/numLines;//y coordinate on the third line
dx4 = (380-100)/numLines;//x coordinate on the fourth line
dy4 = (30-250)/numLines;//y coordinate on the fourth line
var x3 = 0;
var y3 = 0;
var x4 = 100;
var y4 = 250;
for (var i = 0; i <= numLines; i += 1) {
line(x3, y3, x4, y4);//150 lines between the 2 lines
x3 += dx3;
y3 += dy3;
x4 += dx4;
y4 += dy4;
}
stroke(29,169,200);
line(50, 200, 300, 300);//5th line
line(360, 300, 400, 100);//6th line
dx5 = (300-50)/numLines;//x coordinate on the 5th line
dy5 = (300-200)/numLines;//y coordinate on the 5th line
dx6 = (400-360)/numLines;//x coordinate on the 6th line
dy6 = (100-300)/numLines;//y coordinate on the 6th line
var x5 = 50;
var y5 = 200;
var x6 = 360;
var y6 = 300;
for (var i = 0; i <= numLines; i += 1) {
line(x5, y5, x6, y6);//150 lines between the 2 lines
x5 += dx5;
y5 += dy5;
x6 += dx6;
y6 += dy6;
}
noLoop();
}
I created an abstract image of waves using the technique of string art. It captures the essence of ocean waves and gives the audience a feeling of fluidity.
]]>The project is called string art which is making use of automatic computation and digital fabrication to create artistic string images. Before the technology, artists usually create string images in a highly complicated and tedious process manually. For getting this outcome completely automatically, the artists in this project made use of a computational setup that was driven by a discrete optimization algorithm. The optimization algorithm received a chosen picture as input and converted the picture into a graph with connected strings which tried to reassemble the input image best possibly. The thing that I admire the most about this project is showing the computers’ ability to make abstract outputs. It is because computer outputs had been considered by most people as concrete and objective but this project showed that our computers had achieved another level (abstracts). In this project, the artists can potentially control how abstract the outcomes will be.
Refrence
Michael Birsak, Florian Rist, Peter Wonka, and Przemyslaw Musialski Computer Graphics Forum (Proceedings of Eurographics), 2018.
var d= 100;//diameter of each circle
function setup() {
createCanvas(600, 450);
}
function draw() {
background(10);
noStroke();
d=min(mouseX,width);//d changes when the mouse moves
fill("red");
circle(width/4, height/4, d);//top left red circle
fill("green");
circle((width/4)*3, (height/4)*3, d);//bottom right green circle
d=width-d;// d changes oppositely
fill("blue");
circle(width/4, (height/4)*3, d);//bottom left blue circle
fill("orange");
circle((width/4)*3, height/4, d);//top right orange circle
}
When I was designing the graph, I was thinking about the idea of contrasting colors (red and green, blue and orange) and circles popping out.
]]>
var eyeSize = 50;
var faceWidth = 300;
var faceHeight = 300;
var mouthSize=20;
var State= 0;
function setup() {
createCanvas(640, 480);
}
function draw() {
background(180);
fill (255,160,122);
ellipse(width/2, height/2, faceWidth, faceHeight);// face
var eyeLX = width / 2 - faceWidth * 0.25;// x position of left eye
var eyeRX = width / 2 + faceWidth * 0.25;// x position of right eye
fill(255,255,255);
ellipse(eyeLX, height / 2, eyeSize, eyeSize);//left eye
ellipse(eyeRX, height / 2, eyeSize, eyeSize);//right eye
fill(0,0,0);
ellipse(eyeLX, height / 2, eyeSize/3, eyeSize/3);//left pupil
ellipse(eyeRX, height / 2, eyeSize/3, eyeSize/3);//right pupil
fill(255,0,0);
var mouthX =width/2;
var mouthY =height/2+0.25*faceHeight;
ellipse(mouthX, mouthY, mouthSize, mouthSize);//mouth
fill(139,69,19);
}
function mousePressed() {
State= int(random(1,4))
if (State == 1) {
faceWidth= 200;
faceHeight= 400;
eyeSize= 70;
mouthSize=40;
mouthY=height/2+0.5*faceHeight;// surprise face
} else if (State == 2) {
faceWidth= 325;
faceHeight= 275;
eyeSize=30
mouthSize=10;//relaxed face
} else {
faceWidth= 300;
faceHeight= 300;
eyeSize=50;
mouthSize=20// normal face
}
}
When I was designing the project, I was thinking about different states of facial expression and trying to show them in the product.
]]>One of the computational architecture art piece created by artist Michael Hansmeyer is Zauberflöte, a grotto set design for Mozart’s Magic Flute. The thing that I admire most about this project is the combination of classic art and modern experimental art presented by this project to the audience. Mozart’s Magic Flute has been a famous classic opera art piece and Michael Hansmeyer made use of algorithm to design the set for the opera. In this way, this one art piece can draw attention from different groups of art audience: people who are interested in modern experimental art and also people who are interested in classic art. From my knowledge, the grotto’s geometry is completely composed by a generative subdivision algorithm. By using algorithms as a compositional strategy, the artist created an architecture whose processes are deterministic but the results are not necessarily entirely foreseeable, which shows that computational art has the power to surprise the audience.
Reference
Hansmeyer, Michael, Zauberflöte, 2018, https://www.michael-hansmeyer.com/zauberfloete
The most interesting about the project is using simple elements to create a meaningful drawing.
//Elmy Chen Section D
function setup() {
createCanvas(500, 500);
background(220);
}
function draw() {
fill (255,160,122);
ellipse(250,250,350,410);
fill(0,0,0);
ellipse(150,200,40,40);
ellipse(320,200,40,40);
fill(255,0,0);
triangle(220,400,280,400,250,420);
fill(139,69,19);
rect(50,45,90,400);
rect(350,45,90,400);
rect(140,45,110,100);
rect(250,45,110,100);
}
Soungwen Chung is a multidisciplinary artist and in the artwork Gestures of Becoming-With, she explored a future with the communication between humans and machines. This project is super interesting for me because the author was brave enough to use groundbreaking technologies in a different field such as art. She used a robot hand to create the artwork which took her about 3 months. The artwork was created during the COVID-19 quarantine lockdown. The robot imitated her brush/marker strokes while she was painting with her hand, which interests me the most. To my knowledge, the author did not develop any custom software. Instead, she used some commercial software that was available in the market.
Reference
Chung, Soungwen. Gestures of Becoming-With. 2021, Brooklyn.