Scrying – Cycle 3

For Cycle 3, I made a few expansions/updates!

Firstly, I expanded the project from one to two crystal balls. This meant creating more visuals and more music. My goal was to contrast the slow, cool, foggy blue feeling of the first scene. I eventually settled on red as the primary color, and decided to make the visuals sharper and faster moving than those of the first scene:

It was important to me to create visuals and music that would be interesting separately, but would also be able to combine well. If both crystal balls are being interacted with at once, both of their audiovisual scenes would play back at once. I wanted this combination to be a meaningful part of the experience.

Additionally in this cycle, I added projection mapping onto the tops of the crystal ball stands themselves that triggered when the crystal ball was interacted with. These projections had a similar look and feel to their corresponding larger projections. This led to a whole host of technical problems but created a really cool effect, making it feel like something magical was happening on the stand itself.

The problems occurred because, of course, the projection mapping consists of light, and the amount of light is what is being detected by the system to decide whether to play the scene or not (duh!……….) So the scene would trigger and would stay triggered because of the light from the projection. I solved this by utilizing masking in Isadora. I created masks to cover up the parts of the projections where the cameras would be.

My final addition was subtle, but I think significant. I added a very low drone to the space that played constantly, even when nothing was being triggered. This was included to transition the experiencers into the space and provide an audible contrast between a normal room and the installation space. My feeling was that without some sort of audible cue, the space would feel too “normal” when no sounds or visuals were being triggered. The low drone provided a tapestry on top of which the crystal balls could weave their music.

If I were to proceed forward with this piece, my first goal would be to add more crystal balls! I think the piece could work well and be even more interesting with several of them. They could interact with each other in so many different ways!

I also think I would like to incorporate something more to solidify the emotional themes of the piece. I really enjoy the visuals I created, and they are designed to represent very real and contrasting emotions. I also think it could be interesting to redo the visuals and incorporate something slightly less abstract, like videos of some significant place or event, and processing those in a visually interesting and artistically meaningful way.


Scrying – Cycle 2

For Cycle 2, I moved the project into the Motion Lab!

First, I needed to decide on a few things. How would I present the visuals? How would I present the crystal ball? How did I eventually want different crystal balls to interact with each other?

I ended up projecting the visuals onto the large front screen. The crystal ball I placed on a pedestal near the center of the room.

A challenge that presented itself during this cycle was the lighting conditions in the space. Ideally, the room would be quite dark, but of course as it turns out some amount of light is needed for the camera to detect any change in brightness (duh!….) Also, after being triggered once, the light from the projection could be reflected in the glass and interfere with the brightness detection, keeping it from ever shutting off! To solve these problems, I decided on using a small amount of constant top-down light shining on the crystal ball’s pedestal. The webcam would be positioned such that a clear shadow would be created on it when a person’s hand was near the crystal ball, and this lighting difference proved to be enough to create consistent behavior in spite of the other complicating factors.

For Cycle 3, the plan is to add more crystal balls and make more audiovisual scenes for them!


Scrying – Cycle 1

For my project, I decided to create crystal balls that, when interacted with, would result in audiovisual playback that embodied a certain affect. Each ball would represent a different affect, and would placed in different locations around the room. The act of “scrying” upon these affects using a crystal ball represents a rediscovery of, and a distinct distance from, the raw emotions of childhood. The crystal ball itself represents a suspension of rationality and a mystic lore that often feels so real to children.

In Cycle 1, I created a prototype crystal ball that could send data to trigger audiovisual playback in Isadora. I ended up recycling the idea I had used in Pressure Projects 2 and 3, using the brightness from a webcam to determine if a person was interacting with the crystal ball. The idea was that the webcam would be installed in the base of the crystal ball and look upward through the glass.

Though the scope of the project is larger, the brightness detection system I used in this project is actually simpler than the one I used in Pressure Projects 2 and 3. Rather than determine how close a person’s hand was to the lens, the webcam is tasked simply with determining if a person’s hand is there or not. If it is, the visuals and music are triggered.

For the visual, I processed a simple blue square through an explode actor. I slowly modulated the parameters of the explode actor with wave generator actors and processed the results through lots of motion blur and Gaussian blur. Color shifts occured as bits of the same color overlaid on top of each other. The result was extremely textural and a lot more interesting than the list of parts makes it sound:


Pressure Project 3 – Webcam Theremin 2.0

For Pressure Project 3, we were tasked with refining Pressure Project 2 into something that could be shown at ACCAD’s open house honoring Chuck Csuri. In order create a more meaningful experience for this event, I changed a few things about my piece.

