An AI Agent for Elite Dangerous that provides tips and runs fully local with voice chat capabilities.
- Python 3.11 or lower (3.8+ minimum)
- Ollama (for local LLM inference)
- Git
git clone https://github.com/RombotLabs/VoiceChatApp_EDAI.git
cd VoiceChatApp_EDAIOllama enables you to run large language models locally on your machine.
- Download the installer from ollama.com
- Run the installer and follow the on-screen instructions
brew install ollamacurl -sSfL https://ollama.com/install.sh | shAfter installing Ollama, pull the required model:
ollama pull ministral-3:3bThis project uses the Ministral 3B model by default. You can verify the installation by running:
ollama listYou should see ministral-3:3b in the list.
Note: Make sure Ollama is running in the background. You can start it with:
ollama serveEnsure you have Python 3.11 or lower installed:
python --versionInstall the required Python packages:
pip install -r requirements.txtDependencies:
TTS~=0.22.0- Text-to-speech synthesisfaster-whisper~=1.2.1- Speech-to-text transcriptionollama~=0.6.1- Ollama API clientrequests~=2.33.1- HTTP librarysounddevice~=0.5.5- Audio recordingsoundfile~=0.13.1- Audio file handlingnumpy~=1.26.4- Numerical computing
Before running the main application, you need to scrape the Elite Dangerous wiki data:
python scraper.pyThis script will:
- Fetch all pages from the Elite Dangerous Wiki
- Extract text and metadata
- Save the data as JSON files in the
data/directory - Generate
data/elite_keyword.jsonfor keyword extraction
Expected output:
Fetching ALL page titles...
[50/5000] processed
[100/5000] processed
...
Saved 4892 pages into 'data'
This may take 15-30 minutes depending on your internet connection and system performance.
After the scraper completes and Ollama is running, launch the voice chat application:
python main.pyThe GUI will open. Simply:
- Hold the microphone button to record your question
- Release to process and get an AI response about Elite Dangerous
- The AI will generate a voice response based on the wiki data
VoiceChatApp_EDAI/
├── main.py # Main GUI application
├── scraper.py # Wiki scraper
├── requirements.txt # Python dependencies
├── data/ # Wiki data (generated by scraper)
│ └── *.json # Individual wiki pages
└── src/
└── aiutils/ # AI utility modules
├── OllamaUtils.py
├── VoiceUtils.py
└── dir_fetcher.py
The default configuration uses:
- Model:
ministral-3:3b(3 billion parameters) - Voice TTS: Tacotron2-DDC English model
- Sample Rate: 44100 Hz
To change these, edit main.py and look for:
voice = VoiceUtils("tts_models/en/ljspeech/tacotron2-DDC")
ollama = OllamaUtils("ministral-3:3b")Make sure all dependencies are installed:
pip install -r requirements.txtEnsure Ollama is running:
ollama serveRun the application from the project root directory:
cd VoiceChatApp_EDAI
python main.pyThe first scrape can take 15-30 minutes. You can reduce MAX_WORKERS in scraper.py if you experience connection issues.
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Feel free to open issues or submit pull requests.