This repository contains a voice-enabled interactive map. The main map application lives under the MapApp/ folder and is implemented as a Flask web app that uses server-side speech recognition and Leaflet on the client.
- Voice Control (server-side): Capture audio via the server's microphone and process with
SpeechRecognitionfor commands such asnavigate to <place>,zoom in/out,move up/down/left/right, etc. - Interactive Map: UI uses Leaflet to display maps and layers (road, satellite, terrain).
- Realtime Communication:
Flask-SocketIOhandles real-time events between the browser and server. - Geocoding:
geopy(Nominatim) is used to resolve textual locations into coordinates.
MapApp/— Flask app (runpython app.pyinside this folder to start)app.py— server, socket handlers, speech recognitionrequirements.txt— Python dependencies for the Flask appstatic/— JS, CSS, and assets (Leaflet client code instatic/js/main.js)templates/index.html— main page
README.md— this documentREFs/,Journals/,Documentation/— project resources
-
Create and activate a virtual environment:
cd .\MapApp\ python -m venv .venv .\.venv\Scripts\Activate.ps1 -
Install dependencies from
MapApp/requirements.txt:pip install -r requirements.txt -
Run the app:
python app.py
-
Open http://localhost:5000 in your browser and click the microphone toggle to start voice commands.
Note: This app uses the machine's microphone via Python's
SpeechRecognitionandPyAudio— on Windows you may need a pre-built PyAudio wheel orpipwin install pyaudio.
- Please open issues for bugs or feature requests.
- Follow the usual fork → branch → PR workflow and add descriptive commit messages.
Updated to reflect the Flask-based implementation in MapApp/.