ICM Week 4: Repetition Loops

See below for UPDATED sketch info.

This week we worked with creating repetitive designs using loops.  With Dan Shiffman’s 10PRINT Sketches as inspiration, I created the following: 


Code

I wanted to add the function mousePressed() into the sketch in order for the colors and overall design to reset into a new configuration.  In order to get the functionality I desire, one will need to either (1) refresh the browser or (2) enter in the Code and press play to get a new configuration of the design.  Here is a version of the same sketch without noLoop() but with mousePressed().   I’ve set the frame rate to 1 frame per second so that the animation is not spastic.  Click within the design and you will receive a new color configuration. 

 

Code

I would like to find a way to freeze the sketch then be able to reset the colors and shape placement by pressing the mouse. 

 

UPDATE:
In class, we were shown how to achieve what I was attempting.  By adding the for loop which created the sketch into mousePressed(), I was able to have the sketch update when the mouse is pressed. 

 

Code

V&S Week 4: Final Project Pitch

For our final project, Eden Chinn and I took inspiration from the Bloody Mary legend, in which a phantom is conjured to appear in a mirror when her name is chanted 13 times. Legend has it that people would seek out Bloody Mary in times of uncertainty in order to have their futures revealed to them. In our adaptation, we want to translate the concept of “caroptromancy” (divination using a mirror) to the computer, in which the computer is used as a parallel form of oracle. In contemporary times, Bloody Mary has left the mirror and entered our screens, as the new medium that reflects who we are. She tries to get the user to open one of many software programs that capture our image and allow us to see ourselves, such as Zoom. We watch as the user comes to terms with the possession of their computer after a series of attempts to thwart Bloody Mary’s control of the device and the user’s digital reflection. Through the use of Terminal, Bloody Mary finally gets what she wants from the user and acts on her new freedom.

The aim of this piece is for the viewer to forget they are watching a video and to start believing that their computer is the one that has been taken over.

Production:
All the shots will be done using screen capture on our laptops. We will, first, have to sync our layouts on our individual laptops so that we can work independently on the effects. Secondly, we will need to figure out how to run the computer without having the mouse move. Our goal is to have the Bloody Mary virus take the viewer into her world. With her world being the computer, she would use the terminal to open the apps.  We will have to test out using the terminal ourselves in order get the shots we require (without the mouse).

Things to consider:

  • As a POV experience, what sounds do we want to have?
  • How can we make this interactive? This piece could be an actual virus or website that allows for the interaction with the viewer. Could we use OBS and what would that look like?
  • Theoretically, if we were able to create a site or an app to play an interactive version of this tale, the app would be able to use the viewers own data to mimic the take over by a sentient virus.
    Is there a place for traditional videography within this piece? As we will solely be using screen capture to create this experience, do we need to have another element/camera view?

 

PComp Week 3: Group Project Planning and Labs

Group Project Planning:

For this week’s group project, I am paired with Yona Ngo and Yonatan Rozin.  We were drawn towards building a wearable piece that had a COVID influenced interaction but also something humorous.    We decided to make a piece that warned someone when they were too close to the user.  Below is our preliminary design for the piece by Yona

COVID Wearable Warning Hat

The hat will feature a sensor placed in the back of the hat that will trigger LEDs to flash, a finger to wave, and a speaker to create pitches at the intruder.  The pitches will be in an ascending pattern in an attempt to mimic someone saying “no, no, no” while wagging a finger.  We thought this would be a cute and humorous piece during this stressful time. 

Production Plan:
Since we are all in NYC, we  will be meeting this weekend/this coming week at 370 Jay Street to build this piece. 

We will use the following to produce the piece:
– Ultrasonic Ranger
– LED’s
– Several 220 Ohm resistors
– Servo motor
– 9V DC battery with snap connector
– Arduino
– Cardboard
– Copper tape
– plus other items we are missing…

Questions we will need to answer:
– How far can the ultrasonic ranger pickup distance from?  Hopefully 6ft?
– Will be have enough voltage with the 9V to power everything?
-If we are not all able to meet in person due to scheduling, how will we divide up the work?

Labs:

Lab: Tone Output Using An Arduino

