{"id":22412658,"url":"https://github.com/NotHammer043/nanoMIDIPlayer","last_synced_at":"2025-07-31T23:31:07.842Z","repository":{"id":218865602,"uuid":"747564324","full_name":"NotHammer043/nanoMIDIPlayer","owner":"NotHammer043","description":"Macro for converting MIDI input to keyboard actions or routing it directly to a MIDI output.","archived":false,"fork":false,"pushed_at":"2024-09-15T15:45:28.000Z","size":186067,"stargazers_count":7,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-09-15T17:01:34.581Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://nanomidi.net","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NotHammer043.png","metadata":{"files":{"readme":"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-01-24T07:27:04.000Z","updated_at":"2024-09-15T15:45:32.000Z","dependencies_parsed_at":"2024-09-15T17:10:42.537Z","dependency_job_id":null,"html_url":"https://github.com/NotHammer043/nanoMIDIPlayer","commit_stats":null,"previous_names":["nothammer043/nanomidiplayer"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NotHammer043%2FnanoMIDIPlayer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NotHammer043%2FnanoMIDIPlayer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NotHammer043%2FnanoMIDIPlayer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NotHammer043%2FnanoMIDIPlayer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NotHammer043","download_url":"https://codeload.github.com/NotHammer043/nanoMIDIPlayer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228312171,"owners_count":17900217,"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","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":[],"created_at":"2024-12-05T14:09:54.247Z","updated_at":"2025-07-31T23:31:07.828Z","avatar_url":"https://github.com/NotHammer043.png","language":"Python","funding_links":[],"categories":["MIDI Tools"],"sub_categories":["Players"],"readme":"\n# 🎹 nanoMIDIPlayer  \n\n**nanoMIDIPlayer** is a lightweight MIDI player that can simulate QWERTY keys or send MIDI signals directly to output MIDI devices. It also includes a Virtual Drums Macro.  \n\n![GitHub stars](https://img.shields.io/github/stars/NotHammer043/nanoMIDIPlayer?style=for-the-badge)  \n![GitHub license](https://img.shields.io/github/license/NotHammer043/nanoMIDIPlayer?style=for-the-badge)  \n[![Download nanoMIDIPlayer](https://img.shields.io/github/downloads/NotHammer043/nanoMIDIPlayer/total?style=for-the-badge)](https://github.com/NotHammer043/nanoMIDIPlayer/releases)  \n---\n\n## 🚀 Features  \n✅ **Open Source**  \n✅ Macro **QWERTY keys** from MIDI input  \n✅ **Velocity** and **Sustain**  \n✅ **88 Key** support  \n✅ **Random Fail** (random Speed or Transposition failures)  \n✅ Simulate MIDI data directly to **MIDI output devices**  \n✅ **Drums** Macro  \n✅ **Modifiable** Hotkeys  \n✅ Built-in **MIDI Hub** from [nanoMIDI.net](https://nanomidi.net)  \n✅ **Customizable** User-Interface  \n✅ **🪟Windows and 🍏macOS Support**  \n\n---\n\n## 📸 Showcase  \n\nhttps://github.com/user-attachments/assets/bb727c89-bd29-44f8-9194-e09e8f49975f\n\n---\n\n## 📥 Download \u0026 Setup  \n### 🔹 Download  \nGet the latest version of **nanoMIDIPlayer**:  \n[![Download nanoMIDIPlayer](https://img.shields.io/github/downloads/NotHammer043/nanoMIDIPlayer/total?style=for-the-badge)](https://github.com/NotHammer043/nanoMIDIPlayer/releases)  \n\n### 🛠️ Setup  \n1️⃣ **Download** [nanoMIDIPlayer.exe](https://github.com/NotHammer043/nanoMIDIPlayer/releases)  or [nanoMIDIPlayer-macOS.dmg](https://github.com/NotHammer043/nanoMIDIPlayer/releases) for macOS  \n2️⃣ **Run** nanoMIDIPlayer.exe  \n3️⃣ **Select a MIDI File** or find one from **MIDI Hub**  \n4️⃣ **Focus** on your virtual piano app/game  \n5️⃣ **Press \"PLAY\"** (Default Hotkey: **F1**)  \n\n---\n## ⚠️ Why is this program detected as a virus?  \nOpen-source programs like this often get flagged as viruses because some **malware** may use the same libraries. Removing false positives costs around **$300/year**. You can freely check the **source code** to ensure it is safe.  \n\n---\n\n## 🏗️ Building from Source  \n### 🔧 Requirements  \n- [VS BuildTools C++](https://visualstudio.microsoft.com/visual-cpp-build-tools/)  \n- [Python 3.11.4](https://www.python.org/ftp/python/3.11.4/python-3.11.4-amd64.exe)  \n\n#### 📌 Install Dependencies  \n```bash\npip install -r requirements.txt\n```\n**Requirements:**  \n```\ncustomtkinter  \nPillow  \nmido  \npynput  \nrequests  \npython-rtmidi\nkeyboard  \npyinstaller\n```\n  \n#### 🏗️ Building\n```bash\nbuild.bat\n```\n```python\n# For macOS\n./build-mac.sh\n```\n\n#### 🐞 Debugging Mode  \n```bash\nnanoMIDIPlayer.exe --debug\n```\n\n---\n\n## 🧪 Beta Testers  \nSpecial thanks to our **beta testers** and **suggesters**! 🎉  \n||||\n|----------------------|----------------------|--------------------------|\n| redxyzxd            | rzrized              | spin_l                   |\n| ducktue             | samiord              | somecoolname2            |\n| gamesacctualych     | shitben10            | hdsfgh                   |\n| 4lucq               | slvrr_               | sharpeninq               |\n| bkiiz3              | fearsomeorc1406      | kyphise                  |\n| catnoyesyesnoyesno  | x.bunn               | nictiser                 |\n| 6price              | uvane                | shawn123_0               |\n| dajay10             | trapguy5             | youwontfindmymain_89866  |\n| lilbean3.0          | yournightmare5005    | zackfgteev1yt            |\n| 27600               | koji_xyz             |                          |\n\n---\n\n## ⭐ Star History  \n[![Star History Chart](https://api.star-history.com/svg?repos=NotHammer043/nanoMIDIPlayer\u0026type=Date)](https://www.star-history.com/#NotHammer043/nanoMIDIPlayer\u0026Date)  \n\n---\n\n### 💖 Support \u0026 Contributions  \n- **Star the repo** ⭐ on [GitHub](https://github.com/NotHammer043/nanoMIDIPlayer)  \n- **Report issues** 🛠️ via [GitHub Issues](https://github.com/NotHammer043/nanoMIDIPlayer/issues)  \n- **Contribute** 💻 via Pull Requests  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNotHammer043%2FnanoMIDIPlayer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FNotHammer043%2FnanoMIDIPlayer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FNotHammer043%2FnanoMIDIPlayer/lists"}