Stairwell Design

“Create an LED installation for a stairwell that enters down into an event. The ‘visual priority’ is the entrance down the stairs, not the exit up the stairs.”

Read More

Four Tet & Squidsoup- LED Festoons

Four Tet collaborated with lighting team, Squidsoup, to create a simple, yet immersive lighting rig for his tour in 2015-2016. Squidsoup used around 5000-6000 addressedable RGB festoon LEDs. Each strand had about 24 LEDs and was hung from a single point so it fell verticaly. The strands were arranged in a grid of 24 across and 8 deep, creating a volumetric sculpture of light behind the artist on stage. In smaller venues, the sculpture would almost completely engulf a large part of the room. While possible to control it using traditional 2D media, all of the content was controlled in real-time using custom software, to be fully able to take advantage of the multiple layers of lights.

Read More

Face:Face Realized

Face:Face is a conceptual data capture and visualization piece utilizing WebSockets and Node.JS in the browser. It is designed to show the whole process of data visualization: starting with gathering data, processing the data, and finalizing visualizing it. It is also made to highlight connections and similarities between people who are gathered together in a space or at an event. This system is designed to be easy to setup and run, only requiring good phone service/Wi-Fi, the ability to dim the lighting in the space, a PA system to announce the questions, and a computer to run the server. For my final, I worked with Sam Chasan to try and realize this piece on a small scale.

Read More

Samples and Lyrics

This is an old track that I was working on with my friend Kile (on vocals), but we never finished it. I really liked his vocal samples on this track, so I chopped them up and assigned them to the top row of keys, and had them to change the text and background image. The text are the lyrics for the current sample, and the background image is related to the lyric. There is a simple piano and bass loop, along with four drum samples, and some additional vocal samples. The vocal samples can be played left to right in the “proper” order, or they can be played in a more freestyle manner.

Read More

Angle Synth

For this week’s assignment, I created a monophonic, theremin-like synth controlled via tilting one’s phone. I initially tried using the Web Audio API, but ran into support issues on mobile browsers, so I switched back to p5.js for the time being. Rolling the phone controls the pitch, and tilting the phone controls the volume. A small ellipse is also drawn to help with visualization.

Read More

Face:Face

Face:Face is a data capture and visualization piece utilizing WebSockets and Node.JS in the mobile browser. It is designed to show connections between people who are gathered together in a space or at an event. This system is designed to be easy to setup and run, only requiring good phone service/Wi-Fi, the ability to dim the lighting in the space, a PA system to announce the questions, and a computer to run the server.

Read More

File Storage

For this assignment, I simply updated my previous work to storage each of the pictures that were taken. This is the updated code:

Read More

Common Pulse Midterm

My idea for this midterm was to create a website that will play a soundfile once every second, synchronously across multiple devices to create a common pulse. I would like to leverage the device’s own system clock for this, allowing the pulse to be driven by that. Once the total number of users have joined the page, the piece will begin. I will experiment with latency and clock drift, to see if this will have an impact on the performance.

Read More

Neruda's Favorite Words

For this project, I wanted to analyze a series of Pablo Neruda’s poetry (English ones and translations) and create an archive based on words he used 10 or more times.

Read More

Common Pulse

My idea for this midterm is to create a website that will play a soundfile once every second, synchronously across multiple devices to create a common pulse. I would like to leverage the device’s own system clock for this, allowing the pulse to be driven by that. Once the total number of users have joined the page, the piece will begin. I will experiment with latency and clock drift, to see if this will have an impact on the performance.

Read More

Recursive Photos

This was the group project that Elizabeth and I worked on for the HTML5 Audio/Video assignment. We had originally wanted to capture live video from each user’s webcam and draw that video onto a canvas at the location of the user’s cursor. Essentially creating a space of talking heads where each user could control their own position, with further goal of allowing the user to draw on their canvas. However, we ran into a lot of obstacles trying this method, and eventually came to the realization that this wasn’t the best way to go about this. So we scaled our efforts back to simply capturing an image and printing it to a shared canvas. We got that running, but not to the desired effect. Instead of simply capturing an image from the webcam and printing that to canvas, it would capture the entire canvas already drawn in addition to an image from the webcam. This created a recursive effect, that got exponentially more chaotic as more users took pictures.

