Three Red Blobs
I have a Pure Data patch supplying pitch detection to a Java application, which will be drawing and animating fish in a fish tank based on the sounds people make with their voices. These red blobs are the precursors to the fish, where vertical width corresponds to pitch over a one-second recording. I plan to add colors, smooth contours, fins, and googly eyes.
Here is the patch:
I may end up ditching the cell phones. The point of the phone integration was so that many people could interact simultaneously, but now that I’m using Pure Data, which does real-time processing (not exactly what I wanted in the first place) it would be inconvenient to process more than one voice at a time.
Comments from crit:
You could have the eye react over time to volume
Check out AVOLVE by Christa Sommerer and Laurent Mignonnea
How are you going to have this isolate one persons voice in the middle of the noisy show? Just something you need to start planning for now, rather than later.
Ditch the cell phone thing?? No! That’s the cool part about it, the social interaction. Multiple fishes.
Yah I agree, don’t cut that!! <--Agreed. Couldn't you just run multiple instances of PD? Computers are fast (nowadays.) Having people call in vs peopl using a microphone are two very different interactions. With a cell phone, there's a sense of unknown in terms of who is going to connect with the system, and there's no ascribed sort of, protocol for a group of people doing that, where as with a single entry point of a microphone, people know how to queue, wait for that kind of thing. For concurrency check out the [pd~] object, although the easiest option would be to setup the pitch processing patch as an abstraction that takes an index for an argument which is used to determine incoming message flow. Use the [switch~] object to turn the dsp on and off for that patch. Then create a main patch with 5-10 pitch processes hooked up to a single osc sender/receiver pair. Use the indexes to route info in and out of the pitch processors. When a message comes in, turn the procesor on via [switch~], do the work, then turn it off. This way you can running the dsp the whole time.