Final Project: In this sketch I wanted to recreate a Max4Live patch I made that uses Markov Chains to generate new melodies based on the midi data you feed into it. In this implementtion you can play one octave on the computer keyboard using the first and second rows of your alphabetic keyboard A-L for white keys, and W-U for black keys. The range is limited to C4-C5. You can record for up to 10 seconds and playback. After pressing the Markov Button, it will process your played melody into a new melody. The new melody will be played and you can download your original melody and the new Markovified melody as an audio file with the download button.
Final Project Progress: In this sketch I wanted to recreate a Max4Live patch I made that uses Markov Chains to generate new melodies based on the midi data you feed into it. In this implementtion you can play one octave on the computer keyboard using the first and second rows of your alphabetic keyboard A-L for white keys, and W-U for black keys. The range is limited to C4-C5. You can record for up to 10 seconds and playback. After pressing the Markov Button, it will process your played melody into a new melody. The new melody will be played and you can download your original melody and the new Markovified melody as an audio file with the download button.
Sound Synthesis: In this sketch I wanted to recreate a Max4Live patch I made that uses Markov Chains to generate new melodies based on the midi data you feed into it. In this implementtion you can play one octave on the computer keyboard using the first and second rows of your alphabetic keyboard A-L for white keys, and W-U for black keys. The range is limited to C4-C5. You can record for up to 10 seconds and playback. After pressing the Markov Button, it will process your played melody into a new melody. The new melody will be played and you can download your original melody and the new Markovified melody as an audio file with the download button.
Sound Analysis: In this sketch I wanted to recreate a Max4Live patch I made for sequencing rhythms using words. You can enter a word in each box and it will trigger a sample with a rhythm created from the morse code pattern of that word.
Video Sketch: In this sketch I wanted to recreate the visual of a Gameboy Camera video feed with a greyscale set made of 4 colors. I was inspired to use the color sets from the Super Game Boy, which allows you to convert the greyscale to other greyscale sets of 4 colors. The video resolution isn’t perfectly matching but gives me the same feeling. I want to add brightness and exposure settings to this eventually. Press on one of the colors to begin.
Pixel Level Sketch: SQUARE, NOISEY, LOFI. For this sketch, I wanted to create a live video feed with a pixelated grid that randomly updates pixels in each. I chose 50x50 squares for my pixel grid. the pixels randomly change their order within an array for each square. this creates a noise effect on each.
Array of Objects Sketch: For this sketch, I wanted to create an interactive version of my logo. Using the ‘R’ key you can increase the noise movment of each selected letter. Using the ‘A’ key you can rotate each selected letter. Using the ‘y’ key you can convert the text to a “3D” looking text with a gradient applied. Using the ‘shift’ key you can change colors of the text. The trail stays the color of the text as it moved so you can draw with each letter on the canvas.
WIP Array Sketch: For this sketch, I wanted to create something interesting for my personal website. I want to create an interesting interactive animation that uses my logo in a fun way. I want to explore mouse interactivity with this sketch more next week.
Function Sketch: For this sketch, I used functions to make my interface sketch more optimized and ledgible. I found it difficult to incorporate some features as functions because of the need to render each side of the cube individually. This caused me to have to create a lot more variables to account for the vertex variations on each side.
I also reviewed Qian Zhang’s function sketch. Description of Qian’s sketch: Qian uses functions to access arrays of emotions. She randomly moves emotion words from each category of array on the screen once the category is pressed by the mouse button.
Pattern Sketch: For this sketch, I wanted to create a pattern that uses repeating turns. I was confused on how to use loops to make this so I consulted ChatGPT. I ended up with a shape resembling a golden ratio with less definition. I animated this with mouse X and Y location and also strokeWeight growth and shrinking based on how long the mouse button is held.
Interface Element Sketch: For this sketch, I wanted to make a recursive cube animation. I used ChatGPT to help me learn how to make and animate a cube and setup a recussive generation inside the cube. I then animated the colors of the cubes, the rotation and changed the quantity of recursive cubes. I made a button in the top left corner to control the amount of cubes inside each other. By pressing the button you add one more recursion
Animated Sketch: For this sketch I decided to work on my aesthetic of my design more. I like creating chaos in an image but I am a bit unsure on how to control the speed of the updating BezierVertex. I also planned to just have the red circles rotate around the center circle but I was unsure how to make them all rotate fluidly around the center so I chose to just let them fly around different axis randomly with mouse movement.
Self-Portrait: I wanted to animate a simple design with a few of the shapes I tried. While playing with shapes I came up with this design of using ellipse() and quad() connected together in a bouncing battern. It kind of reminded me of an umbrella. While duplicating this animation to make another I made a mistake to keep the base of each quad() line connected at their tips. This inspired me to make a smiley face animation which turns into a frown. I used bezlerVertex() to create the mouth, which i found very difficult to modify. In the future I think I will spend more time on using my code to make a aesthetic design, rather than experimenting with functional animation.