{"id":19392240,"url":"https://github.com/UnsignedArduino/MIDI-to-MakeCode-Arcade","last_synced_at":"2025-04-24T01:32:44.384Z","repository":{"id":110636394,"uuid":"597290144","full_name":"UnsignedArduino/MIDI-to-MakeCode-Arcade","owner":"UnsignedArduino","description":"A Python tool to convert a MIDI file to a MakeCode Arcade song!","archived":false,"fork":false,"pushed_at":"2024-11-23T22:15:13.000Z","size":44,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-20T19:44:29.684Z","etag":null,"topics":["arcade","converter","makecode","makecode-arcade","midi","python","song","tool","tools"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/UnsignedArduino.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2023-02-04T04:24:15.000Z","updated_at":"2024-11-23T22:15:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"4832c3fb-141d-494f-b440-1abe17c135a8","html_url":"https://github.com/UnsignedArduino/MIDI-to-MakeCode-Arcade","commit_stats":null,"previous_names":["unsignedarduino/midi-to-makecode-arcade","unsignedarduino/arcade-midi-to-song"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UnsignedArduino%2FMIDI-to-MakeCode-Arcade","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UnsignedArduino%2FMIDI-to-MakeCode-Arcade/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UnsignedArduino%2FMIDI-to-MakeCode-Arcade/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UnsignedArduino%2FMIDI-to-MakeCode-Arcade/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UnsignedArduino","download_url":"https://codeload.github.com/UnsignedArduino/MIDI-to-MakeCode-Arcade/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250544120,"owners_count":21448045,"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":["arcade","converter","makecode","makecode-arcade","midi","python","song","tool","tools"],"created_at":"2024-11-10T10:31:32.688Z","updated_at":"2025-04-24T01:32:44.356Z","avatar_url":"https://github.com/UnsignedArduino.png","language":"Python","readme":"# MIDI-to-MakeCode-Arcade\n\nA Python tool to convert a MIDI file to a MakeCode Arcade song! (Work in\nprogress)\n\nSome bug squashing may be needed but otherwise this tool is complete.\n\nWeb version will be available soon in a different repo.\n\n## Install\n\n1. Download and install Python.\n2. Clone this repo.\n3. Install all the requirements in [`requirements.txt`](requirements.txt)\n\n\u003e You may need to edit commands listed in this repo to use `py` or `python3` if\n\u003e `python` doesn't work.\n\n## Usage\n\nRun [`src/main.py`](src/main.py) at the root of the repository in the terminal.\n(It is a CLI app)\n\n### Example commands\n\nTo convert the MIDI file `Never_Gonna_Give_You_Up.mid` and print the Arcade\nsong to standard output with the default track \"dog\", no divisor, (divisor of\n1), and no character break.\n\n```commandline\npython src/main.py -i \"Never_Gonna_Give_You_Up.mid\"\n```\n\nTo convert the MIDI file at the absolute path\n`E:\\Arcade MIDI to Song\\testing\\Friend_Like_Me_Disneys_Aladdin.mid` and\nwrite the output to `Friend_Like_Me_Disneys_Aladdin song.ts` in the current\ndirectory with the \"computer\" track, a divisor of 2, a character break of 512,\nand with debug messages on.\n\n```commandline\npython src/main.py -i \"E:\\Arcade MIDI to Song\\testing\\Friend_Like_Me_Disneys_Aladdin.mid\" -o \"Friend_Like_Me_Disneys_Aladdin song.ts\" -d 2 -t computer -b 512 --debug\n```\n\n### Help text\n\n```commandline\nusage: ArcadeMIDItoSong [-h] --input INPUT [--output OUTPUT] [--track TRACK]\n                        [--divisor DIVISOR] [--break CHAR_BREAK] [--debug]\n\nA program to convert MIDI files to the Arcade song format.\n\noptions:\n  -h, --help            show this help message and exit\n  --input INPUT, -i INPUT\n                        Input MIDI file\n  --output OUTPUT, -o OUTPUT\n                        Output text file path, otherwise we will output to\n                        standard output.\n  --track TRACK, -t TRACK\n                        A track to use, which changes the instrument.\n                        Available tracks include ['dog', 'duck', 'cat',\n                        'fish', 'car', 'computer', 'burger', 'cherry',\n                        'lemon']. (You can also use indices 0-8) Defaults to\n                        'dog'.\n  --divisor DIVISOR, -d DIVISOR\n                        A divisor to reduce the number of measures used. A\n                        higher integer means a longer song can fit in the\n                        maximum of 255 measures of a song, but with less\n                        precision. Must be greater than or equal to 1, and\n                        defaults to 1 for no division.\n  --break CHAR_BREAK, -b CHAR_BREAK\n                        Break the hex string after so many characters.\n                        Defaults to 0 for no breaking.\n  --debug               Include debug messages. Defaults to info and greater\n                        severity messages only.\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FUnsignedArduino%2FMIDI-to-MakeCode-Arcade","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FUnsignedArduino%2FMIDI-to-MakeCode-Arcade","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FUnsignedArduino%2FMIDI-to-MakeCode-Arcade/lists"}