Midterm Project idea

I decided to change my project idea and what i am  going to do is pop-song generator, based mainly on Taylor Swift and maybe Rihanna and Madonna’s lyrics. So far I have been able to implement the scraper for the lyrics and generate some lines, however in order to finish the project i need to implement a function to create the chorus and verses, there should also be a function to check whether the verse rhymes and more-or less the same length from line to line.

Since the topics are similar between the songs and artists, even the randomly generated lines make some sort of sense and tell some sort of store. The goal now is to make is as automatized and natural sounding as possible.

Week 6: Response to The Exiles

The author said in his masters thesis paper about the film, that he came up with the idea of making this film to portrait the reality of life, because he felt that few films achieved this. But the interesting point is, when you are trying to make something realistic, the process of “making” it makes it impossible to look real. Just about three minutes after the film started, Amber pressed the pause button and said, “wait a second, is this a documentary or a film?” We discussed a bit and decided that this is “a film trying to look like a documentary.” Often, the voice over doesn’t sync with the characters’ lips movements. And some scene-to-scene transitions are a bit choppy which could have been better. However, we all agreed that there are many beautiful compositions throughout the film.

One thing I kept my focus on was the expressions and emotions in the characters’ eyes. I could really see the grudgingly laziness and helplessness inside the main female character who was pregnant and just hoping to have a nice family. I can see the thoughtfulness inside the fat buddy’s (forgot his name) eyes and the difference between before and after he received a letter from his parents, and perhaps that was also the reason he couldn’t control his temper afterwards because he realized he was messed up. He walked back “home” on the other side of the street, not walking together with the drunken players. He was also drunk though. But what else could he do? The often stilled faces of the actors reminded me of the still faces of the Native Indians in the beginning of the film. There was nothing they could do, so why even try?

I kind of wish if the author recap the captions of the Native Indians somewhere near the end of the film. The film started out rather anticipating with all the still images and the continuous drum-beating tempo, and then it went on to the main story which I thought to be fine. But the later half of the film just seemed a bit boring with the same things happening again and again: drinking, smoking, gambling, getting high, and being lonely. The two reasons that kept me watching were perhaps first, I wanted to find out the people’s relationships with each other, and second, without any specific highrise or peak of the plot, the flow of the story just kept going on and never seemed to stop, as if saying their tragic lives were to be lived on forever.

All in all, I think The Exiles is really a cool form or way of telling a story. And it’s good of the author to express in this thesis paper about the problems he encountered during this experimental film, where he also tried not to “consciously make the actors play out something” within a consciously tailored outline.

Week6: InterLab Recitation (Marcela)

Today we tried to connect our arduino to processing.

To start with, I tried to send information from arduino to processing. I used a potentiometer.

I firstly started with finding my port number, and met one problem. I found that my computer doesn’t show out the serial list, and only gave out one line which reads “[0]COM4”.

I was confused about this, so I asked professors why it works like this. They studied it for a while, and then reached a result that this is because I’m using a windows systemed computer (instead of a Mac). Therefore I went straight to mark my port number as 0, and happily find out that it works well.

I made a easy animation with my potentiometer, sending the values from arduino to control the position of a circle. It is not difficult, and I multiplied the potentiometer’s value by different numbers to make sure the circle goes from one corner to another.

Then I tried to send information from processing to arduino. I used 3 LED lights, and decided to add keyboard interactions in. Therefore, I used keyboard “A””B””C” to light up 3 different LED lights, while making other keyboards buttons to turn them off.

It is also not tough, but while doing it, I learnt  the differnet between  myPort.write and print, and understand that using write will make the project works more quickly.

Lab 6 – Serial Communication 

Lab 6 – Serial Communication 

Date: October 20th, 2017

Documented on: October 20th, 2017

Documented by: Qianchun Yuan (Kaye)

Instructor: Moon Junghyun

In this lab, I created a circuit using my Arduino to send data from physical inputs to Processing, by using a potentiometer to draw an ellipse with variable w and h. Regarding a Processing sketch that sends data to Arduino, I used the location the mouse to control 3 LEDs (Red, Yellow and Green).

Continue reading

