This week was spent bringing the final interaction to life, that of the typewriter and projection, along with bringing all three interactions together into one Max patch.
The typewriter features the global interaction, where one click of a key on the keyboard sets in motion a recorded narrative of how Sybil became a writer, and as the narration unfolds, important quotes are typed out on the paper in the typewriter and images on the wall light up all with projection mapping.
Step one was to open up the typewriter and find the ideal place to place a button that would connect to an Arduino. At first I was hesitant to open up the machine, and looked for ways around that. But alas, I was encouraged to enter this mechanical unknown. This tutorial was great for showing exactly how one can enter the heavy monstrosity that is the IBM Selectric.
The next step was to figure out the UI of the interaction and how people might interact. It is common for people to want to touch things, especially bang on a keyboard. How would people approach this? And how could I engineer a seamless way that best suits the internal structure of the typewriter?
Banging around the keys, a friend and I noticed a lever that lowered down when either the space bar or the enter key were pressed. This gave two options of keys for this one lever, where I could rest a button underneath. If the enter key or space bar are pressed, it would trigger the button that I secured under this lever attached to both.
I then began to secure the button to the typewriter carcass. I soldered it to a proto board and then with the magic of hot glue and tape, it stayed perfectly put.
The enter and space bar keys do require a bit of pressure to fully press on the button, but it does work in this format.
I then secured the Arduino to the skeleton of the typewriter and closed it back up.
The final step for the TV was programming the Max patch which relied a lot on timed outputs that corresponded to the narration. I searched online for many ways to do this and spent a lot of time in the patch working out the details. With the help of Justin Peak, Matt Romen & Aaron Montoya, I was able to make the flow more efficient.
Jumping back to the TV, it was time to cut the clips down to the desired sizes and add proper titles to each of the 12 clips.
There were some sound issues with several clips. The sound played perfectly for all clips from the laptop speakers and all but the Barney Miller and the New Dick Van Dyke Show clips were audible from the TV speakers. After testing many times, it seemed to be that the issue had to do with which channel the audio from the clips were being sent out to, whether it was right or left or pano. This was solved when adding in the sound splitter device.
Combining All Interactions
Now that all of the interactions were programmed on their individual patches, it was time to put them all together on one patch. Having never done this, I placed each one of the three onto one patch in an organized fashion. Aaron Montoya, Max MSP wizard, took one look at it and showed me various ways to clean up the patch by adding patches within patches and controlling everything from the presentation mode.
Audio Device – Sound Splitter
With three different interactions needing three separate speakers for three different audio experiences (phone, typewriter speakers & TV), it was necessary to use a sound splitting device in which I could program Max to send sound out to three different channels. I did some research and purchased the Behringer FCA610 device. And there began several days of trouble shooting.
The FCA610 did not require a driver for use with Mac. And initially I was having issues having my Mac detect the device. Once I got that going, I learned that there was a difference in settings on the actual device depending on whether or not I was using a firewire or a usb cable. Once that was sorted, I was able to connect the FCA610 to the Max patch and get sound running to the three different devices…briefly.
The sounds initially worked great coming out of the 3 different channels, however, after a period of about 4 minutes, the sound began to crackle on each channel and eventually disappear altogether. I began trouble shooting. This was a helpful and promising thread. I made sure that the setting were 48,000 hz matching that to the settings in the midi controller. There were still no changes in quality. I worked with Justin and we realized it could be related to the sampling rate, so he created a way to reset the sampling rate. I added a clocker to reset it at certain intervals. I spoke again with Aaron and after all of this trouble shooting and playing around with different hz settings I was able to get the sound to work for up to 10 minutes but then it was victim of the same deterioration.
We then put aside the FCA610 and tested out the patch and the sounds with Aaron’s top-of-the-line sound splitter – and it ran without issue. It was decided that the splitter was the problem. And we booked it to Guitar Center and purchased a middle ground device, the Focusrite Scarlett-1 8i8, which worked perfectly. I also replaced the male to female stereo adapters with better ones, which also improved the sound quality.
One issue I continue to have is that when running the exhibit, the Max patch crashes a lot when it comes to the television. Aaron had had me switch the files all to .wav as Max/Jitter prefer that type of video file, however, not all of the files worked as .wav, so I have .mp4 files mixed in. Perhaps that is the cause of the crash.
However I did notice that the crash happens when people turn the dial too quickly. This could have to do with the values coming in from the dial itself, and therefore the issue resting with the Arduino code. I did change and test the code to be more specific, but it is not quite perfect. I also believe the issue might lie in the fact that the rotary switch is made with a resistor ladder, not individual high-low values stemming from each individual notch. And perhaps a wonky read is coming from the in-between space.
These are certainly things to think about moving forward with this project.