Saturday, November 10, 2018

Raspberry Pi Jukebox (Side Story): Current State of the System

After writing just the setup post for the Jukebox project, here's where things stand now.
After voice-controlling all the living room appliances and eliminating remote controls, requests started rolling in from the household. A suggestion box was effectively established.
Quietly implementing the requests one by one, the whole thing has evolved into something hard to describe.
Not that anyone thinks of it as a "device" — devices scattered around the house all coordinate together, and nobody is keeping track of which one is the "main" unit. At this point there really isn't one.

Main System Architecture

  1. Voice Input
    Amazon Echo in the dining room.
  2. Voice Output
    Primary: the living room soundbar speakers.
    Alexa's own voice feedback still comes from the Echo itself, so there are different voices talking from different parts of the room.
  3. Control Layer
    Amazon Echo, two Raspberry Pis, Arduino, and the amplifier all work together — hard to say who's doing what.
    For voice input, the basic flow is:
    Amazon Echo → Node-RED (Raspberry Pi) → IR (Raspberry Pi) → Amp input switching & appliance control
    For scheduled automations, Raspberry Pi and the amp coordinate via IR.

Features Currently Working

  1. Voice control for TV, projector, and Roomba.
  2. Music playback through living room speakers from phone or PC.
  3. Amp input/output automatically switches based on which device is being used.
  4. Time announcements in the morning, evening, and at night.
  5. Early morning: searches YouTube for a relevant playlist and starts autoplay.
  6. Announces birthdays when they come around.
  7. Reminds kids when it's time to leave for school.
  8. The school bell plays on weekends at the same time as on school days.
  9. Time announcements rotate through multiple TTS voices at random.

Requested Features Not Yet Implemented

  1. Regarding the rotating TTS voices — the Open JTalk male voice apparently sounds like me, and my daughter has requested more of it.
  2. Got a Logicool camera from a junk bin at Hard Off for 100 yen — want to add image input to the system.
  3. No feedback path from appliances, which limits precision in some scenarios.
    (E.g., if you power off a device with its physical remote, the amp input/output combination doesn't auto-correct.)
  4. Amazon Echo can't take keyword text input, so jukebox keyword search still requires phone interaction.
  5. All the control hardware is hidden out of sight, yet the Amazon Echo is very visually prominent. Want to hide it somewhere.
  6. Want to distribute microphones around the room, but sourcing decent mics is proving difficult.
  7. Want to add an analog wall clock to the controlled devices — install a Raspberry Pi inside and turn it into a digital cuckoo clock.

No comments:

Post a Comment