The first change I made was the sound of the “theremin”. Rather than have the sound be simply one voice that increased or decreased in pitch according to the position of a person’s hand, I programmed the sound to be triggered in a manner more similar to a guitar or harp, where instead notes are “plucked” as a person’s hand moves toward and away from the webcam and so can overlap as they decay to create chords. These “notes” are quantized to a very intentional scale and are treated with a variety of audio effects, such as delay/echo (before being imported into Isadora). A person interacting with the piece is invited to create their own path through the soundworld.

The remaining changes I made to the piece were visual. I altered the color of the generated Os to suit the feeling of the music (“cool” colors), and I slightly randomized the generation position as well as the movement of the Os through the screen space. In my view, this created a much more interesting and organic visual.

Visual output
Main patch
“Particles” user actor
“Granular synth” user actor

Pressure Project 2 – Webcam Theremin

For Pressure Project 2, I decided to make a theremin out of a webcam!

For the visual component, I was inspired by one of Chuck Csuri’s works, his Structural Fragmentation 2021.

The Isadora patch I created uses the total brightness of the webcam feed to decide whether to play sound, as well as how high/low the pitch should be. The webcam is placed on a table looking up at the ceiling, and a person is encouraged to use their hand to interact with it. The idea was that the video feed from the webcam would be detectably darker when a hand was placed over the lens, and the closer the hand was to the lens, the darker it would be. The fact that the vast majority of webcams have automatic brightness correction complicated this idea, but it still functioned mostly as intended.

As for the sonic element, I recorded myself singing an “oo” vowel so as to continue with the theme from Chuck Csuri’s piece. This sound was pitched up and down according to the distance the “performer” had their hand from the camera. Unfortunately, I think the vowel ended up not sounding identifiably like an “oo” vowel, or like a human voice at all, and instead ended up just sounding like a synthesized tone.

Visually, the Isadora patch starts creating Os on the screen when a hand is detected by the webcam. The Os are created on the left side and slide to the right side as they dissipate over time, leaving a clear trail. The higher the pitch of the theremin, the higher the Os are created on the screen (vertically), and vice versa. The color of the Os is also shifted according to the pitch of the theremin.


Sound-Reactive Project

For my sound-reactive project, I used analyzed the input from the microphone and used different parts of the audio spectrum to shade different parts of a moving visual “shooting star-like” field.

Ultimately I wasn’t able to get any audio routing software working on the ACCAD computer I was using (permissions, etc.) Fortunately though, I have prior experience with software like this, and I feel comfortable incorporating it into future projects (on my home desktop).

Link to Isadora file:

visualizer 2.izz


Pressure Project 1: Square Race

My idea for this project came about when I was considering how to create a drama that held viewers’ attention for at least 30 seconds. So I thought, why not create a race?

The starting screen.

When the “Go!” button in the control panel is pressed, the race starts!

And they’re off!

5 squares of differing colors race against each other, and the result varies every time the race is run. By far the most involved part of the project was the creation of the algorithm that propels each square. In the end, I settled on this:

The heart of the algorithm is just a straightforward ramp envelope. The square is simply moved slowly across the screen over the course of 30 seconds. The random, back-and-forth movement of the squares comes from the addition of random numbers to the envelope. I used a smoother on the random values to make the random movement of the square smooth rather than jumpy. A comparator is used to determine if the square is at any point the winner — if the horizontal position of the square (equal to the envelope output plus the random output from the smoother) is at any point greater than or equal to 49, the comparator’s condition is met, and it triggers a jump actor that changes the scene to the “victory screen” for the corresponding color (just some text):

Blue wins this time! Each color has their own victory screen.

While the outcome of the race is in fact random and changes every time, in truth, due to the nature of the algorithm, the first 29 seconds or so of the race don’t impact the result whatsoever. This is because the random number generator that determines the current random displacement of the square does not take into account the previous random displacement of the square. This also means that the race will always be perceived as “neck and neck” and “anyone’s race to win” until the final second, further escalating the drama of the situation. I think this gives the race appropriate casino machine vibes — an elaborate, meaningless show to create anticipation for an outcome that is actually only determined in a brief moment.

One thing I didn’t get around to adding were audio effects and music. I wanted to add a starting gun noise that played when “Go!” was pressed, some anticipation-building music that played during the race, and a victory fanfare for each square. If I were to do this again, I would definitely add these things.

Guts of the starting screen.

The guts of one of the victory screens. In this case, it’s the “Blue Wins!” victory screen. The “Go!” button is connected to a Jump++ actor so that a new race can easily be started.