Read More

Simple Draw

I had a bit of trouble with this assignment, as such I wasn’t able to get much done besides a basic modification of the original code. I updated the chat portion to match what I had for the previous assignment, then I modified the canvas to fit the entire chat window and draw rectangles on a click. I was having a lot of issues with scaling and getting the divs to fit correctly inside of each other, and as you can see the positioning of the rectangles varies slightly depending on where in the canvas you click. I believe it’s just another issue with scaling the input to the correct canvas size.

Read More

Lighter Self

Initially for this project, I had wanted to collect data every hour for a week about what I was doing / what was on my mind. However, I found that my observations of my behavior were in fact influencing how I was acting. I was also not disciplined enough to collect enough hourly data to create a meaningful piece.

Read More

Simple Chat

For this assignment, I just tried to make the front end a bit more readable. With the original code, every time a message was sent, an errant ‘0’ was being added. I couldn’t precisely figure out which line of code was making it do that, but I isolated the chunk of code causing that. I also wanted to have each message print to a new line, so I ended up having to modify that chunk any way.

Read More

Self Portrait

I wanted to create something that reacted proportionally to the direction of input, so naturally I decided to use the arrow keys as the interactive element. I filmed two video segments, one of me panning my head back and forth, and the other of a laptop being opened and shut. I then edited these clips down, so that there was one movement in each clip (head goes from left to right, laptop goes from open to shut). I then set these video clips to start in the middle of their duration, so that my head was positioned looking relatively forward when they start. The arrow keys then scrub through the video, which in turn makes it seem like my head / the camera is moving in the direction of the arrow. I also added some filtered white noise and had the arrow keys affect the panning /volume of the sound.

Read More

Visualizing Foreign Populations in the U.S.

So to be perfectly honest, I struggled a bit longer than I should have just parsing the data at first, haha. I needed a bit of a refresher on object arrays. But once I figured that out, it was really fun to try and figure out ways to visualize it. I started with just a simple, bar graph style chart. I added color for the regions and a readout based on mouse position. My biggest diffiulty was working with scale (as some values were extremely small compared to the maximum). For some reason, full screen and embedded versions of these sketches hang at the beginnign wtih a “Loading” message.

Read More

Tonal Gravity

For my final project, I wanted to develop an interactive audiovisual environment based around the concepts of particle systems. I also used this project for my Algorithmic Composition final performance, where audience members were given control of the piece. This project was developed with p5.js, node.js, and websockets, using examples from Nature of Code and Interactive Play.

Read More

Electron Lamp

For our final project, we had to create an object using multiple machines. I decided to create a shadow-box style lamp based on electron shells. This project involved 3 machines: the CNC machine, the lathe, and the 4-axis mill. My thought process was to cutout rings on the CNC and stack them to make a hollow cylinder. Then turn a faceplate and baseplate for the cylinder on the lathe to ensure a snug fit. Then machine the holes on the 4-axis, and finish by sanding on the lathe.

Read More

Candle Holder

I wanted to work with a cylindrical object both to save time and so that I could bring it back to the lathe to sand. I made the model in three steps. First I extruded a circle into a cylinder. Then I extruded four squares into columns, and subtracted them from the cylinder. Finally I extruded three circles into discs, and added them back into the main cylinder. I started with a square piece of wood that I rounded out on the lathe to get to this point:

Read More

Final Ideas

For my final project, I want to develop an interactive environment based around the concepts of particle systems. I would ideally like to leverage people’s phones to generate sounds, using the accelerometer data to affect the pitch and volume. Each device (or tone) would be represented visually as a particle (either on a large screen or projected in the room). In addition to using the phone’s accelerometer data to direct the pitch and volume, each particle would experience gravity relative to the other particles. The result would be an audiovisual system that tended towards an average equilibrium, but with enough noisey input to be constantly evolving.

