Skip to content

RombotLabs/VoiceChatApp_EDAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VoiceChatApp EDAI - Setup Guide

An AI Agent for Elite Dangerous that provides tips and runs fully local with voice chat capabilities.

📋 Prerequisites

  • Python 3.11 or lower (3.8+ minimum)
  • Ollama (for local LLM inference)
  • Git

🚀 Quick Start

Step 1: Clone the Repository

git clone https://github.com/RombotLabs/VoiceChatApp_EDAI.git
cd VoiceChatApp_EDAI

Step 2: Install Ollama

Ollama enables you to run large language models locally on your machine.

Windows:

  1. Download the installer from ollama.com
  2. Run the installer and follow the on-screen instructions

macOS:

brew install ollama

Linux:

curl -sSfL https://ollama.com/install.sh | sh

Step 3: Pull and Configure the Model

After installing Ollama, pull the required model:

ollama pull ministral-3:3b

This project uses the Ministral 3B model by default. You can verify the installation by running:

ollama list

You should see ministral-3:3b in the list.

Note: Make sure Ollama is running in the background. You can start it with:

ollama serve

Step 4: Install Python Dependencies

Ensure you have Python 3.11 or lower installed:

python --version

Install the required Python packages:

pip install -r requirements.txt

Dependencies:

  • TTS~=0.22.0 - Text-to-speech synthesis
  • faster-whisper~=1.2.1 - Speech-to-text transcription
  • ollama~=0.6.1 - Ollama API client
  • requests~=2.33.1 - HTTP library
  • sounddevice~=0.5.5 - Audio recording
  • soundfile~=0.13.1 - Audio file handling
  • numpy~=1.26.4 - Numerical computing

Step 5: Run the Scraper (First Time Setup)

Before running the main application, you need to scrape the Elite Dangerous wiki data:

python scraper.py

This script will:

  1. Fetch all pages from the Elite Dangerous Wiki
  2. Extract text and metadata
  3. Save the data as JSON files in the data/ directory
  4. Generate data/elite_keyword.json for 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.

Step 6: Run the Application

After the scraper completes and Ollama is running, launch the voice chat application:

python main.py

The 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

📁 Project Structure

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

⚙️ Configuration

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")

🐛 Troubleshooting

"ModuleNotFoundError" when running main.py

Make sure all dependencies are installed:

pip install -r requirements.txt

"Ollama connection refused"

Ensure Ollama is running:

ollama serve

"No module named 'src'"

Run the application from the project root directory:

cd VoiceChatApp_EDAI
python main.py

Scraper takes too long

The first scrape can take 15-30 minutes. You can reduce MAX_WORKERS in scraper.py if you experience connection issues.

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🤝 Contributing

Contributions are welcome! Feel free to open issues or submit pull requests.

📚 Resources

About

This is an AI Agent for Elite Dangerous which gives you tipps and runs fully local.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages