If you’re wondering, Cornell is just like every other university in one respect: the grad students are starving, and wherever there is free food, students circle like vultures. The engineering and CS departments have a mailing list alerting people to free food, but a more automated solution was desired. The first web cam ever was used to notify grad students if a coffee pot was full, but Cornell shot down this idea on the basis of privacy concerns.
It’s final project time for [Bruce Land]’s courses, and a project by [Ferian Chen] and [Sean Ogden] solved the privacy concerns of a webcam in a kitchen. It’s a real-time video anonymizer, that can also be used to livestream ransom demands if you’re so inclined.
There are actually two parts to this project. The first part pixellates faces and any other skin tone, just like you’d see on a true crime TV show. This part of the project was based on an FPGA-based face detection project. ‘Skin’ pixels are defined as having a difference between the red and green channels within a certain range. With the right lighting, it works very well.
You can identify someone with their voice, too, so [Ferian] and [Sean] also made efforts to disguise hungry student’s voices as well. This was done with a phase vocoder that changes the pitch of someone’s voice, but not the spectral characteristics. The result should have been an audio channel that can’t be pinned down to one person, but is still recognizable as speech. The audio processing didn’t work as intended, with noticeable artifacts in the output. There’s still some work to be done, and now that [Ferian] and [Sean] aren’t checking the kitchen every ten minutes, the might have the time to do it.
Have you ever come across an Internet meme and just thought to yourself, “I have to bring this into the physical world!” Well [0xb3nn] and [Knit Knit] did. They decided to take the classic nyan cat meme and bring it to life.
The frame is 24″ x 36″. Many hours went into the knitting process, but the result obviously turned out very well. The stars include 24 LED sequins to add a sparkling animation effect. These were sewn onto the back of the work using conductive thread. They are bright enough to shine through to the front where needed. These connect back to an Arduino Pro Mini 5V board.
The Arduino is also connected to a capacitive touch sensor. This allows the user to simply place their hand over the nyan cat image to start the animation. No need for physical buttons or switches to take away from the visual design. An Adafruit AudioFX sound board was used to play back a saved nyan cat theme song over a couple of speakers. The source code for this project is available on github. Be sure to watch the demo video below. Continue reading “Embroidered Nyan Cat Brings a Meme to the Real World”→
[François] lives in Canada, and as you might expect, he loves hockey. Since his local team (the Habs) is in the playoffs, he decided to make an awesome setup for his living room that puts on a light show whenever his team scores a goal. This would be simple if there was a nice API to notify him whenever a goal is scored, but he couldn’t find anything of the sort. Instead, he designed a machine-learning algorithm that detects when his home team scores by listening to his TV’s audio feed.
[François] started off by listening to the audio of some recorded games. Whenever a goal is scored, the commentator yells out and the goal horn is sounded. This makes it pretty obvious to the listener that a goal has been scored, but detecting it with a computer is a bit harder. [François] also wanted to detect when his home team scored a goal, but not when the opposing team scored, making the problem even more complicated!
Since the commentator’s yell and the goal horn don’t sound exactly the same for each goal, [François] decided to write an algorithm that identifies and learns from patterns in the audio. If a home team goal is detected, he sends commands to some Phillips Hue bulbs that flash his team’s colors. His algorithm tries its best to avoid false positives when the opposing team scores, and in practice it successfully identified 75% of home team goals with 0 false positives—not bad! Be sure to check out the setup in action after the break.
[Daniel] has some awesome examples included on his website where you can test out the functionality for yourself. He has a hands-free scrolling example, spectrum plot, and even a virtual theremin. Since his code is bundled up into an easy-to-use library, it should be fairly easy to integrate into any webpage. The only real limitation to the library is that it only works in Chrome right now (Firefox doesn’t support disabling echo cancellation).
An easy way to conceptualize active filters is thinking about audio speakers. A speaker crossover has a low-pass, high-pass and band-pass effect breaking a signal into three components based upon frequency. In the previous part of this series I took that idea and applied it to a Universal Active Filter built with a single chip opamp based chip known as the UAF-42. By the way, it’s pretty much an older expensive chip, just one I picked out for demonstration.
Using a dual-ganged potentiometer, I was able to adjust the point at which frequencies are allowed to pass or be rejected. We could display this behavior by sweeping the circuit with my sweep frequency function generator which rapidly changes the frequency from low to high while we watch what can get through the filter.
In this installment I’ll test the theory that filtering out the harmonics which make up a square wave results in a predictable degradation of the waveform until at last it is a sine wave. This sine wave occurs at the fundamental frequency of the original square wave. Here’s the video but stick with me after the break to walk through each concept covered.
It was about ten years ago that [Richard] received an old musical organ. Moving to a new house meant it would be cumbersome to move the organ with him, so he opted to harvest some interesting components instead. Specifically, he kept the Leslie speaker.
A Leslie speaker is a special kind of speaker mechanism that creates a tremolo effect as well as a vibrato effect. You can hear this effect in [Richard’s] video below. Simple effects like this would be easy to do on a computer nowadays, but that wasn’t the case several decades ago. Before digital electronics, musical effects were often performed by analog means. [Richard’s] Leslie speaker is a small speaker behind of a Styrofoam baffle. The baffle spins around the speaker which changes the reflection angle of the sound, producing the musical effect.
[Richard] tried hooking this speaker up to other musical instruments but found that turning off the electric motor created an audible pop over the speakers. To remedy this, he build a simple “snubber” circuit. The circuit is just a simple 240 ohm resister and a 0.05 uF capacitor. These components give the transients a path to ground, preventing the pops and clicks when the motor is powered up. Now [Richard] can use this classic piece of audio equipment for newer projects. Continue reading “Organ Donor Gives Up a Leslie Speaker”→
Today I am experimenting with a single chip Universal Active Filter, in this case I made a small PCB for the UAF-42 from Texas Instruments. I chose this part in particular as it facilitates setting the filter frequency by changing just a pair of resistors and the somewhat critical values that are contained on the chip have been laser trimmed for accuracy. This type of active filter includes Operational Amplifiers to supply gain and it supports various configurations including simultaneous operating modes such as Band Pass, Low Pass and High Pass make it “Universal”.
UAF421 Universal Active Filter
UAF421 Universal Active Filter using a dual ganged potentiometer.
Looking at the block diagram you can see where I have inserted a dual-ganged potentiometer to change both resistors simultaneously which should allow a straight forward adjustment for our purposes here.
Looking into the components of a simple RC filter which can easily implement a simple Low Pass or High Pass filter, we see that the math is fairly straight forward and swapping the components with each other is all that is needed to change the type of filter. Continue reading “Universal Active Filters: Part 1”→