When I started this lab, I had a few initial questions.  I wanted to add wires or headers to the ends of the FSR but I could not locate the videos Tom Igoe posted where he demonstrated how to do that.  I decided top ake a stab at it myself which was mostly successful.  Also, I did not have the necessary 100 Ohm resister or this project.  I’m not sure exactly how it effected the lab but I did have issues.  Since I didn’t have a 100 ohm resister I used the closest one i had, a 220 Ohm. 

I setup the boards and uploaded the program but was not able to get any reaction out o the 2nd FSR.  Is it supposed to have impact on the tone?

Tone Lab 1 Breadboard Setup

Musical Tones:
Got the music to play!

Last one:
Got the setup right but still with the 220 ohm resister instead of the 100 ohm connecting the speaker to ground.   I had a similar issue as with the first lab.  Only the second sensor was able to get a noise to play.Tone Lab with 3 FSR


 
Lab: Servo Motor Control with an Arduino

To start, I pulled out the pieces I needed and noticed something odd with my servo motor, it had a 4th wire.  I have an Analog feedback Micro servo motor S1123 from Adafruit. Per their site, the additional wire is “the feedback (potentiometer wiper) line is brought out to a fourth white wire. You can read this wire with an analog input such as those on an Arduino, to get the servo’s position. “  That answer that question but how do I figure out which of the other 3 wires goes where.   The wires are Brown, orange and a yellow/orange.  None of which follow the color scheme I am familiar with.  in order to figure out which was ground and which was power, I watched the video on Adafruit’s site.  Unfortunately, I think my guess was incorrect as you will see in a moment. 

When I setup the breadboard originally, the FSR was not reading.  Instead o testing the wiring, I decided to try a different component as I was concerned the FSR was not working properly.  That switch created the same result, nothing.  Next I took a look at the wiring and there was the culprit; I  had the wire from GND of the FSR going into the wrong pin of the Nano.  Once corrected, I tested the output of both the potentioneter and the FSR successfully.  Next came programming for the motor and testing.

Servo Motor Breadboard Setup

I was able to get the code setup as needed with very little challenges.  The challenge I had was getting the motor to work.  I went with my initial wiring configuration guess, then tried a few others and still nothing.  I decided it was time to call is a night and schedule some time for additional help with these assignments. 

 

ICM Week 3: Partner Assignment

Partner Assignment:

This week we were assigned a partners project where we were to work together to create using what we have learned so far which includes rule-based animation, motion, and interaction.  I got the opportunity to work with Mai Claro for this assignment. 

Process:
Mai and I met to discuss what we were thinking about and decided to create a painting app. Since I was feeling a bit behind in regards to fully comprehending everything so far, I decided to focus my contributions on designing some brushes that respond to mouse clicks.

I started by creating the following:

  • A color filled star brush that appeared when the left mouse button was clicked.
  • An unfilled star (outline) that appears when the right mouse button is clicked.
  • A transparent circle that appears behind the first star when the left mouse button is double clicked.
  • An eraser which is activated by pressing the mouse’s scroll wheel. All four of these items can be used to draw or erase connected areas by holding down its button.
    • I did notice after posting that this feature does make it difficult to use within the browser as, with my mouse, pressing the scroll wheel also controls movement around the browser window.
  • Lastly, I created 3 areas to hover ones mouse over in order to randomly change the color of the three items.

Below is my sketch prior to handing it over to Mai for more exciting features!


Code: https://editor.p5js.org/danielryanjohnston/sketches/izpODJcCU

Next, I handed what I had created off to Mai for additions (fireworks, sparkles, action, etc!). 

Update: Mai add sliders!  One slider allows the user to change the scale of the brush and the other switches between a square, a circle and a star.  I’m very motivated by how this turned out.   Due to how I had setup the background in setup(_), Mai was unable to add animation as well thought.  The bubbles worked but were functioning as the brush does by leaving duplicates of itself after each frame.  I wonder if there is a  way to parse out the sketch so that you can have both a component that needs the background refreshed each frame and one that does not?


Code: https://editor.p5js.org/MaiClear/sketches/yQ2bugnp8

Overall, this was a smooth collaboration with Mai and I look forward to working together again!  In regards to p5.js, I am feeling as though I better understand what we are being asked to create.   I am grateful that I was able to spend more time with the material this week and that I was also able to utilize Laurne McCarthy, Casey Reas and Ben Fry’s book Make: Getting Stated with p5.js

 

Video & Sound Week 2: Anamnesis, a Sound walk

