Edword is a keyboard-activated voice assistant that will eventually run on a Raspberry Pi. Version 1 focuses on building a macOS-friendly prototype that can listen for the space bar, simulate a voice session, and prepare the foundation for audio streaming and ElevenLabs integration.
- Global listener reacts to the space bar and prints a mock “listening” session.
- Press Esc to stop the prototype.
- Structured logging writes to both the console and
logs/edword.log(ignored by Git). - Configuration is optional. If you want to prepare for ElevenLabs you can copy
config.example.jsontoconfig.jsonor duplicate.env.exampleto.envand fill in your keys.
If you are brand new to coding, follow the Mac setup guide. It walks through installing Python, creating the virtual environment, running the syntax check, and launching the prototype.
Experienced users can run:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python main.pyedword/
├── docs/
│ └── mac-setup-guide.md # Step-by-step Mac walkthrough
├── main.py # Keyboard listener prototype
├── requirements.txt # Python dependencies
├── .env.example # Environment variable template
├── config.example.json # Configuration template
├── receipts/ # Placeholder for mock printer output
│ └── .gitkeep
├── logs/ # Log directory (actual log ignored by Git)
│ └── .gitkeep
└── README.md
- Stream microphone audio to ElevenLabs in real time.
- Play responses through a Bluetooth or system speaker.
- Implement the mock printer tool and log generated receipts.
- Harden configuration management and error handling. Edword is a voice-controlled AI assistant currently under development. Version 1 focuses on building a desktop prototype that will later migrate to Raspberry Pi hardware.
This repository currently contains the initial project scaffolding and a simple keyboard listener prototype. Pressing the space bar triggers a simulated "listening" session in the terminal. Subsequent milestones will add live audio streaming, ElevenLabs integration, and the mock printer tool.
-
Clone the repository
git clone <repo-url> cd edword
-
Create a virtual environment (recommended)
python3 -m venv .venv source .venv/bin/activate -
Install dependencies
pip install -r requirements.txt
-
Configure environment variables
- Copy
.env.exampleto.env - Populate your ElevenLabs API key and agent ID when you receive them
- Copy
-
Run the prototype
python main.py
- Space Bar — Starts a simulated voice session and prints
"🎤 Listening..."in the terminal - Esc — Exits the listener cleanly
- Ctrl+C — Force quit the application
edword/
├── config.json # Application configuration template
├── main.py # Application entry point (keyboard listener prototype)
├── requirements.txt # Python dependencies
├── README.md # Project documentation
├── .env.example # Template for environment secrets
├── receipts/ # Placeholder for printed receipt files
│ └── .gitkeep
└── logs/ # Placeholder for log output
└── .gitkeep
- Wire up live audio recording and playback
- Integrate ElevenLabs conversational streaming
- Implement the mock receipt printer
- Add robust logging and configuration management
MIT