An automatic Science Bowl moderator. Uses ScibowlDB to get questions, Whisper for speech recognition, and ChatGPT for checking answers (when they can't be decided locally).
This only works on Mac right now, but everything is cross-platform except the say command. The speech recognition runs locally and may take a bit on older Macs.
- Create an OpenAI API key
- Run
open ~/.zshrcin Terminal - Paste
export OPENAI_API_KEY='your-api-key-here'at the bottom and save - Run
cd ~/Downloads && git clone https://github.com/ag8/doemod.git && cd doemod - Run
brew install portaudio(using Homebrew) - Run
pip install -r requirements.txt
- Run
python moderator_server.py - Connect to the server on each device you want to buzz from. They need to be on the same WiFi network as the server.
Let us know what features you'd like to see prioritized!
- Proper equation reading
- Better speech synth with StyleTTS2
- Option to call Whisper API
- Option to use local LLM to check answers
- Compete against LLMs for the buzzer
- Browser GUI
- Round settings (# of questions, categories)
- Quiz bowl
- Cross-platform support
- Potentially run in browser with whisper.cpp WASM