Screenshot of Soundwalk

View the piece here in full screen.
Controls: Use the mouse to look around  and the arrow or the W, A, S, D, keys to move around the space

Ideation:

I began the project of building a sound walk by considering (1) what is a sound walk exactly and (2) what experience or adventure would I want to explore.  Jumping right to the second consideration, I imagined the following: a mediation, a journey through anxiety, an escape through Prospect Park; and an adventure that challenged the user’s perception of their reality.  All of which did not quiet fit what I thought to be a valid sound walk.  Having never created a sound walk before, I was unsure of the parameters that encapsulate a creating a sound walk.  I did, however, find clarification through the blogs of current and former ITP students.

This exploration into past projects provided me with an understanding of what a sound walk could be when kept in our physical reality.  I was having trouble imagining what a sound walk would being like when the world it takes place in is open.   Since we were given the freedom to create any world within Unity, I needed to rethink what my sound walk would look like.  I was a bit overwhelmed by both the scope of the project and by the rush of possibilities that were pouring into my head.  I sat  with pen and paper to start physically mapping out the desired experience I wanted in this undefined 3D environment.  Ultimately, it was time to commit to just one idea and get the project into production. 

I decided to create an exploration into memories, a kind of memory garden.  The goal of this experience is for the user to stumble upon areas that would bring up some form of memory and to have them sit with what comes up.  Each area would have a physical object that correlates with the experience to come once the sound is triggered.  These sounds would be based off of those tied to my own experiences.  The areas/memory/emotions would be kept to less triggering ones to start with.  In future builds, I would design a space called the Briar Patch where more challenging emotions and memories could be confronted.  I’d also create a retreat or safe-space within the Briar Patch where the user would have access to  comfort and emotion support.  The safe-space could potentially have a connection to someone who would be able to provide mental an emotional support for the user.  This project could be paired with work currently being done within VR focused around mental health.  The primary focus of this preliminary build is to create an interesting and thought provoking exploration into how sounds and memory are connected. 

The concept or this project is inspired by my own experiences of memory loss or repression.  This project presented an opportunity to explore a way I could both memorialize my experiences and work to bring some memories back. 

 Build Process:

I  started the project build by learning to use a zoom recorder which I took on a long walk through Prospect Park.  I was on the hunt for sounds to ill m y sound walk, which I had yet to clearly define.  It was, however, a lovely experience to be recording in the park at 7am. 

While compiling the recordings, I realized that I needed to get more clear on the concept of this piece.  I was luck to have the chance to talk my ideas through with my best friend who helped me to focus in on what I wanted to say.  The act of verbalizing the idea provided a lot of clarity.  I now had a more focused path, one which took into account my very limited knowledge of and experience with both Adobe Audition and Unity.   Next I further mapped out areas within the world as well as any thoughts on their sounds.  This part of the  build process kept me from going into unnecessary detours for which I am grateful for.

Draft Location Map:

  • Welcome with introduction to the space
    • Explains: What this is.  What to look for.  What to beware of.
      • Production: Once user starts moving, the background sound will on loop then switch off when the user enters the specific areas.
    • Areas:
      • Calming (Beach day/pond day)
      • Playful (Dogs playing in the park)
      • Family (Wind chimes)
      • Everyday (Grocery Shopping (Large items))
      • Invigorating/night out with friends (Sports event/bar/club)
      • Optional/For future build
        • Briar Patch (Fox NEWS/Trump, Baby Crying, Metronome/Lessons/Music, Being being asked too many questions all at once)
        • Fountain within the Briar Patch (Containing sounds of a stream, connection to support).

Unity:

After mapping out the general layout of where I would want the area to be located, I spent some time getting a refresher on Unity through the recordings from our class session as well as the resident’s help session (thank you Lydia Jessup and August Luhrs!).  Once I was in Unity, I created a new project then began figuring everything out. The first challenge I faced was understanding how to look navigate the space.  Unfortunately, I was having a much harder time than I expected so it was YouTube to the rescue.  Now that I was able to move through the space with some ease, I started to play with creating a floor. 

During class we were shown how to create a Terrain, which looked fun and interesting.  I wanted to play having the ability to buildup an environment with the swipe of my mouse. Terrain was, however,  a bit more challenging.  I watched a few videos but each presenter either (a) used a different version of Unity or (b) were trying to do something way too advanced for where I was at.  In the end, I experimented with the tools, downloaded lots of terrain assets and I was able to create something that worked.  Now that I had the space set and a basic understanding of the tools and presets, I was off to further create my world.

