Home Lab Assistant with Wolfram Alpha - Pt I


As the year winds down, I’ll have a few 2-3 hour chunks of spare time to knock some fairly straight-forward toy projects. I have a trove of AutoCAD files and production level renders of the projects from the Summer, but my write-ups need to be edited so that they are not as soul-crushingly boring to the average reader.

For this small project, I just want the first phase to involve a voice-activated ‘assistant’ that can convert units, or lookup a constant, while both of my hands are occupied in the workshop. Whether I’m using an industrial grade epoxy for carbon fiber, or simply have sweaty hands from welding; its not always fruitful to reach for my iPhone to Google something in the shop. In the second phase, I’ll add the ability to turn on/off my dust collection system, adjust the dehumidifier, or open the freight doors. I can’t think of anything else to control by voice right now, but I’ll refine functionality as new things come to mind.
Objectives
- To build a lightweight workshop server to manage digital-assistant level tasks.
- Iterate plan 4-5x to find any other useful APIs to plug into the system.
- Explore possibiliy of training a recurrant neural net on my voice data to improve efficacy.
- Sling the result onto Github, to further pollute the OSS ecosystem with more half-assery.
Concerns
- Acoustics of the building detering voice recognition SDK from aptly grabbing commands
- Moisture levels in workshop affecting the server
- Energy use from other equipment causing unintended electrical behavior
Components
- Microphone - Multiple inputs. Add option for wireless lapel input.
- Server - Just about anything in the surplus closet will do. Wipe clean/fresh OS.
- Cabling ran along ceilings
- Surge protector
- 40” or above TV. One from guest bedroom will do. Can use this to render any outputs in HUD-like format.
- Wolfram Alpha API non-commercial key
- Google Voice Recognition API key
Quick render of loose plan to follow.
Ideas/feedback welcome. Email hi @ thisdomain.