{"id":21714829,"url":"https://github.com/redraw/midimatrix","last_synced_at":"2026-04-16T15:34:24.102Z","repository":{"id":43908656,"uuid":"511367005","full_name":"redraw/midimatrix","owner":"redraw","description":"midi grid oled monitor","archived":false,"fork":false,"pushed_at":"2022-10-07T03:05:45.000Z","size":8,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-25T06:28:40.357Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/redraw.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}},"created_at":"2022-07-07T03:15:39.000Z","updated_at":"2022-07-12T02:45:47.000Z","dependencies_parsed_at":"2023-01-19T14:45:36.113Z","dependency_job_id":null,"html_url":"https://github.com/redraw/midimatrix","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/redraw/midimatrix","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redraw%2Fmidimatrix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redraw%2Fmidimatrix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redraw%2Fmidimatrix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redraw%2Fmidimatrix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/redraw","download_url":"https://codeload.github.com/redraw/midimatrix/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/redraw%2Fmidimatrix/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31892517,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T11:36:10.202Z","status":"ssl_error","status_checked_at":"2026-04-16T11:36:09.652Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":[],"created_at":"2024-11-26T00:39:04.052Z","updated_at":"2026-04-16T15:34:24.076Z","avatar_url":"https://github.com/redraw.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# midimatrix\n\n![midimatrix](https://user-images.githubusercontent.com/10843208/177895595-ab3cdf49-fa71-45f3-93fc-83accc53fa9d.png)\n\nThis tool for Raspberry Pi monitors MIDI connections, and displays them in a OLED screen.\n\nThe grid shows MIDI outputs as rows, and MIDI inputs as columns, ordered in the same way, like a correlation matrix. A cross represents a connection. There are 4 ports max, as that's the max USB ports the RPi has.\n\n## Install\nClone or download the repo as zip package, and run\n```\nsudo make install\n```\n\n## Setup OLED\nIn my case I'm using a SSD1306 128x64 display, and code is scaled for it.\n\nEnable I2C,\n\n```\nsudo raspi-config\n```\nGo to `Interface Options` -\u003e `I2C`, and turn on. Then connect your OLED screen using the I2C pins. You can read the pinout, and how to verify your device address [here](https://pinout.xyz/pinout/i2c).\n\nIf your I2C address is different from `0x3C`, run\n\n```\nsudo systemctl edit midimatrix\n```\nand it will open an editor, add this,\n\n```\n[Service]\nExecStart=/usr/bin/midimatrix --oled-i2c-address=03E\n```\nsave, and restart the service\n\n```\nsudo systemctl daemon-reload\nsudo systemctl restart midimatrix\n```\n\n## Add input buttons (optional)\nYou can wire a button to navigate, and make connections. Default pin is GPIO 26. Follow the steps above to customize the startup params. \n\nPress to move forward, and hold to connect/disconnect ports.\n\n## Help\n```\nmidimatrix --help\n```\n\n## Connect MIDI devices\nYou can just use the `aconnect` ALSA utility,\n\n```bash\n# List devices\naconnect -l\n\n# Connect A to B\naconnect A B\n\n# Disconnect B from A\naconnect -d A B\n\n# Disconnect everything\naconnect -x\n```\n\nOr install [amidiauto](https://github.com/BlokasLabs/amidiauto) or [amidiminder](https://github.com/mzero/amidiminder), in which you can define rules to connect devices on startup and reconnect devices when available.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredraw%2Fmidimatrix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fredraw%2Fmidimatrix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fredraw%2Fmidimatrix/lists"}