Since I was so interested in the terrain feature, I built a grand mountainous landscape where I could carve out an adventure for my audience.  I first created an entry scene where the user would be invited to step down and towards a character thereby triggering the audio.  The character, a gargoyle, would then great the user and layout a brief introduction to the space.  I was able to use several free assets throughout the walk which will be credited in the final documentation.  At one point I considered changing the entire scene as I wasn’t sure this environment was reading as I had hoped for in this experience, but I went with what I had in order to  save time.  I had to realize that this was the first draft for a piece that I might pursue after this semester was over.  For now, the deadline was fast approaching.

Now that I had fully committed to this design, I went for it. I was happy with all that I had created. I decided to get the space setup with all the audio triggers and speakers placed in the world before adding the tracks.  This allowed me the ability to fully focus on the to the sound component.  All final tweaks would then be done once all the elements were in place and working.  

Audition:

I started by seeing what I could use from my trip to Prospect Park with the zoom recorder.  Subsequently, I was only able to use a handful of the tracks as my idea had morphed into something completely different since originally recording.  I ended up utilizing freesounds.org for most of the tracks (sound credits will be added to the readme file asap as well). 

I am grateful to ITP resident Billy Bennet for his sound mixing workshop as it came in handy while editing all the tracks.  I particularly found the parametric equalizer effect to be a savior as it was so very helpful in isolating the frequencies that I wanted minimized.

Below is a breakdown in more detail of what went into each area of the sound walk:

Grocery:
Sam Smith’s song, Stay with Me, just happen to have been playing while I was recording in my local grocery store.  While editing the track, I realized the mood I was setting as I thought about the lyrics and the design of the physical location within my sound walk.  Having ended a relationship recently as well as having just returning to NYC from quarantine with family,  buying food for just yourself can seem lonely and invoke a lot of  emotion.  That sense of loneliness in tandem with Smith’s song created an emotional recording session in the store as well.

The location I created to house the grocery store sounds aims to invoke an overwhelming sense of  emotion.   The shear size of the grocery items is overpowering.  The steep cliff walls are intimating.  Overall, there is a sense of being alone and isolated.  In another build, I would create this space as a passage way.  One where the user could spend time in the loneliness  knowing it would pass once choosing to move forward.  

Bar/Pool Table:
This area consists of a pool table, two balls and a queue stick which is aligned to hit the ball. Here, the sounds of a subdued tavern play.   Listening to the track, I imagine myself sitting in a small town, having a glass of whiskey on a cold day and enjoying my solitude amongst others.

Pond:
Originally I wanted this to be a respite, a place of calm, of undisturbed reflection, featuring the water fall recordings from my trip to Prospect Park.  Now that I have the space created and a few of the other tracks analyzed, I had a better idea of the overall theme.  I decided to imagine sitting on a dock at a pond, listening to the sounds of a camp on the other side.  Is there a longing for the past or one of not having been to a summer camp like that  at all or is it a current longing for the chance to be with friends at a pond, being playful and carefree. 

Cliff/Wind Chimes:
This area features the sounds of wind chimes and of a creaky porch swing.  Both remind me of family.  I wanted a space to overlook the water and listen to those sounds over-top of those of the wind.  Personally, I would spend time in this particular location of the sound walk.   It’s calming and brings up a lot of memories. 

Intro/Welcome:
These tracks I recorded and added effects to.  I really enjoyed playing around with my voice, which I usually don’t enjoy having recorded.  The text runs for about 30 seconds but it hopefully helps to clarify the objective of the piece. 

Overall Background Sounds:
I wanted something a little eerie to match the visuals while also being meditative and calming.  The background consists of multiple wind tracks under a track containing peaceful repetitive tones.  

Name (Anamnesis):
As part of the final recordings, I needed to create a place in which to welcome users to.  What was I to call this place I had just created?  I played around with various synonyms for memory and came to anamnesis, defined by Webster’s as “a recalling to mind.”  This felt right with the grandiose landscape as to which Anamnesis resided.

Reflections:

