A real-time telemetry analyzer and AI-powered voice-assisted race engineer for Assetto Corsa.
This application listens to Assetto Corsa's UDP telemetry stream and processes the data to calculate optimal race strategies, tire wear, and fuel deltas. Leveraging local LLMs and WebRTC, it provides real-time audio feedback alongside a modern React-based dashboard for an immersive and data-driven racing experience.
- Real-Time Telemetry Processing: High-performance UDP client reading raw data directly from Assetto Corsa with minimal latency.
- AI Race Engineer: Powered by local LLMs via Ollama and faster-whisper, complete with a Push-to-Talk interface for natural, bi-directional voice interactions.
- Ultra-Low Latency Streaming: Employs WebRTC for peer-to-peer audio and data streaming, ensuring instantaneous feedback on track.
- Robust Messaging: Utilizes an EMQX MQTT broker for reliable, asynchronous communication between the backend engine and frontend interface.
- Modern Dashboard: A sleek, responsive React 19 interface styled with Tailwind CSS v4 for visual telemetry analysis.
- Secure & Cross-Platform: Run the server on Windows or WSL. The backend can be compiled with PyInstaller into standalone OS-specific executables, complete with verified cryptographic dependency hashes.
- Telemetry Source: Assetto Corsa (PC) broadcasts continuous UDP packets.
- Backend Engine: A Python application ingests UDP data, processes racing logic, and orchestrates the AI voice assistant.
- Communication Layer: WebRTC handles real-time audio/data streaming, while EMQX MQTT manages structured telemetry messaging.
- Frontend Client: A Vite/React web application provides the interactive user dashboard, accessible from any device on your local network.
- Python 3.10+
- Node.js 18+ & npm
- Ollama (required for the AI Race Engineer capabilities)
- Assetto Corsa (PC Version)
-
Clone the repository:
git clone https://github.com/Tugamer89/AC-Virtual-Engineer.git cd AC-Virtual-Engineer -
Setup the Backend:
cd backend python -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate` pip install -r requirements.txt
(Make sure to configure your
.envvariables for the MQTT broker and WebRTC connections as needed.) -
Setup the Frontend:
cd ../frontend npm install
-
Start the Python backend server:
cd backend python server.py -
Start the Vite development server:
cd frontend npm run dev -
Launch Assetto Corsa: Boot up the game, jump into a session, and open
http://localhost:5173in your browser to meet your new race engineer!
- Backend: Python,
aiortc(WebRTC),aiomqtt(MQTT),faster-whisper,ollama,pynput - Frontend: React 19, TypeScript, Vite, Tailwind CSS v4,
mqtt - CI/CD & DevOps: GitHub Actions, Release Please, Repository Rulesets, Dependabot, SonarCloud, CodeQL, Prettier
- Deployment: PyInstaller (Standalone Executables), GitHub Pages
Contributions are welcome! Please review our Contributing Guidelines and utilize our Issue Templates before submitting a Pull Request. We enforce strict code quality using SonarCloud, Prettier, and standard Python linters.
Distributed under the MIT License. See LICENSE for more information.