Read More

Mallet

The second week on the lathe involved fitting two pieces together to make a mallet. I went with a simple design since I was starting from square pieces of wood and just getting them round took a bit of time.

Read More

Graphene

For my presentation, I wanted to discuss graphene, a carbon-based supermaterial. Here is my presentation as a series of images:

Read More

Lathe 101

For our lathe skill builder, we were tasked with spindle turning a handle for a chisel. I decided to mostly do it freeform, only measuring dimensions for the part where the chisel would be attached. The only ornamentation was the three center peaks, designed to provide an ergonomic grip.

Read More

Hot and Cold Seeker

For this assignment, I re-worked the “Smart Rockets” code to alter how it displayed the rockets. To begin, I simply made the rockets into ellipses. I then mapped the red and alpha channels to vary based on the distance to the target, and I mapped the blue chanenl to vary based on the current lifecycle. When the target is hit, it erases the current target, adds a new target, adds a new obstacle, clears the background, and immediately advances to the next generation.

Read More

LED Clock

For our CNC midterm, I decided to make an LED clock using a NeoPixel strip and a piece of 1” plywood. The NeoPixel LEDs come at 60 pixels per meter, so that was really convenient. The thickness of the plywood was to allow for a deep channel for the LEDs.

Read More

Particles in Max

My usual work environment for all things visual is Jitter in Max/MSP. To be honest though, it had been a fair amount of time since I’d tried to delve deeper into Jitter, as I was focusing on learning different software. I’ve recently gotten back into creating visuals and want to get my Max chops up to date. So I decided to follow along in building a particle system in Max/MSP using Jitter and Gen. While the concepts remain the same, the workflow and terminology in Max can be quite different, so I used the Amazing Max/MSP Tutorials on YouTube to help me understand some of the mathematics and semantics of using Gen by following along to their particle system tutorial. Max has its own native particle system, but seeing a particle system built from basic Max objects and some Gen code was useful for figuring out future abstractions. For now though, I implemented their particle system, added some color and trail tweaks. I also added a three spheres, the red sphere is an attractor and the two blue spheres repel.

Read More

Concentric Joint

For our skill builder on the CNC machine, I wanted to see if I could design my own joint. I went with the idea of routing concentric circles to create a joint that could rotate. I divided a circle into four segments, the inner circle, and three concentric rings around it. For one side of the joint, I would create a pocket cut of the inner circle and the second ring, and the other side side of the joint would have a pocket cut for the first and third ring.

Read More

No Shoes Sign

I wanted to see if I could make a pictographic sign indicating not to wear shoes past this point. I imported an image of a crossed-out shoe and framed it in a octagon to mimic a stop sign. I started with a piece of plywood that I’d bought a while ago, unfortunately it was slightly warped.

Read More

MKR1000 Thermostat

For this assignment, we needed to create a thermostat that posted hourly temperature readings to a server, in addition to having a potentiometer to create a desired temperature set point. I used the Arduino MKR1000 and the TMP36 analog temperature sensor to log and post the temperature to the server.

Read More

Smoke

I’d already been working with types of particle systems in a number of my previous exercises, so I decided to re-work a previous sketch to more resemble smoke. I started with this fall and rising sketch using 4 points to create animated quads

Read More

Plant Helper

For our solar project, Sam and I wanted to make a solar-powered device to help look after plants. The concept is straightforward, to use solar energy to slowly rotate a plant and monitor its hydration level. Instead of trying to store large amounts of energy, we will simply store up enough energy to make a slight rotation and to make a measurment of the water level. Our idea for monitoring the water level would be similar to a gas gauge in a car, with a servo rotating according the plant’s hydration. This way, even when the device is not being powered, it can still display the plant’s hydration.

Read More

Repeating Layers

