Week 4: Blob Detection

When I was going through the recorded sounds and beats, I found one that I found very interesting that I haven’t used before and I don’t think anyone else did in the previous assignments.

I used and audio called Bev, which is a recording of a person singing, I played around with the speeds and options for at least 45 minutes until I was able to make different sounds for both ends, one as a female voice and the other as a male voice.

I tried my best to remove the background and adjust the settings on the browser so that it sees me as the blob without anything more or anything less. I feel like the blob detection was good to a great extent and blocked out most unnecessary objects.

Attached is the video below:

I had trouble working with “Show threshold” as it wouldn’t change the sounds whenever I moved and so I kept recording for at least an hour as well. I made it in a way where it is like a concert and two people are lipsyncing, I think the practicality of this could be used in the future for other assignments and activities in general.


In regards to Posenet, it seems more interesting to me, as I have always enjoyed watching similar videos on the ____ Got Talent(s) in general. The fact that it tracks individual parts of the body makes it much more convenient and practical for detailed performances.

For me, I felt that the blob was better in terms of tracking because it looks at the bulk and can be adjusted, so for non-detailed performances it would be more beneficial to use.

Week Four: Blob Detection

This week’s assignment was very difficult for me (as they have all been to be honest). I watched the videos that Aaron posted and tried to manipulate the code to achieve what I wanted to achieve, but it still did not seem to work. When I connected to localhost:8000, the camera did not turn on. I hope that I can fix this problem so that I can experiment more with blob detection.

Week Arba: blob detection and music

I must admit this assignment was a little bit more tricky than I had initially expected it to be. I’m used to going through code and removing/adding things as necessary but this one was a little bit tougher because of the issue with using one capture device.

Compiling the code into one project and have it *work* was not difficult but having it work the way I would have wanted was a tad bit different. I arranged the blobDetection and opticalFlow draw functions into their creatively named `blobDetectionDraw` and `opticalFlowDraw` functions respectively. However, I had not been thinking about the fact that there is only and can only be one pixels array for each capture object that represents the webcam. Until I realized my issue, I was very frustrated why the blobDetectionDraw function was able to send messages to the server and thus to TidalCycle but not be rendered on screen!

As both respective draw functions were updating the same `pixels` array in their own way, the change that was being rendered to screen were the results of the function that was called last. I was able to fix this by creating two instances of the capture object and assigning each function its own instance.

Working with the TidalCycles code was not as hard but was somewhat frustrating as well. The sound did not seem to respond as well as I would have expected it to and it seems although the message was being served by the server TidalCycles was not retrieving it well, or more likely the values I was sending were being overwritten by another value in the queue since both the blobDetection and opticalFlow functions were running simultaneously.

Week 4: Blob detection

This weeks exercise taught me how nerve-wracking little bugs and mistakes can be. It was relatively easy to merge the files… so I thought but then the blob detection would not cooperate with my tidal script the way I wanted it to. After almost giving up and starting from scratch again, the tiny mistake that kept everything from functioning properly was that I tried calling a new server with “python -m SimpleHTTPServer” instead of calling my server with “server node.js”. After finally finding out with much support from Aaron, I managed to make everything work together and I like the tidal script I started building last week even more with this added layer of interaction. Listen for yourself 🙂

The reaction of sound to movement can be improved of course but I was happy about getting things to work!

Week 4: Optical Flow and Blob Detection

This week’s assignment wasnt the smoothest for me… (Thats an Optical Flow Pun. I’m sorry).

It started out really rough, I knew what I had to do, but i wasn’t sure I knew enough to do it. I had so many roadblock, but with the help of Professor Aaron, and the efforts of Professor Michael (Thank you to both), we managed to get the code to actually work. The optical flow, however, looked pretty funky. After spending an hour going through the code line by line (Thank you Jack), I understood the sketches well enough to play around with it so it looked more neat.

I removed the mover and the average optical flow, just because I didn’t want it in this sketch. Playing around with sounds (and their reverses) was fun after that. (I tried using cycles, but for some reason they didnt work.

Here is the final project !

[Video] Week 5 Pt. 1 Capacitive Touch

Teensy Specs: https://www.pjrc.com/teensy/techspecs.html

Code for this video
Basic Touch Read: https://github.com/aaronsherwood/sensorsbodymotion/tree/master/arduino/teensyTouchRead
Touch Read with OSC: https://github.com/aaronsherwood/sensorsbodymotion/tree/master/arduino/teensyTouchRead_OSC
Tidalscript: https://github.com/aaronsherwood/sensorsbodymotion/blob/master/tidalscripts/week5_teensyOSC.tidal

Week 3 – Optical Flow

For this assignment I continued to use human sounds and voices to create noise and “music”. I faced some troubles with this assignment, the sound would constantly go out of sync and would continue playing even after I ran the “hush” command but having less things running on my laptop helped fix the issue. To me the sound I made feels a bit creepy but I think it’s interesting.