Until very recently I had only experimented with traditional design software and print. The idea of a generative poster printed on a risograph machine was exciting for me, and so I decided to try my best to create something both meaningful and beautiful.
View my results below:
Check out my code here.
Process
I started out by brainstorming a couple of topics that could be interesting to print as a form of protest. I wanted to make sure that I spoke about an issue I am passionate about and also qualified to talk about. I landed on immigration, reason being that I am a foreigner in America, and the country that used to welcome foreigners are now detaining my people and caging them at the border of Mexico and the United States.
After working on the ice cream cone exercise, I sketched a couple of silly patterns that had the potential of becoming a design system. I was inspired by the visualization of sound as an organic shape and the minimal shapes and colors of the Bauhaus movement (see below some posters that I thought were cool). My approach consisted in focusing on the ever-changing visuals of the background while leaving the message stagnant. I realize now that working with the type itself and making it morph into something new could’ve been another interesting approach, and as I keep learning the ins and outs of javascript, I hope to keep experimenting with different elements of my sketches.
Inspirational posters I found on Dribbble and Pinterest.
Code
The basis of my code relies on a for loop to generate shapes that resemble blobs with spikes (my sound waves). I created a function where a series of shapes are created by utilizing sin and cos multiplied by the for loop expression (plus a couple of other variables that incremented the size of these waves to give the shape a more sound-wavy look).
For the colors, I added the p5.riso library to my sketch and added the color layers to my shapes. At first, I tried adding the layers to my functions, which didn’t work and caused me some issues since I envisioned my poster as a 2 color poster. To solve this, I duplicated my soundwaves function and added the color to beginShape instead.
The type ended up being the easiest. I downloaded my fonts and called them at the beginning of my sketch with function preload. I scaled them to my desired size, rotated the word “IMMIGRANTS” 90 degrees and positioned the text on my desired location. I also made sure to use cutout the text from the color layers so that when exporting my pngs I would have 0 opacity letters.
Result
I love the end result! This is a poster that can be hung as art or be taken to an actual protest. I’m also really happy that I made my first soundwaves function call random and circle through yellow, blue, and red. The combination of these colors with black makes the design stand out more. Printing these was also a surprise since the colors came out much brighter and more saturated than on my computer screen. After a couple of tests, I lowered the opacity of the pngs on photoshop so you could appreciate each colored wave. I also created a grid of my 6 generated posters and printed them all in yellow, red, and blue as an experiment.
Bibliography
Using Riso.js library: https://editor.p5js.org/brain/sketches/LnRuJhmds
Rotate Text: https://stackoverflow.com/questions/56852325/how-to-rotate-text-vertically-with-p5-js
Sound Visualization: Radial Graph: https://www.youtube.com/watch?v=h_aTgOl9J5I
Bauhaus generator: https://editor.p5js.org/OMGChase/sketches/Lxw4dsE4j
Inspirational Posters by: ANNA Gugutishvili, Matt Pamer, Arno Kathollnig, Lukas Bruhn aka Lorem De Loop, Sally Rooney, and Common House.