Author Archives:

finalProject: Halftone It!

This final project is a continuation of the first project. This maxPatch has the same conceptual goals as the first. These goals are to create an image renderer which turns an input into patterns of circles. I want to have lots of control over the dots, so I put in variables to scale the dots in various direction! Currently, I am confused why the image renders 90 degrees from the original input.

This patch works well with images generated in photoshop to produces interesting patterns. Conceptually, I am interested in creating patterns with tons of human artifact (especially digitally), but are they really artificial since people are a product of nature?


Halftone jitterator

This project takes an input image, reads through a jitter matrix, and creates a circle based on the position and value of the cell. The method this software uses is very time inefficient. At the last moment, I discovered an effective jitter block. Fortunately, This method would be a really interesting selfie-photobooth installation. The viewers would take a selfie, then would have to wait to see how it came out, lol.

parent patch:

sub 2:

sub 3:

Messsy Visualized Audio

This project uses the polar coordinates of the incoming signal and plots them on a cartesian plane! The visualization moves horizontally via a counter. One of the sliders to control the number of planes in the jitter matrix (this sort of controls the color). The other slider controlled the speed of scroll. This method has a top-speed, which already isnt very fast. I left the slider in case I wanted to hook it up again. Whoops-its a messy patch! At one point, I had the lcd control colors of the points, but something happened and I wasnt able to figure that out again. It would be interesting to run a sine wave sweep through this to look at that visualization!



Code for main patcher:

Code for child patch:


Video Noise Convolution


This assignment convolves two matrices. The first matrix is an RGB white noise grid, and the second is grayscale, with a scaled down proportion. When the two matrices convolve, the different sizes make the shimmering out effect at when both grids have  a high number of rows/columns. A MIDI controller changes the grid sizes. When the viewer claps, the grayscale matrix’s values are reset to 0, this allows the full RGB matrix to show through.



“Vinyl” scratcher

Pretend youre a DJ on the road; you need to practice your scratching, but your turntables wont fit in your lap! This max patch uses the mouses x-position over an lcd to change the playback speed of an audio clip. Features I would like to figure out: use the mouse’s y-position, visual indicator of scratch position, and a better time-shifter (rather than pipe). Using pipe is not ideal

Link to Github

Printed Paper Process


Light image 40x


Darker image 20x


The signal is a detailed image of a girl’s face with her hair. In photoshop, I overexposed the image, so it would print very faint. The feedback system was a laser printer. I ran the paper through the printer 20 times, and 40 times (the lighter image went through 40 times). The noise that started appearing (difficult to see in digital representations) is random toner that got added to the page and grayed out the paper, and lines where the paper gripper rollers were. after a certain point, the images stopped showing more detail as the paper was reprinted and ended up just becoming more contrasty.