For our 2.5D assignment, I went about making a stack of nested shapes inside of circles. I decided alternate back and forth between circles and squares. I started with very thing pieces of ply that I cut to shape to fit into the mill.

Read More

Harmonic Emotion

I’ve continued the theme of breathing new life into my previous sketches. This uses a similar framework as my Drunk Perlin Walker and adds the idea of harmonic motion to the size, position, and color of each object. I used the gif template and modified the rest of the code to incorporate a class for generating ellipses.

Read More

Milling Around

The expression “milling around”, as described by the Cambridge English Dictionary, means “to move around with no particular purpose or in no particular direction”. And so it’s a funny turn of events that what we call a CNC mill, does just the opposite. Tell it its purpose, give it its tools, feed it some material, and watch it precisely gnaw away with intent.

Read More

Hue Web Interface

For this second assignment, we were asked to create a web interface for a connected device. I decided to make one for Phillips Hue lighting system, as I already had this installed in my house. The documentation and debugger provided by Phillips was also really helpful in connecting to the hub and getting started. Once I was successfull connected to my hub, and given a username, I went through some of your hue examples and decided to use p5.js to build a simple, client-side interface for the hue lights in my room.

Read More

Fan Lines

I decided to continue working on my drunk Perlin walker, so I created a variation that ended up resembling what I think could be fabric or smoke with a force blowing upwards.

Read More

LED Jumprope

For the Kinetic to Light assignment, our group wanted to create a mechanism that would be playful while also allowing for participation from mulitple users. Naturally, we gravitated towards all the playground acitivites. We thought about using swings, but realized the challenge in converting motion in two directions into a stable source of electricity. The next thought was to get a lazy susan to create a scaled-down version of a carousel, but this would involved belt drives and building housing for both the motor and “fly wheel” assembly. We also realized we would probably need to get a lower RPM motor than the one we had already sourced. So finally, we decided to try and create electricity using jump rope.

Read More

Router Skills

If I learned anything from the first week’s assignment it was that freehanding a router is very difficult, and therefore jigs are super important! I started by drilling holes near the four corners of a piece of plywood. Using a circle jig, I made cuts at the same lengths from each corner dowel, starting to create a symmetrical pattern

Read More

A Good Night's REST

For our first assignment, we created simple servers user node.js and express.js that implemented a RESTful API. The server should have a minimum of three functions, and therefore three RESTful endpoints. Below is the documentaion for my API and a link to the project’s repository on GitHub.

Read More

Expressifier Servo Mount

For this final assigment, I decided to improve the servo mount for my PCOMP project, the Expressfier. The concept of this project involves using an expression pedal to control a servo. By attaching the servo to a knob on a guitar pedal, a musician can then manipulate effects with their feet, without having to stop playing.

Read More

Unreal Demo

Unreal has been pretty intuitive to use, especially after going over all the keyframing stuff in After Effects. I started by creating a world and then terraforming it. I created mountains on three sides and left one edge flat. I knew I wanted to work with water, so I made a lake in the center of the map, and terraformed around the edges so it had some depth. I then made a simple cuboid structure, with water for a roof, wooden floors, and slate walls. I inserted three point lamps to provide lighting in the room. I used the default character from Mixamo as my first character and textured it with a glowing material. I then made a simple character in Fuse and uploaded it to Mixamo, downloading the bellydancing animation. I placed my custom character in the middle of the lake.

Read More

Collapsible Lampshade

For this assignment, I wanted to use soft materials and try sewing something by hand. I decided to make a hanging lampshapde that was collapsible so it could travel easily. For materials, I used some wire, white lycra, a clotheshanger, and a standard light socket.

Read More

The Expressifier - Wired Version

Over the course of this build, I kept running into issues with my wireless units. So in order to get a working prototype done, I scratched the wireless component of this project for the meantime and focused on making a single module. I used a pre-made plastic enclosure and added the components and then made a simple servo mount out of wood.

Read More

Sloth Kong Battles NYC

