An Auto Piano Player that reads a JSON/text note file exported from Sky: Children of the Light and automatically “plays” the corresponding keys on your keyboard.
- 🖱️ One‑click EXE to run on Windows (no Python install required)
- 🎹 GUI made with Tkinter for selecting files, playback controls (Play/Pause/Stop), speed and hold adjustment, and seek bar
- 🔀 Supports multiple input formats (raw JSON export, text list, or wrapped in a
"songNotes"object) - 🔒 Thread‑safe key presses with overlap handling
- ⏱️ Precise timing with configurable speed multiplier and note‑hold duration
- Windows 10 or later (for the one‑click
.exe) - Python 3.8+ if running from source
- Administrator privileges may be required for low‑level keyboard hooks
- Clone the repo:
git clone https://github.com/Somansh1/auto-music-sky.git
cd auto-music-sky- Create and activate a virtual environment (recommended):
python -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows- Install dependencies:
pip install -r requirements.txt- Run the GUI:
python src/piano_player.py-
Click Browse... and select your exported notes file (.json or .txt).
-
Adjust Speed (e.g., 1.0 = normal, 2.0 = twice as fast).
-
Adjust Hold (s) for how long each key is held.
-
Use Play, Pause/Resume, Stop, and the seek bar to control playback.
We’ve also included a pre‑built .exe in the dist/ folder for Windows users—no Python install required. Simply double‑click auto-piano-player.exe.
-
Fork the repository.
-
Create a feature branch: git checkout -b my-feature.
-
Commit your changes: git commit -m "Add awesome feature".
-
Push to your branch: git push origin my-feature.
-
Open a Pull Request—bonus points for tests! 🧪
This project is licensed under the MIT License. See LICENSE for details.