{"id":17383184,"url":"https://github.com/bob-ros2/midistuff","last_synced_at":"2026-04-25T16:33:34.118Z","repository":{"id":196123284,"uuid":"693744578","full_name":"bob-ros2/midistuff","owner":"bob-ros2","description":"Shell MIDI recorder with record forever option. This is a MIRRORED REPOSITORY Refer to the GitLab page for the origin.","archived":false,"fork":false,"pushed_at":"2024-02-28T01:48:47.000Z","size":1599,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-27T20:49:26.558Z","etag":null,"topics":["midi","recorder","shellscript"],"latest_commit_sha":null,"homepage":"https://gitlab.com/bob-ros2/midistuff","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bob-ros2.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":"2023-09-19T16:14:49.000Z","updated_at":"2023-10-26T19:14:00.000Z","dependencies_parsed_at":"2024-10-16T07:40:55.511Z","dependency_job_id":null,"html_url":"https://github.com/bob-ros2/midistuff","commit_stats":null,"previous_names":["bob-ros2/midistuff"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bob-ros2/midistuff","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bob-ros2%2Fmidistuff","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bob-ros2%2Fmidistuff/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bob-ros2%2Fmidistuff/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bob-ros2%2Fmidistuff/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bob-ros2","download_url":"https://codeload.github.com/bob-ros2/midistuff/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bob-ros2%2Fmidistuff/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32269459,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["midi","recorder","shellscript"],"created_at":"2024-10-16T07:40:51.176Z","updated_at":"2026-04-25T16:33:34.102Z","avatar_url":"https://github.com/bob-ros2.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MIDISTUFF\r\n\r\nA very simple MIDI recorder which either can be used as importable library \r\nor as standalone script. It can handle all MIDI Channel Voice Messages. \r\nIt works on multiple plattforms with connected MIDI interface.\r\n\r\nThis project is still in Beta phase and timings may jitter!\r\n\r\n\r\n## Installation Prerequisites\r\n\r\nUse the package manager [pip3](https://pip.pypa.io/en/stable/) \r\nto install the below dependencies.\r\n\r\n\r\n```bash\r\npip3 install python-rtmidi\r\npip3 install mido\r\n```\r\n\r\n## Usage\r\n\r\n```bash\r\n# print help\r\npython midirec.py -h\r\nusage: midirec.py [-h] [-l] [-d DEVICE] [-n NAME] [-a SECS] [-v]\r\n\r\nThe very simple MIDI recorder.\r\n\r\noptions:\r\n  -h, --help            show this help message and exit\r\n  -l, --list            list available devices (default: False)\r\n  -d DEVICE, --device DEVICE\r\n                        MIDI device to be opened by index \r\n                        (default: 0)\r\n  -n NAME, --name NAME  name of MIDI file(s) to be stored, can be a path \r\n                        (default: track)\r\n  -a SECS, --auto SECS  auto mode silence timeout when to record a new track \r\n                        (default: 0)\r\n  -v, --verbose         debug mode \r\n                        (default: False)\r\n\r\n# get device list\r\npython midirec.py -l\r\n\r\n# one shot recording using MIDI device 0, the first event starts the recording\r\n# CTRL+C stops recording and saves the track as track.mid file\r\npython midirec.py\r\n\r\n# record in auto mode with n seconds silence timeout\r\n# when timeout happens the current track will be stored and the recording \r\n# starts again with a new midi track\r\npython midirec.py -a 30\r\n2023-09-18 19:23:29.854 Waiting for first event ...\r\n2023-09-18 19:26:52.791 Recording started\r\n2023-09-18 19:29:01.695 Save MIDI file track_20230918-192652.mid\r\n2023-09-18 19:29:01.695 Timeout exceeded, starting a new track\r\n2023-09-18 19:29:01.700 Waiting for first event ...\r\n\r\n# additionally there are two OS wrapper scripts available which simplifies \r\n# script execution\r\n# midirec.sh\r\n# midirec.bat\r\n```\r\n\r\n## Contributing\r\n\r\nPull requests are welcome. For major changes, please open an issue first\r\nto discuss what you would like to change.\r\n\r\nPlease make sure to update tests as appropriate.\r\n\r\n## License\r\n\r\n[Apache2.0](https://www.apache.org/licenses/LICENSE-2.0)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbob-ros2%2Fmidistuff","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbob-ros2%2Fmidistuff","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbob-ros2%2Fmidistuff/lists"}