Inspiration
HAL 9000 (2001: A Space Odyssey)
What it does
Simulates HAL 9000 from the movie 2001: A Space Odyssey. Features include playing chess against HAL, using voice commands to speak to HAL/specify chess moves, and a chess GUI.
How we built it
Back-end in Python, front-end in Flask. Hosted on Beagle-YAI system. Details:
- Speech-to-Text: Google speech-to-text (facilitated by SpeechToText Python library).
- Custom parser for natural language to SAN (Standard Algebraic Notation) for chess.
- Chess engine: python-chess library.
- Chess AI: Stockfish.
- Chess GUI: Flask (using static chessboard SVG).
- HAL Voice Lines (Script): Gemini.
- Text-to-Speech: Elevenlabs API (custom-built HAL voice)
Challenges we ran into
- Setting up Beagle-YAI environment and audio devices.
- Inexperience with Flask front-end.
- Audio recognition issues (speech-to-text).
- Parsing natural language into chess notation.
- Coordinating multiple AIs and API calls (Google speech-to-text, Stockfish, Gemini, ElevenLabs).
- Multithreading coordination (UI and voice listening must run in background).
Accomplishments that we're proud of
- (Mostly) working voice commands.
- Coordination of a complex data pipeline despite being new to embedded systems.
What we learned
- Flask.
- Data pipelining.
- Parsing.
- Embedded systems.
- Audio.
What's next for HAL 9000
- Multiple states (eg Conversation Mode).
- Smoother startup/termination.
- More movie accurate (moral ambiguity of the character).
Log in or sign up for Devpost to join the conversation.