{"id":28363830,"url":"https://github.com/gusta01010/progressivepiano","last_synced_at":"2025-10-28T23:34:42.039Z","repository":{"id":262931212,"uuid":"870329492","full_name":"gusta01010/ProgressivePiano","owner":"gusta01010","description":"An easy-to-use virtual piano player that simplifies playing sheet music on your keyboard.","archived":false,"fork":false,"pushed_at":"2025-06-07T15:08:03.000Z","size":573,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"multikey","last_synced_at":"2025-06-22T18:51:51.581Z","etag":null,"topics":["autoplay","autoplayer","roblox","roblox-script","virtual-keyboard","virtual-piano-auto-player","virtual-piano-keys","virtual-piano-player"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gusta01010.png","metadata":{"files":{"readme":".github/README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-09T20:57:30.000Z","updated_at":"2025-02-25T14:57:34.000Z","dependencies_parsed_at":"2025-02-25T15:31:08.793Z","dependency_job_id":"89e3ee15-ee15-4d43-b28e-bc6cdffec255","html_url":"https://github.com/gusta01010/ProgressivePiano","commit_stats":null,"previous_names":["gusta01010/progressivepiano"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/gusta01010/ProgressivePiano","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gusta01010%2FProgressivePiano","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gusta01010%2FProgressivePiano/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gusta01010%2FProgressivePiano/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gusta01010%2FProgressivePiano/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gusta01010","download_url":"https://codeload.github.com/gusta01010/ProgressivePiano/tar.gz/refs/heads/multikey","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gusta01010%2FProgressivePiano/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272541810,"owners_count":24952466,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-28T02:00:10.768Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autoplay","autoplayer","roblox","roblox-script","virtual-keyboard","virtual-piano-auto-player","virtual-piano-keys","virtual-piano-player"],"created_at":"2025-05-28T19:39:37.222Z","updated_at":"2025-10-28T23:34:42.033Z","avatar_url":"https://github.com/gusta01010.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](https://files.catbox.moe/14ixsq.png)\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://discord.gg/yourDiscordServer\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/Discord-%235865F2.svg?style=for-the-badge\u0026logo=discord\u0026logoColor=white\" alt=\"Discord Server\"/\u003e\n\u003c/a\u003e\n\u003c/p\u003e\n\n***\n\nProgressive Piano provides a modern way of playing virtual-piano based sheets on your computer keyboard, offering support for `.txt` sheets.\n\n## What is Progressive Piano?\n\nProgressive Piano (or PPiano for short) is an application designed for learning and entertainment. It features a clean, dark-mode user interface that allows you to play virtual piano sheets using your keyboard.\n\n## Key Features\n\n*   **Advanced Keypress Progression:** Play notes accurately and fluidly.\n*   **Simple Keyboard Controls:** Easy-to-learn controls for playing sheets.\n*   **`.txt` Sheet Support:** Loads `.txt` sheets from the application's directory or a dedicated `Sheets` subfolder.\n*   **User-Friendly Dark Mode UI:** Reduces eyestrain during extended use.\n*   **Imperfect Mode:** Simulates subtle human variations in note timing for a more realistic sound (optional feature).\n*   **Current Note Highlight:** Visually tracks the note to be played.\n*   **Window Pinning:** Keeps the application window on top for easy sheet reading.\n\n## Installation and Usage\n\n1. **Download:** Download the latest release from the [Releases](https://github.com/gusta01010/ProgressivePiano/releases) section of this repository.\n2. **Extract:** Extract the downloaded archive to a folder of your choice.\n3. **Run:** Run `PPiano.exe`.\n4. **Sheets:** Place `.txt` sheet files in the same directory as `PPiano.exe` or in a subfolder named `Sheets`.\n\n## Branches\n\nProgressive Piano offers two branches to cater to different user needs:\n\n*   **`main` (or `singlekey`):** The stable branch, recommended for most users. Provides a reliable and polished experience.\n*   **`multikey`:** The experimental branch, for users who want to try out the latest features (may have occasional bugs). This branch enables playing chords and simultaneous notes.\n\n## Commands\n\n### Multikey Branch (`multikey`)\n\n| Hotkey        | Action                                                                        |\n| :------------ | :---------------------------------------------------------------------------- |\n| `-` `+` `*`   | Produces a note (can be held) and progresses to the next note.               |\n| `end`         | Selects a random sheet from the application's directory or the `Sheets` folder. |\n| `del` `,` (comma)   | Returns to the beginning of the sheet.                                       |\n\n### Singlekey Branch (`main` or `singlekey`)\n\n| Hotkey        | Action                                                                        |\n| :------------ | :---------------------------------------------------------------------------- |\n| `-`           | Produces a note (can be held) and progresses to the next note.               |\n| `del` `,` (comma)   | Returns to the beginning of the sheet.                                       |\n\n## Contributing\n\nContributions are very welcome! If you'd like to contribute, please follow these steps:\n\n1. Fork the repository.\n2. Create a new branch for your feature or bug fix.\n3. Make your changes and commit them.\n4. Submit a pull request to the `singlekey` or `multikey` branch.\n\n## Questions or Suggestions?\n\nFeel free to open an issue on GitHub or send me a direct message on Discord:\n\n*   Discord: sonic\\_8783\n\n## Screenshots\n\n\u003c!-- Host these images within your GitHub repository --\u003e\n![](https://files.catbox.moe/99rma3.png)\n![](https://files.catbox.moe/fxlove.png)\n\n## License\n\nThis project is licensed under the [MIT License](../LICENSE) - see the `LICENSE` file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgusta01010%2Fprogressivepiano","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgusta01010%2Fprogressivepiano","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgusta01010%2Fprogressivepiano/lists"}