{"id":16395415,"url":"https://github.com/williamd1k0/m5-synth","last_synced_at":"2025-10-26T14:31:12.574Z","repository":{"id":251687185,"uuid":"838123007","full_name":"williamd1k0/m5-synth","owner":"williamd1k0","description":"A simple project I created to study some of the audio capabilities of the M5Stack devices.","archived":false,"fork":false,"pushed_at":"2024-08-10T04:35:52.000Z","size":495,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-31T20:23:39.288Z","etag":null,"topics":["ble","m5cardputer","m5stack","m5stickcplus","m5stickcplus2","midi"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/williamd1k0.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}},"created_at":"2024-08-05T01:51:16.000Z","updated_at":"2024-11-11T16:03:31.000Z","dependencies_parsed_at":"2024-08-05T04:15:12.687Z","dependency_job_id":null,"html_url":"https://github.com/williamd1k0/m5-synth","commit_stats":null,"previous_names":["williamd1k0/m5-synth"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamd1k0%2Fm5-synth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamd1k0%2Fm5-synth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamd1k0%2Fm5-synth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/williamd1k0%2Fm5-synth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/williamd1k0","download_url":"https://codeload.github.com/williamd1k0/m5-synth/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238347645,"owners_count":19456968,"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":["ble","m5cardputer","m5stack","m5stickcplus","m5stickcplus2","midi"],"created_at":"2024-10-11T05:04:47.336Z","updated_at":"2025-10-26T14:31:12.116Z","avatar_url":"https://github.com/williamd1k0.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# M5 Synth\n\nThis is a simple project I created to study some of the audio capabilities of the M5Stack devices.\n\n## Synth Scales\n\u003e Targeted/tested device: **M5Cardputer**.\n\u003e\n\u003e`Speaker` and `Keyboard` are required.\n\nThe very first project I created for the M5Cardputer.\nIt's a simple demo for playing some notes (using the `Speaker`) of a particular musical scale.\n\n- Notes can be played by pressing the \u003ckbd\u003e1\u003c/kbd\u003e~\u003ckbd\u003e8\u003c/kbd\u003e number keys on the keyboard.\n- The **Key** can be changed by pressing \u003ckbd\u003e◂\u003c/kbd\u003e or \u003ckbd\u003e▸\u003c/kbd\u003e on the keyboard.\n- Reset to the default Key (C4) by pressing \u003ckbd\u003eesc\u003c/kbd\u003e on the keyboard.\n- Major and Minor scales can be toggled by pressing \u003ckbd\u003eM\u003c/kbd\u003e on the keyboard.\n- Volume can be adjusted by pressing \u003ckbd\u003e▴\u003c/kbd\u003e or \u003ckbd\u003e▾\u003c/kbd\u003e on the keyboard.\n\n![synth-scales](synth-scales.jpg)\n\n## Synth Midi\n\u003e Targeted/tested device: **M5Cardputer** and **M5StickC Plus 2** (may work with **M5StickC Plus**, but has not been tested).\n\u003e\n\u003e`Speaker` (`Buzzer` for the M5StickC Plus 2), `BLE` and a Bluetooth Midi Controller required.\n\u003e\n\u003e External lib required: https://github.com/max22-/ESP32-BLE-MIDI\n\nAfter creating the previous demo, I tried to create something similar but with Midi support.\nIt's still just a simple demo for playing some notes (and chords), but now with more flexibility.\n\n- After booting, the program will scan for Midi controllers and automatically connect to the first one it finds.\n- Press the \u003ckbd\u003eBtnA\u003c/kbd\u003e button to toggle between sine and square wave instruments.\n- Press the \u003ckbd\u003eBtnB\u003c/kbd\u003e button (M5StickC only) to flip the screen.\n- Only note on/off and volume messages have been implemented.\n\n![synth-midi](synth-midi.jpg)\n![synth-midi](synth-midi-stickc.jpg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilliamd1k0%2Fm5-synth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwilliamd1k0%2Fm5-synth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilliamd1k0%2Fm5-synth/lists"}