For this assignment, Camilla and I had initially thought about filming someone skateboarding while wearing a green screen suit and using that footage as a frame to animate within. We scratched that idea due to some logistical issues, but decided to continue with the theme of skateboarding. Camilla then asked me if there were any animals that I resonated with and I told her, the sloth! I actually used to have a mural of a colorful sloth hanging out in my old bedroom (see below):

Read More

Enclosure

I decided to use this assignment to work on my enclosure for the PCOMP final, the Expressifier. My project involves using an expression pedal (type of guitar pedal) to control a multitude of servos, allowing for a musician to manipulate a parameter on one of their pedal’s while still playing (there is only one working servo currently for the demo). The expression pedal plugs into the enclosure, which then routes that information to a servo. I used a simple, store-bought plastic enclosure and a drill to make this project.

Read More

Tetrahedron Diamond

I wanted to make a simple geometric structure based around triangles. I’ve made some tetrahedrons in the past, but they’ve always been cut by hand, leaving rough edges and uneven lengths. I didn’t take full advantage of the laser cutters capabilities, but the result was satisfying. I started with a cardboard model, and eventually moved onto 1/8” foamboard. The adhesive used was hot glue.

Read More

Final Project Journal

Concept

My idea for my final project is to see if I can create a system that allows for someone’s mobile devices to become a pixel in a light show. The idea is currently intended only for implementation in a seated venue, as it would ask the user to input their seat row and number in order to determine which pixel the phone should represent. The main challenge that I see myself facing is figuring out how to allow multiple phones to access the same pixel information and controlling for latency.

Read More

Paper Towel Holders

For our assignment on repeatability, I decided to make five wall-mounted paper towel holders using wood and screws. The materials used for this project consisted of two 4’ x 6” pieces of woods, two 4’ dowels, some drywall screws, and a random piece of ply I needed because I didn’t buy enough wood to account for mistakes.

Read More

Pixel Phones

Concept

My idea for my final project is to see if I can create a system that allows for someone’s mobile devices to become a pixel in a light show. The idea is currently intended only for implementation in a seated venue, as it would ask the user to input their seat row and number in order to determine which pixel the phone should represent. The main challenge that I see myself facing is figuring out how to allow multiple phones to access the same pixel information and controlling for latency.

Read More

The Expressifier

I had this idea when I was still in my undergraduate program studying Music Technology, but I never actually tried to prototype or build it, so I figured now was a good as time as any to start on it. The initial concept was to take a generic expression pedal and create an interface that would allow for it to control multiple servo motors wirelessly. The servo motors would be housed in such a way as to allow connection to the knobs of a guitar pedal, while simultaneously drawing power from a generic 9V power supply. The units will communicate over an XBee wireless system. The main transmitter unit will house an Arduino, while the receiver units will ideally just use an XBee module. For this class, my aim is to get the controller unit and a single servo and housing working. The controller unit will most likely be housed in a simple enclosure with minimal controls, as I’m anticipating the most difficult part of this being the construction of the housing for the servo unit. Future iterations of this project would feature a more advanced controller unit, various/multiple receiver modules, and possibly direct XBee to XBee communication without Arduino.

Read More

PAC-MAN Stop Motion

WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA WAKA

Read More

Flashlight

I’ve been trying to use as many recycled or scrap parts in my projects. Before we met last week, I had salvaged two pieces of plywood and a piece of aluminum tubing from the junk shelf. I wanted to practice on the bandsaw and scroll saw, so I used the bandsaw to cut the plywood into two discs. Then I drilled a starter hole in the center of each disc and used the scroll saw to cut a circle that the aluminum tubing could fit in. I cut the holes slightly too large, so I used tape to increase the the thickness of the piping. Unfortunately, I didn’t get any documentation of this as I wasn’t expecting to necessarily use those pieces in a project, but once I’d assembled the pieces and we met for class, I realized I could use the body for the flashlight.

Lamp Body

Read More

Color Mixing Lamp

