AIVA is a software that aims to create AI-generated music. It gives its users the chance to select from a preset of tools or import their own inspiration in order to create a unique song or beat of their own. The creators aim for AIVA to be used as a supplement to other projects. Game developers, composers, and more can use AIVA to add an emotional supplement to the creative process. As someone who loves music, this project is especially interesting to me as I feel as if music is very key to the emotional experiences we find in other forms of entertainment. Many of these aspects intersect, creating a very personal experience for the consumer. What is different about AIVA, though, is that this experience can be created by an everyday person who might not be too versed on how to compose such music for themselves. This allows those who wish to experiment, and gives those who are using it for professional purposes to buy the copyright to the music that is created, which is something not usually seen in apps like these.
Category: SectionA
Project 04: String Art Pizza
I made a pizza, a box, and a sun. I’m not really sure where I was going with this but I ate pizza.
//Kaitlyn Chow
//kachow
//Section A
var dx1;
var dy1;
var numLines= 20;
var starLines= 8;
var angle=0;
var boxLines=40;
function setup() {
createCanvas(400, 300);
background(220);
dx1= (30-50)/ numLines;
dy1= (150-50)/ numLines;
dyBox= (100)/ boxLines;
}
function draw() {
//Shape 1 pizza: Lines from pizza left to the point (200, 170)
stroke(250, 245, 202);
line(50, 50, 30, 150); //pizza left side
line(30, 150, 200, 160); //pizza right bottom
line(200, 160, 50, 50); //pizza right top
var x1= 50;
var y1= 50;
for(var p=0; p<= numLines; p+=1){
line (x1, y1 , 200, 160);
x1+= dx1;
y1+= dy1;
}
//crust & toppings
stroke(183, 137, 70);
strokeWeight(5);
line(50, 50, 30, 150);
noStroke();
fill(255, 0, 0);
circle (75, 100, 20);
circle (75+20, 140, 20);
circle (75+20+30, 120, 20);
//shape 2 sun: each time, line x and y position changes
stroke(1);
strokeWeight(1);
var xStar= 300;
var yStar= 50;
for(var s=0; s<=starLines; s+=1){
push();
translate(300, 50);
rotate(radians(angle));
angle+=2
line(s, 0, s, 50);
pop();
}
//shape 3 pizza box:
noFill();
push();
translate(200, 175); //location of box
rect(0, 0, 100, 100);
//left side(0, 0, 0, 100);
//right side(100, 0, 100, 100);
//box design
stroke(78, 52, 46);
var x1Box=0;
var y1Box=0;
var x2Box=100;
var y2Box=100;
for(var a=0; a<=boxLines; a+=1){
line(x1Box, y1Box, x2Box, y2Box);
y1Box+=dyBox
y2Box-=dyBox
//line colors
if(a%2==1){
stroke(78, 52, 46); //dark brown
}
else{
stroke(156, 90, 5); //caramel brown
}
}
pop()
}
LookingOutwards-04 (Section A)
I was interested by the “Mozart style Sonata 3-3” by David Cope. I find it interesting how a computer can create music that actually sounds like music to people– opposed to just having random notes played. Originally, I thought Cope had coded all the of the music just through code and I was really impressed. Cope’s artistic sensibilities are revealed because he would have to understand music theory to be able to produce music. At the same time, he would also have to understand Mozarts style very well to be able to create code that produced music that was similar.
However, I as was looking into how it was made, I read comments that said that it seemed like just a mash up of many of Mozart’s Sonatas. In this case, his code may just be taking parts of Mozart’s Sonatas and having the computer put it togther. If this is the case, this is not quite as advanced as I thought but I still think the music is pretty cool!
I’m not sure which one it is. If Cope was really able to code all of the music to sound like Mozart and the computer generated all of it, that is really impressive but either way, it is interesting how computers can create music which is usually thought to be very human.
Here is the link by David Cope. 2013. “Mozart style Sonata 3-3.”
Project-04: String Art-Pineapple
Although it’s a bit abstract, but it is a pineapple. Everything is made by “string”.
/* Jiayi Chen
jiayiche Section A */
function setup() {
createCanvas(300, 400);
background('yellow');
}
var numLines = 50;
var dx1;
var dy1;
var dx2;
var dy2;
function draw() {
// percentize width and height
var w= width/100;
var h= height/100;
//body of pinapple
//diagonals(*w,*h,*w,*h,*w,*h,*w,*h) general formula
diagonals(0*w,0*h,0*w,100*h,0*w,100*h,100*w,100*h); //left outside
diagonals(100*w,0*h,100*w,100*h,100*w,100*h,0*w,100*h); //right outside
diagonals(0*w,100*h,0*w,30*h,0*w,30*h,100*w,30*h); //left inside
diagonals(100*w,100*h,100*w,30*h,100*w,30*h,0*w,30*h); //right inside
//smooth the vertexes of pinnaple
diagonals(10*w,80*h,50*w,95*h,50*w,95*h,90*w,80*h); //bottom
diagonals(10*w,50*h,50*w,35*h,50*w,35*h,90*w,50*h); //top
diagonals(40*w,30*h,10*w,60*h,10*w,60*h,40*w,90*h); //left
diagonals(60*w,30*h,90*w,60*h,90*w,60*h,60*w,90*h); //right
//Green Hair
push();
stroke('green');
strokeWeight(2);
diagonals3(15*w,20*h,30*w,45*h,70*w,45*h,80*w,20*h);//sides
diagonals3(30*w,45*h,50*w,15*h,70*w,45*h,50*w,15*h);//middle
diagonals3(30*w,45*h,50*w,15*h,50*w,15*h,70*w,45*h);//upper middle
pop();
//background
diagonals3(0*w,0*h,0*w,30*h,100*w,0*h,100*w,30*h);
//texture
diagonals2(25*w,60*h,40*w,58*h,40*w,58*h,50*w,45*h);//left
diagonals2(25*w,60*h,40*w,58*h,40*w,58*h,50*w,75*h);
diagonals2(75*w,60*h,60*w,58*h,60*w,58*h,50*w,45*h);//right
diagonals2(75*w,60*h,60*w,58*h,60*w,58*h,50*w,75*h);
diagonals2(50*w,75*h,30*w,80*h,30*w,80*h,35*w,85*h);//bottom left
diagonals2(50*w,75*h,70*w,80*h,70*w,80*h,65*w,85*h);//bottom right
noLoop();
}
function diagonals(x1,y1,x2,y2,x3,y3,x4,y4){ //diagonal/straight lines between 2 lines
line(x1,y1,x2,y2);
line(x3,y3,x4,y4);
dx1=(x2-x1)/numLines;
dy1=(y2-y1)/numLines;
dx3=(x3-x4)/numLines;
dy3=(y3-y4)/numLines;
for (var i = 0; i <= numLines; i += 1) {
line(x1,y1,x3,y3);
x1 += dx1;
y1 += dy1;
x3 -= dx3;
y3 -= dy3;
}
}
function diagonals2(x1,y1,x2,y2,x3,y3,x4,y4){ //less lines
line(x1,y1,x2,y2);
line(x3,y3,x4,y4);
numLines=20;
dx1=(x2-x1)/numLines;
dy1=(y2-y1)/numLines;
dx3=(x3-x4)/numLines;
dy3=(y3-y4)/numLines;
for (var i = 0; i <= numLines; i += 1) {
line(x1,y1,x3,y3);
x1 += dx1;
y1 += dy1;
x3 -= dx3;
y3 -= dy3;
}
}
function diagonals3(x1,y1,x2,y2,x3,y3,x4,y4){ //less lines second version
line(x1,y1,x2,y2);
line(x3,y3,x4,y4);
numLines=30;
dx1=(x2-x1)/numLines;
dy1=(y2-y1)/numLines;
dx3=(x3-x4)/numLines;
dy3=(y3-y4)/numLines;
for (var i = 0; i <= numLines; i += 1) {
line(x1,y1,x3,y3);
x1 += dx1;
y1 += dy1;
x3 -= dx3;
y3 -= dy3;
}
}
Blog 4
Don Ritter’s piece, Intersection creates an experience that truly tests and separates the sense of hearing from the others. In a pitch dark room, the participant is to walk into a room with nothing but sounds. Sounds of cars passing by, as if you were in the middle of a busy intersection. This experience that lacks sight, and essentially all three other senses as well really gets the participant to listen. I assume the purpose is to create an experience that evokes anxiety and fear, scared that a car is approaching but not knowing from where. Like many other projects of his, like These Essences, aims to unsettle viewers with extremely vivid sounds that are in some cases assisted with very unusual and textural images. The combination of two and sometimes just the sound creates sounds that are beyond just sound, but enough to very effectively penetrate the visitors’ mind through sound. The way these sounds are created are likely using visuals that accompany the sounds to engineer the sounds so that just the sounds alone can paint or evoke the feelings of the visuals much more powerfully than the image can. I think it is a combination of AI that understands sounds and codes that amplifies certain patterns of sound that we are sensitive to.
project 4
//Keng Pu (Paul) Li
//section A
//9/24/22
var numLines = 50;
var dx1;
var dy1;
var dx2;
var dy2;
var dx3;
var dy3;
var dx4;
var dy4;
var dx5;
var dy5;
var dx6;
var dy6;
function setup() {
createCanvas(300,400);
background(220,50,100);
//triangle
dx1 = 5;
dy1 = 5;
dx2 = 10;
dy2 = 10;
//most left
dx3 = 5;
dy3 = 1;
dx4 = 5;
dy4 = 5;
//blue
dx5 = 7;
dy5 = 1;
dx6 = 5;
dy6 = 5;
//dark blue line
dx7 = 5;
dy7 = 1;
dx8 = 15;
dy8 = 15;
//very dark
dx9 = 10;
dy9 = 7;
dx10 = 20;
dy10 = 5;
}
function draw() {
background(220,50,100);
//most left
x3 = 0;
y3 = width/2+100;
x4 = width/2;
y4 = width/2+100;
for(var i = 0; i<40; i++){
strokeWeight(2);
stroke(200,90,180);
line(x3,y3,x4,y4);
x3 += dx3;
y3 += dy3;
x4 -= dx4;
y4 += dy4;
}
//triangle
x1 = width/2;
y1 = width/2+100;
x2 = width/2;
y2 = width/2+100;
for(var i = 0; i<100; i++){
strokeWeight(3);
stroke(0,20,20,70);
line(x1,y1,x2,y2);
x1 += dx1;
y1 += dy1;
x2 -= dx2;
y2 += dy2;
}
//dark blue line
x7 = width-170;
y7 = 50;
x8 = width/2+70;
y8 = width;
for(var i = 0; i<100; i++){
strokeWeight(1);
stroke(50,10,190);
line(x7,y7,x8,y8);
x7 += dx7;
y7 += dy7;
x8 -= dx8;
y8 += dy8;
}
//blue line
x5 = 0;
y5 = width/2;
x6 = width/2+50;
y6 = width;
for(var i = 0; i<90; i++){
strokeWeight(0.5);
stroke(110,110,255);
line(x5,y5,x6,y6);
x5 += dx5;
y5 += dy5;
x6 -= dx6;
y6 += dy6;
}
//very dark lines
x9 = width/2+50;
y9 = -100;
x10 = width;
y10 = height;
for(var i = 0; i<100; i++){
strokeWeight(0.5);
stroke(50,10,90);
line(x9,y9,x10,y10);
x9 += dx9;
y9 += dy9;
x10 -= dx10;
y10 += dy10;
}
}
Looking Outwards-04
The Project I choose is “Light & Sound Synthesis: In conversation with Amay Kataria”. This is an interactive art device.
With the incorporation of a custom program, the audience will become part of the exhibition, and they can control light and sound with their own opinion.
The most interesting part of this project is the creator uses light and sound to create a connection between space, art, and the human mind.
The program and digital interface are able to store every different visitors’ thoughts when they are experiencing the project, and the stored data also influence the surrounding environment.
I also admire that the author tried to think about what is the maintenance of thoughts.
here is the link: https://www.creativeapplications.net/environment/light-sound-synthesis-in-conversation-with-amay-kataria/
Project 4
this is my project 4
var dx1;
var dy1;
var dx2;
var dy2;
var distance = 5
var numLines = 35;
function setup() {
createCanvas(400, 300);
background(0);
line(250, 0, 25, 25); //top-left
line(25, 25, 0, 250);
dx1 = -225/numLines;
dy1 = 25/numLines;
dx2 = -25/numLines;
dy2 = 225/numLines;
line(150, 300, 375, 275); // bottom right
line(375, 275, 400, 50);
bx1 = 225/numLines;
by1 = -25/numLines;
bx2 = 25/numLines;
by2 = -225/numLines;
}
function draw() {
//top left part
var x1 = 250;
var y1 = 0;
var x2 = 25;
var y2 = 25;
stroke(0, 50, 233);
for (var i = 0; i <= numLines; i += 1) {
line(x1, y1, x2, y2);
x1 += dx1;
y1 += dy1;
x2 += dx2;
y2 += dy2;
}
//bottom right
var a1 = 150;
var b1 = 300;
var a2 = 375;
var b2 = 275;
for (var i = 0; i <= numLines; i += 1) {
line(a1, b1, a2, b2);
a1 += bx1;
b1 += by1;
a2 += bx2;
b2 += by2;
}
//circular shape
push();
translate(width/2, height/2);
var x = 200
var y = 100;
//pink
for(y = 10; y <= 500; y += 3) {
rotate(radians(175));
strokeWeight(1)
stroke(244, 82, 255);
line(x, y, 10, y)
}
//blue
for(y = 40; y <= 400; y+=0.5) {
rotate(radians(35));
strokeWeight(0.8)
stroke(81, 211, 255, 70);
line(150, y, x+distance, y+distance)
distance -= 5;
}
pop()
noLoop();
}
Project 4: String Art
/*
* Andrew J Wang
* ajw2@andrew.cmu.edu
* Section A
*
* This program draws line arts
*/
var maxNum = 30;
function setup() {
createCanvas(400, 300);
background(0);
}
function draw() {
background(0);
//using the 3 functions for 3 different shapes
backgroundStrings (50);
stroke(255);
circleStrings(200,150,200,500);
stroke(255,0,0,255);
circleStrings(200,150,100,58);
push();
fill(255);
ellipse(200,150,100);
pop();
stroke(255,0,0,255);
hexagonStrings(200,150,100,5,10);
}
function circleStrings(Cx,Cy,Cd,Cl) {
for (var k = 0; k < maxNum; k++)
{
//grabing points on the circle
y=sin((k*(360/maxNum))*Math.PI/180)*(Cd/2)+Cy;
x=cos((k*(360/maxNum))*Math.PI/180)*(Cd/2)+Cx;
//making lines that is perpandicular to the radius with adjustable lengths
p1X = x + cos(-(Math.PI/2-(k*(360/maxNum))*Math.PI/180))*Cl;
p1Y = y + sin(-(Math.PI/2-(k*(360/maxNum))*Math.PI/180))*Cl;
p2X = x - cos(-(Math.PI/2-(k*(360/maxNum))*Math.PI/180))*Cl;
p2Y = y - sin(-(Math.PI/2-(k*(360/maxNum))*Math.PI/180))*Cl;
line (p2X,p2Y,p1X,p1Y);
}
}
function hexagonStrings(Hx,Hy,Hd,num,seg) {
//make arrays
const array = [];
var angle = 360/num;
for (var k = 0; k < num; k++)
{
array[k] = new Array();
y=sin(-Math.PI/2+(k*angle)*Math.PI/180)*(Hd/2)+Hy;
x=cos(-Math.PI/2+(k*angle)*Math.PI/180)*(Hd/2)+Hx;
line (Hx,Hy,x,y);
for (var s = 0; s<seg; s++)
{
//3D array grabing every points on the line of the star
array[k][s] = new Array();
var y1=sin(-Math.PI/2+(k*angle)*Math.PI/180)*(Hd/2)*s/seg+Hy;
var x1=cos(-Math.PI/2+(k*angle)*Math.PI/180)*(Hd/2)*s/seg+Hx;
array[k][s][0] = x1;
array[k][s][1] = y1;
}
}
//cross connecting those lines using for loop
for (var k = 0; k < num-1; k++)
{
for (var s = 0; s<seg; s++)
{
line(array[k][s][0],array[k][s][1],array[k+1][seg-1-s][0],array[k+1][seg-1-s][1]);
}
}
for (var s = 0; s<seg; s++)
{
line(array[num-1][s][0],array[num-1][s][1],array[0][seg-1-s][0],array[0][seg-1-s][1]);
}
}
function backgroundStrings (num) {
for (var k=0; k<num; k++)
{
//cross connecting with for loop
stroke(255/num*k,0,0,255);
line (k*width/num,0,width,k*height/num);
line (width-k*width/num,height,0,height-k*height/num);
line (k*width/num,height,width,height-k*height/num);
line (width-k*width/num,0,0,k*height/num);
}
}
LO 4 – Sound Art
I really like the albums that the Fat Rat, a music producer, made because I really like his style and his unique use of those special sound effects. (I’ll put a link for one of the songs he made (Unity) here) Most digital music producers always use a DAW (digital audio workstation) to make their music, and I would briefly explain how those producers use a DAW to make their music. First, they put down chords on some specific track lists (that look like a timeline) using pre-recorded chords of different instruments (which the Fat Rat mostly uses pre-recorded game sound effects, usually electronic music using programmable sound generator sound chips) in order like building blocks and then, they arrange those musical sentences (chords) so it all fits together to form a rhythm. After arranging those notes, producers have to adjust the audio levels of each track list (usually different instruments) to make them sound right, and this process is called the mix stage. In between the stages, the producer can easily add effects or change chords (like laying on top of the base note), making the music original and flexible to changes.