Thoughts to consider for a future iteration of this piece:

  • Test out a variety of worlds.  Maybe one that is simpler and less distracting so the focus can be on the memory/emotional work. 

    • Something more sterile so that the focus can be on the sound.
    • A world with more visual queues that relate to the audio and less landscape.
    • Possibly a world that looked more like Burning Man. One of mystery and endless possibilities.
  • Having a partner to work with would have taken some of the load off as well as opened up more possibilities for what could have been accomplished.  I originally had 1 partner then another,  both dropped the class.  I was also offered the option to join another group but I had already started on the project and chose to go at it alone.  This process has been interesting and a struggle on but I do feel grateful for what I’ve accomplished.  I look forward to working in a group on the next project. 
  • Add separate tracks with triggers for footsteps both entering and exiting the various rooms would be interesting.  Maybe add footsteps throughout. 
  • Start the terrain at 0,0,0 so as not to create something on the edge of the world unintentionally.  I chose to go with white as the solid color for the sky since I couldn’t move all my items into the center of the terrain at that point.
  • Simplify/level out the terrain and use clouds as a way to create space and intimacy (visually I think about all the 90’s movies I remember growing up with that had an “entrance into the pearly gates” scene which would be used as inspiration.)
  • Personally, is this piece a memoriam for the places and interactions we’ve lost during COVID?  Is this piece possibly a time capsule?   This idea could morphed into a way of creating 3D memory boxes. 

Questions Regarding the Current Build:

  • Throughout the walk, the terrain is bouncing/shacking.  What is causing that?
  • How do I set the audio triggers/sources to stop playing once the user steps out of the space?  Possibly even have the sound fade out as the user moves away.
  • Is there a way to have the overall audio (started at the beginning as a loop) to cut out (Fade out) when the sounds are triggered in each room, then have it fade back in once the user leaves?
  • What is the proper way to credit your sources in this medium?  (Unity free assets and freesounds.org).  I can easily pull up the list of tracks/assets used and their corresponding creators but want to place then in line with standard practices. 

In conclusion, this is far from perfect but it is a project I put a lot of work into and am happy with the direction it is going. 

**There was even a funny outcome; after working in Unity for two and half days straight, I now keep trying to move about the screen using the 3D controls.  I end up trying to peer behind the window on my screen.

Unity Assets Attribution:

“Swing” by Nekcom Entertainment

“Food & Grocery Items – Low Poly” by OneCoinGames

“Free Barcade Asset Pack” by Ferocious Industries

“Terrain Textures Pack Free” by ALP8310

“Stylize Water Texture” by LowlyPoly

“Feline Gargoyle” by Sergi Nicolás

“Low Poly Tree Pack” by Broken Vector

Music/Sounds Attribution:

Background Mix:
“Slow Sad Tones.wav” by TJ Mothy  is licensed under CC BY 3.0

“Soft Tonal Wind_01” by Jan Bezouska  is licensed under CC0 1.0

“Soft Tonal Wind_02” by Jan Bezouska  is licensed under CC0 1.0

Pond Mix:
“Canada geese Squawk on a Pod with a Fountain” by Brian W. Smith  is licensed under CC BY-NC 3.0.

“Water in a pond” by Jean Thomspon is licensed under CC BY 3.0.

“kid’s summer camp across the pond” by denalwa  is licensed under CC0 1.0.

“ile0306_pond_frog_bird_3” by map hill  is licensed under CC0 1.0.

Grocery Store Mix:
Recorded sounds at Wholesome Market in Brooklyn, NY by Daniel Ryan Johnston, 2020.   Includes incidental music by:

Lynne, Jeff; Napier, James John; Petty, Thomas Earl; Phillips, William Edward; Smith, Samuel Frederick. “Stay with Me”. Copyright. 2014, 1989; EMI April Music INC, Gone Gator Music, Salli Isaak Music Publishing Limited.

“Shopping cart 01.wav” by Sonicorchestra is licensed under CC0 1.0.

Swing Mix:
“Squeak_6.aif” by tim.kahn is licensed under CC BY-NC 3.0.

“Wind-Chimes” by sky dawn a.k.a. Lavender Fields is licensed under CC BY-NC 3.0.

Pool Table/Tavern Mix:
“tavern_Interior_01.wav” by OP-Archive is licensed under CC BY-NC 3.0.

“pool break.wav” by Alastair Cameron CameronMusic is licensed under CC BY 3.0.