Automating an "On The Air" Sign
Using an off-the-shelf "Voice Over Recording" sign, I've created a way to trigger the power to the unit directly from audio recording software.
My wife, Dena, has just embarked on a new career as a voice actor. The quality of her voice has always impressed me and I have always enjoyed watching her perform in her former singing group "Grace: Four Women Singing á Cappella". So, she has the talent and now she's directing it towards voice acting.
In equipping her for her new career, we decided that having a recording booth at home would make it much easier to audition demos. Searching Craigslist we found and bought a used WhisperRoom that we set up in our garage. Here is a time lapse video (shot with a Raspberry Pi with Camera attachment).
Having successfully had the WhisperRoom installed and her career on the move, I figure she needed some kind of sign that told me that she was recording and should not be disturbed. And thus was born another project for 2014. I don't know how far I will get, but I will have at least started another journey. If I'm lucky, I'll find some cool things to learn and in the process spread a little geek-cred Dena's way.
The workflow is simple enough:
Dena finds a project she wants to audition for.
She records her audition.
Does a little post processing to clean up
Finally, she uploads the demo to internet for review.
Rather than having her manually flick the "Recording" sign, wouldn't it be nice if her computer would just know when she was recording and automatically turn on the "Recording" sign. That way she wouldn't have to remember each time.
Here are the major pieces:
1. Mechanism to detect when recording is live and when it is not
2. System (hardware & software) that will handle turning on the physical sign.
A. It must support some sort of API to
i. Turn sign ON
ii. Turn sign OFF
The system to that handles the physical sign can be replicated as many times as needed. In fact, there will be at least two recording signs. One just outside the booth and the other in our office. The software that watches for recordings will just need to make two Recording-ON/OFF calls, one for each sign.
PARTS LIST THUS FAR
My choice for electronics control was primarily convenience. I had an extra Arduino lying around, plus I've been meaning to try out the Arduino ethernet board for a long time (2 years). My preference was to use the Raspberry Pi or the Beaglebone Black since they both support ethernet on-board and it is very easy to add wifi to as well. In the end, he Arduino won out since the start up time would be very fast whereas the other platforms would require some lead time to get my python skills up to snuff. I'll save my python for another project on the Beaglebone.
Next up, is the lamp control circuitry. The PowerSwitch Tail gave me a quick and very very simple interface into appliance power control in a nice neat package. It is a little pricy, but did exactly what I wanted. I've found some site a while back where that would allow me to do the same thing with a few small components, but, again, required more of a time investment. With other projects on the horizon, the PowerSwitch tail was the choice.
The circuit is a simple one. You run a line from an arduino pin (in our case Pin 4) to the PowerTail Switch line labeled "1". To complete the circuit you run a line from the PowerTail Switch line "2" to ground on the Arduino. PowerTail Switch line "3" is unused here. During testing, I attached an LED when the pin (4) is set to HIGH. This made it easy to tell whether or not the Arduino had set pin 4 to HIGH. For the final build, this LED was excluded.
THE WORKING TEST
Below is a working test of the circuit connected to the PowerTail (hidden behind the ipad). I used a standard lamp that connects to the PowerTail and the iPad connected wirelessly my home network. The Arduino with the Ethernet board riding shotgun is connected to my home network [Gallery]
Using the iPad I loaded the home page served up the the server running on the Arduino. It displays two buttons for ON and OFF. When the user presses the ON button, the Arduino sets the pin HIGH. That triggers the PowerTail to switch on power to the lap. Pressing OFF, sets the pin to LOW, cutting power to the lamp and turning it off.
Above is a video of the sign hooked up and operational. Dena selects the record menu item and sign turns ON. When she stops recording it turns OFF. WOOHOO! Version 1.0 is DONE!
Well, almost. The custom app I wrote to control the sign has it's flaws which really make the whole system a "partial" solution. In particular, my app can command the recording app to START recording. And it can tell it to STOP recording. But, it does not know when Dena by-passes the app and goes straight to her recording app to START and STOP. So we have a "U/I" hole. Her workflow still revolves arounds her recording app. My app needs to automatically sense when recording is started and stopped without user intervention. I am currently investigating how do that at. As soon as I find an answer I'll post it here. So this is more accurate:
WOOHOO Version 0.9 is DONE!