The Background

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 group "Grace".  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

The workflow is simple enough:

  1. Dena finds a project she wants to audition for.  
  2. She records her audition.  
  3. Does a little post processing to clean up
  4. Finally, she uploads the demo to internet for review.

The Project

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.
    1. It must support some sort of API to
      1. Turn sign ON 
      2. 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

  1. Arduino Uno
  2. Arduino Ethernet Shield
  3. PowerSwitch Tail II
  4. Recording sign

The Choices

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

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!

The Sign

Going "Live!"

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!

The Gallery

Here's what the sign looks like up close.  It is made of clear arcrylic with the lettering and images etched into it.  A red like at the top shine downward highlighting the etchings.  VIOLA! 

The Story

This project came into being while integrating my work projects application into the Bamboo Continuous Integration by the folks at Atlassian.  I constantly found myself firing off builds and realized that a physical display separate from my computer screen would be ideal. Hence, the Bamboo Box.  

The box is designed to, at the press of the big red button, start a build of my application on a remote server and provide run-time status using RGB LED on the front of the box.  The LED screen is used to display additional status information.

Hardware Parts List

Parts List:

  1. The Box - I was lucky enough to find the right size box to house everything. 
  2. Big Dome Push Button (Red) Talk about a solid feedback.  Nice big button to start a build.
  3. Arduino Uno
  4. (5) RGB LEDs and housing.
  5. Small Red Reset Button
  6. Adafruit 16-Channel 12-bit PWM/Servo Driver - a multiplexer that lets you control a whole banks of RGB LEDs with only a few pins.
  7. 20x2 Character VFD (Vacuum Fluorescent Display)v - I could have used a simple LCD screen but this 
  8. Sugaru - a magical product that is a putty-like material that hardness and adheres to most anything.
  9. Mac - host computer that communicates with the Bamboo server on the internet and the usb-connected Bamboo Box.

Software Parts List

  1. Custom OSX application written in Objective-C that 
  2. Arduino Sketch to
    1. Control for the RGB lights.
    2. Control VFD display.
    3. Manage communications between the main computer.
    4. Respond to the Big Red button
    5. Respond to the reset button.

 

P1030132.jpg

Hardware Parts List

  1. Raspberry Pi
  2. Speakers
  3. Adafruit T-Cobbler
  4. LCD Display

Software Parts List

  1. Pandora Account (free) 
  2. Pianobar is a console client for the personalized web radio pandora
  3. Python script added to customize display Pianobar
P1030576.jpg
P1020146.png

Testing