I’ve been working as a lighting designer for the past few years, primarily in the context of live music events. But before that experience, I had never really interacted with RGB or CMY color spaces, much less had an understanding of these additive and subtractive models of color.

Read More

Bouncing Balls

I wanted to expand on the bouncing ball example that was presented a few classes ago, and with my new comprehension of objects, the logical course was to make more bouncy balls!

Read More

Tinny Trumpet

My main instrument has always been bass, but I’ve always wanted to play trumpet. I once managed to get my hands on a trumpet for a few months, much to my roomates’ dismay, but I have a trumpet no more. So I hacked one together using some buttons, aluminum cans, a small omni microphone, and our trusty Arduino.

Read More

Color Palette

The format for this assignment was to create six square compositions that utilized the same color palette and to post it on Instagram. I went with a 6-tone color palette, using red, green, blue, cyan, magenta, and yellow. The color were arranged in the order they would appear in a wraparound spectrum, and the six compositions were designed to be viewed together in a 3x2 grid. Here are the six images below:

Read More

Revisions

Chicken Game

Blair and I decided to work on her chicken game, but we only had the opportunity to meet very briefly, but we sent each other code to look at. I added a single function to the code and made slight modifications elsewhere so that the score only increased when the egg falls into the nest. The speed now also increases whenever you score. Blair added a really cool easter egg, that’s all I’ll reveal. My high score was 14.

Read More

Ticket Redesign | Expressive Words

I decided to start with the ticket redesign just to get a bit more expierence with Illustrator before moving onto designing something from scratch. Seeing how clustered the existing ticket design is, it wasn’t that hard to at the very least make it a bit clearer. I organized the information so that it was more passenger-friendly, moving the information for official use towards the edges, while attempting to maintain a similar layout as the previous design. This was so that officials wouldn’t have to completely relearn where everything is, but nowadays I mostly see them scan the bar code. Rarely do the officials ever have to read your boarding pass, thus the precedence should be displaying the information clearly to the passenger!

Read More

Inverse Color Slider

My goal setting out was to make an RGB color mixer with three faders created by a function. I will preface this all by saying I did not succeed. I began the assignment by tackling challenge 1 and 2 from the homework page, which involved using a for loop to generate multiple dots that would change color on rollover.

Read More

Subway Turnstile

I was having a hard time picking what piece of technology to survey for this project, so I thought about technologies that I interact with most often. I realized there was one piece of equipment that, not only did I interact with almost daily, but also have observed countless other’s interactions with it: the MTA MetroCard reader and turnstile.

Read More

Signs

The first thing I noticed was that, once I started looking, the signs were everywhere. Equally surprising was that I had a harder time finding signs that I disliked than finding those I liked. Let’s start with the three signs that I liked:

Read More

Ellipticals

I wanted to execute a very simple concept that used elements of randomness and order in degrees of fairly equal magnitude. Starting with the bouncing animation, I then made the speed random and mapped red to the horizontal dimension, green to the vertical dimension, and blue to the speed. The height is then only affected by the global variable set in the beginning. This yielded the following:

Read More

AKIRA

I chose to use the cover of the North American version of the “AKIRA” manga series, Vol. 1, No. 16.

Read More

Coding Language

Music has been my second language for most of my life. It has syntax, structure, flow, and most importantly, pattern. When you’re learning music, of course you need to learn the syntax and structures, but whether you realize it or not, you’re just learning a bunch of patterns.

Read More

A Nest of Cubes

I initially decided to make a series of nested cubes, using a 3-color palette. I figured I would go about this by drawing three quads to make a cube, encapsulating the cube code into a function, and then performing displacements after that. Let’s start with figuring out how to draw a cube and center it on the screen…

Read More

What is Interaction?

I view technology as extensions of the self. We use these tools only to become them. My interest with interaction revolves largely around what kinds of interactions we are setting ourselves up for based on the technolgies and tools we are creating and using. How can these technologies enhance or detract from our experiences with each other and ultimately lead to a better understanding of ourselves?

Read More