// IMA NYU Shanghai
// Interaction Lab
/* This is the code I used for Processing 

import processing.serial.*;

Serial myPort;
int valueFromArduino;

void setup() {
  size(500, 800);

  // this prints out the list of all available serial ports on your computer.

  myPort = new Serial(this, Serial.list()[ 2 ], 9600);
  // You will definitely get an error here.
  // Change the PORT_INDEX to 0 and try running it again.
  // And then, check the list of the ports,
  // find the port "/dev/cu.usbmodem----" or "/dev/tty.usbmodem----" 
  // and replace PORT_INDEX above with the index number of the port.

void draw() {
  fill(255, 0, 0); 
  rect(width/2, 100, 500, 200); 
  fill(255, 255, 0); 
  rect(width/2, 300, 500, 200); 
  fill(0, 255, 0); 
  rect(width/2, 500, 500, 200); 

  // to send a value to the Arduino
  if (mouseY<200) {
  } else if (mouseY<400) {
  } else if(mouseY<600){

Interactive Documentaries: The (awkward Tinder) Interview (A Chen)

password: awkward

Overall notes:

This was a little painful. To record, to watch, to edit (and watch over and over again in the editing process).  The interview itself was about 12 minutes, but a lot of it was incredibly boring (not that some of the footage included isn’t also boring, I’m just saying in relativity). I cut it down to a little over 2 minutes.

I think the reason the interview was so bad was because it also doubled as a date — at least to him, I think. I have never done an interview like this, so my level of professionalism is pretty low on camera. I was giggly, awkward, fidgety — but so was he. I guess that’s how first “dates” work.

If I had more time, I probably would have included some footage over my shoulder of me swiping through Tinder, me messaging Tiago, etc etc. The process leading up to the awkward encounter. I am also unhappy with 3 cuts in particular. There is one cut that I wanted to add a title card to — right after Tiago finished introducing himself there’s a fast, awkward cut to me asking another question. That is where I would have put a title card. Then there are two other times that are fast and awkward. I cut a lot of what he said, but had trouble smoothing out the edits. Maybe there is no way to split footage like that, but if there is I completely butchered it. The reason I cut so much was because it was so boring (as many first dates are…). He gave me background, nothing really to grasp onto. I am not surprised — it was the first time we have ever met in person, after all.

While I am sure Tiago has an awesome story to tell, I only got surface level background bio info from him. That is to be expected, especially when first meeting someone from Tinder, so you can’t blame him.

Given the fact the interview was so weird/awkward/unnatural, I decided to play that up in the editing process. I focused on the awkward parts, cutting to me laughing uncomfortably, etc etc. The last scene, when I asked him a crazy story about him, I intentionally left the long pause and cut the story for comedic effect. My intention was to paint this guy as if he was very boring (he wasn’t that boring — the poor guy, I recorded him on a Tinder date!!).

All in all, through editing I made this man seem a little different than he actually was, cutting out things that didn’t fit the narrative I wanted in my video. I am just now learning to edit, so hopefully in the future my edits won’t be so choppy.

Editing Notes:

My friend graciously let me use his super, super cool Sony camera. I shot the entire interview in 4K. Then in Final Cut Pro I created 3 projects — one of both of us in the shot, one with just him, and one of just me, which were all only 1080p. I used the multi-cam editing tool and flipped through each project as I watched it. Then, after I was happy with the flipping between projects, I exported it as a single project. Then I re-imported the single project and cut the footage I didn’t want in my project.

It was my first time ever using Final Cut Pro. I am not sure if I prefer Final Cut or Premier. I think I prefer Premier…

Also audio notes:

Not the greatest… I messed that one up. I should have probably gone in with a boom. You capture all of these distracting noises with the Tascam (i.e. Tiago breathing, background noise). I learned this lesson the hard way.

Recitation 6 – Serial Communication (Rudi) by Silvia Chen

Lab6: Serial Communication

Date: Oct.20th

Documented by: Silvia Chen

Instructor: Rudi

Processing to Arduino

When creating a Processing sketch that sends data to Arduino, I wanted to choose an RGB LED at first and wanted to use three variables but the fellow told me that I couldn’t manage it with the current knowledge, so I just turned to an ordinary LED.

I then chose an LED to express the data received.

The brightness of my green LED light will change as I move my mouse horizontally.


Arduino to Processing

I created a circuit using my Arduino to send data from the potentiometer to Processing. When the resistance is changed, the color and radius of the circle will change.

At first I didn’t use the ‘map’ gramma, and the movement was quite unstable, but after I added it, it worked well.

UX Updates

After a few weeks of feedback, I think it’s become increasingly clear to me that as I’m pitching Suckers as a UX design project, I need to do a much better job of explaining the much larger context behind it. Ultimately, it is important to note that I plan on continuing with Suckers as my capstone project, and as such have found a way to incorporate the project into many of my classes (from Interactive Docs, to Programmatic Design Systems, and even UX design). However, I think that because I can see the project so vividly, it has been hard for me to grasp what exactly it is that people don’t understand about my project from a UX perspective.

Because I think I’ve got a pretty solid visual aesthetic, and I’m pretty happy with the visual direction of the project, I’ve decided that in this final week I really need to focus on honing my original user story, but making a much higher fidelity version that can be adapted for further promotional material (think, game-play trailer). I’ve begun to write out an updated user story that attempts to really hammer home the essential details about this project, that it is:

  • Location Based
  • Low-Fidelity VR
  • About Vampires

As a side note, though also relevant when it comes to our impending poster deadline, because I’ve also focused on this project for Programmatic Design Systems, I think it’s important to note the crossover that this while have within my UX design! Essentially, I’m in the midst of creating an adaptive load screen that changes depending on what level the user has selected; however, in addition to that nifty feature, I’ve begun to devise a guerilla marketing plan that will incorporate the location-specific loading screens into mini, metro card sized “posters.” Here’s a rough, rough, rough draft that begins to show the early stages of the idea.

Response to the questions, Shuo Jiang (Lavenda)

If you could connect what you can make with arduino and processing, what would you make?

I want to transfer the colorful world into music. I would like to use the color sensors to detect the color and transfer them into R.G.B. numbers. And with the RGB number, I may assign different pitch of the sound to it. (I can use map to set the range and I may also change the hertz of the buzzer in order to get different pitches.) In processing, I will tract the coordination of the mouse, and the tracked value of mouseX and mouseY can be used to decide the rhythm of the music. The track of the mouse will also be recorded, so that the weird curve may be seen as the music score, and different color constitute can be seen as different instrument. The screen of the music score can be further decorated definitely. It is in a way like the music is created with the world you see and the rhythm you choose.

Find two interactive projects that you think are interesting, Why do you like them?

The project “Draw on the moon” attracts my attention since it is not simply art and project that expresses an idea, it is a collaboration of ideas from all the people who have interacted with the project. And the collaboration and combination of the thoughts weigh more than simply the sum of it. Another point is that the project does not need any further explanation to attract people to play with it. Itself features the quality of uncertainty and arouses everyone’s curiosity, who may have a possibility of viewing this page.

The project of ‘The Mood reflecting floor’ connects the projector and the light detector together to form a platform for users to play with. It creates the illusion that light is objectified and it is not simply the things untouchable, but something you can do to interact in a visual way. In this project, the interaction between light and people’s action is exaggerated and further manipulated in an emotional way. It is interesting anyway since people will not be easily bored with the interaction or the game.

How do they work? Try to find out What hardware/software is being used

(think about what you know so far: sensors, arduino, processing, etc.)

For the first project, it is more about the interaction through the website. I guess the team work on to translate the vector diagram into codes that determines the image on the website. The idea is simple, since the website is only a collaboration, but technical skills are more important.

For the light interaction project. I suppose there is a projector to emit certain rays of light according to the computer and print them on the floor. Then there might be some color sensors or light sensors installed on the ceiling to detect the action of the objects who may hindered the spread of light. Or there may be some more advanced ways of detecting the movement. It is possible that arduino helps collect the information and processings helps produce the light.

Look around for a problem you would like to solve or something you would like to improve. Why do you think this is an important matter to solve or improve?

I would like to improve the light use for desks in the library. The distribution of the lights in the library more or less secures that each desk can share one light individually. It is better to automatically light the lamp above the desk when someone is sitting there. It is important since there are lots-of non-peak hours and the use of the extra electricity is a waste of money and a waste of energy.

For which people are you making life easier? How could you solve this problem with design using arduino and/or processing?

It saves the time for people who wants to find the switch button of the lamps and helps save the energy for someone in needs of it. Using arduino, the weight of the stuff that are put on the table can be measured and implies that the table is used, and that the light should be on. Similarly, it can also measure if someone is sitting on the table.  And the occupation of the table can be combined into a blinking form created through processing to show if there are still accessible seat and where are they.


Rudi class — serial communication by Jerry, Ding Yuhao

Rudi’s class

Ding Yuhao

20 October 2017

Video of my project first:

Today we need to use processing and Arduino, and use serial communication to send data between them.

At the beginning, I decided to control three different lights by moving mouse to different regions on the screen. Then I decided, why not try something bravely? So I decided to control the light by moving the mouse. I designed the controlling processing code first, and the controlling screen look like this.

So when you move the mouse upwards, the light will be dimmer, if you move downwards, it will be lighter. And the three different regions is controlling three different lights.

Then I created the serial communication part, I decided to do it like this:

If it is in the red region, I will send mouseY.

If it is in the blue region, I will send 1000+mouseY.

If it is in the green region, I will send 2000+mouseY.

By adding coordinating codes in Arduino, the Arduino can distinguish the three regions and get all of its mouseY data.

However, it’s not working!!!!!!

Then I checked online, because I am sending chars, and it should be 0~255, so the number is to big.

To solve this, I do it mathematically like this:

if (mouseX<=200) {
t = 0;
t = t + mouseY/3;
if (mouseX<=400 && mouseX>200) {
t = 255/3;
t = t + mouseY/3;
if (mouseX<=600 && mouseX>400) {
t = 510/3;
t = t + mouseY/3;

So I made this number smaller but it worked the same.

And it finally works.

So that’s my project.


 * Mouse 1D. 
 * Move the mouse left and right to shift the balance. 
 * The "mouseX" variable is used to control both the 
 * size and color of the rectangles. 
import processing.serial.*;
Serial myPort;
int t = 0;
void setup() {
  size(600, 255);

  myPort = new Serial(this, Serial.list()[0], 9600);

void draw() {
  for (float i = 0; i<255; i++) {
    stroke(i, 0, 0);
    line(0, i, 200+i, i);
  for (float i = 0; i<255; i++) {
    stroke(0, 0, i);
    line(200, i, 400+i, i);
  for (float i = 0; i<255; i++) {
    stroke(0, i, 0);
    line(400, i, 600+i, i);

  if (mouseX<=200) {
    t = 0;
    t = t + mouseY/3;
  if (mouseX<=400 && mouseX>200) {
      t = 255/3;
      t = t + mouseY/3;
  if (mouseX<=600 && mouseX>400) {
        t = 510/3;
        t = t + mouseY/3;

//And the Arduino code

  String to Integer conversion

  Reads a serial input string until it sees a newline, then converts the string
  to a number if the characters are digits.

  The circuit:
  - No external components needed.

  created 29 Nov 2010
  by Tom Igoe

  This example code is in the public domain.


String inString = "";    // string to hold input

void setup() {
  // Open serial communications and wait for port to open:
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only

  // send an intro:
  Serial.println("nnString toInt():");

void loop() {
  // Read serial input:
  while (Serial.available() > 0) {
    int inChar = Serial.read();
    if (isDigit(inChar)) {
      // convert the incoming byte to a char and add it to the string:
      inString += (char)inChar;
    // if you get a newline, print the string, then the string's value:
    if (inChar == 'n') {
      Serial.print("String: ");
      // clear the string for new input:
      inString = "";

Week 6: Response to “Theft & Artistry: Coldplay + Beyonce” (Krom)

This article talks about some issues of cultural appropriation in artworks. There is a heated debate on whether the appropriation of dominated culture in western main-stream entertainment is appropriate or not. The article raises interesting examples of this kind and introduces many different views about them. I clicked on the links of the music videos mentioned and read several comments, and I got to know that there are two main reasons why people are against such cultural appropriations in artworks. The first is that they consider them as means of cultural colonization. It is claimed that these artworks deliberately show some “bad” part of the depicted culture. By doing so, the depicted culture is imposed with a biased impression that it is inferior to western cultures. For example, among the comments under “Hymn for the Weekend”, someone says something like “this video makes people think that India is a poor place”. The second reason is that, in the artworks that contain cultural appropriations, there is a lack of presence of the appropriated culture. For example, in “Hymn for the Weekend”, the artists only use India as a backdrop for their performances. The Indian people lack the opportunity to speak for themselves, they remain an object being interpreted or misinterpreted in an indifferent way.

Personally, I think that we sometimes have gone too far in political correctness. Every time we come across the subject of cross-culture interpretation, whether in arts or in texts, we have to act carefully in order not to be accused of post-colonialist thoughts. Personally, I think that this trait of thought limits rather than benefits our understanding of another culture. Since every culture has bright sides and dark sides, how can artists ensure that the elements they choose to embed in their art are considered bright? Or are they supposed to do so? Is it the duty of artists to depict a culture thoroughly and objectively? As far as I’m concerned, it is totally okay for an artist to pick elements from another culture, regardless of whether it can fully represent this culture, to form his or her own art. After all, the artist is not saying that “hey, look, this is India! You can know everything about India in my work!”. It is up to the audience rather than the performer to decide the audience’s perception of another culture. The audience should have abilities to analyze and judge! As long as what the artists present are true information, they should not be blamed for not interpreting another culture in the way that it would interpret itself. Complete understandings between cultures can never be fully accomplished. It is these multiple incomplete interpretations that bring possibilities for the people who get interested to understand the depicted culture better.