{"id":18697080,"url":"https://github.com/marcel-licence/esp32_midi_sampler","last_synced_at":"2025-07-23T19:34:10.559Z","repository":{"id":40043755,"uuid":"361150254","full_name":"marcel-licence/esp32_midi_sampler","owner":"marcel-licence","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-14T18:55:43.000Z","size":415,"stargazers_count":81,"open_issues_count":0,"forks_count":14,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-07-17T14:24:16.873Z","etag":null,"topics":["arduino","esp32","midi","sampler","synthesizer"],"latest_commit_sha":null,"homepage":"","language":"C++","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/marcel-licence.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":"2021-04-24T11:59:25.000Z","updated_at":"2025-07-02T12:05:02.000Z","dependencies_parsed_at":"2025-01-15T14:17:51.575Z","dependency_job_id":"9d40c1f0-3ae7-4bda-83f3-d3841370a610","html_url":"https://github.com/marcel-licence/esp32_midi_sampler","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/marcel-licence/esp32_midi_sampler","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcel-licence%2Fesp32_midi_sampler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcel-licence%2Fesp32_midi_sampler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcel-licence%2Fesp32_midi_sampler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcel-licence%2Fesp32_midi_sampler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcel-licence","download_url":"https://codeload.github.com/marcel-licence/esp32_midi_sampler/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcel-licence%2Fesp32_midi_sampler/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266738345,"owners_count":23976417,"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","status":"online","status_checked_at":"2025-07-23T02:00:09.312Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"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":["arduino","esp32","midi","sampler","synthesizer"],"created_at":"2024-11-07T11:22:47.325Z","updated_at":"2025-07-23T19:34:10.524Z","avatar_url":"https://github.com/marcel-licence.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# esp32_midi_sampler\nESP32 Audio Kit Sampling MIDI Module - A little DIY Arduino based audio/synthesizer project\n\n- video presentation of the initial state of this project https://youtu.be/7uSobNW7_A4 \n- little quick start guide to get started with arduino synthesizer / music projects: https://youtu.be/ZNxGCB-d68g\n\n\n\u003e **⚠️ Note:** This project might be outdated and is no longer actively maintained. Development has continued in a new repository, which covers the **ESP32** and other boards as well. Please check out the latest version of the project here: **[ml_synth_sampler_example](https://github.com/marcel-licence/ml_synth_sampler_example)**\n\n\n\nThe project is written for the ESP32 Audio Kit V2.2\nArduino Settings:\n- Board: ESP32 Dev Module\n- PSRAM: Enabled\n\nESP32 LittleFS Data Upload is required to upload samples into flash.\n\nCompile information:\n- board 'esp32' Version 1.0.6\n- core 'esp32' Version 1.0.6\n\nFollowing libraries are used:\n- FS in Version 1.0\n- LittleFS_esp32 in Version 1.0.6\n- SD_MMC in Version 1.0\n- WiFi in Version 1.0\n- AC101 in Version 0.0.1\n- Adafruit_NeoPixel in Version 1.7.0\n- Wire in Version 1.0.1\n- ML_SynthTools (https://github.com/marcel-licence/ML_SynthTools)\n\nConfiguration of the Audio Kit:\n- Set DIP 2, 3 to on and all other DIP switches to off (required for SD card access)\n\nTo store samples on the ESP32 you can upload them using the Arduino plugin:\n- ESP32 LittleFS Data Upload (src: https://github.com/lorol/arduino-esp32littlefs-plugin)\n\nA WS2812 8x8 led matrix can be connected to IO12, 3V3, GND (defined by LED_STRIP_PIN in config.h)\nref: https://hackaday.com/2017/01/20/cheating-at-5v-ws2812-control-to-use-a-3-3v-data-line/\n\nMIDI should be connected to IO18  (you can modify the define MIDI_RX_PIN in config.h)\n\nAS5600 can be now used for scratching. To use it, set the define \"AS5600_ENABLED\" in config.h as active.\nThe connection is defined below:\n- SDA: IO21\n- SCL: IO22\nNote: MIDI_RX_PIN changed from IO18 to IO19 on the ESP32 Audio Kit.\nIn that case you can attach a 160x80 display but its connection will change to:\n- MOS: IO23\n- SCLK: IO18\n- CS: IO5\n- DC: IO0\n- RST -\u003e should be connected to RST / EN of the ESP32\n\n\nA controller mapping can be found in z_config.ino.\n---\nKeys can be used with only one IO by a little modification of the ESP32 Audio Kit (ref: https://youtu.be/r0af0DB1R68)\n- move R66-70 to R60-R64 (0 Ohm resistors, you can also put a solder bridge)\n- place at R55-R59 a 1.8k resistor\nFinally the define AUDIO_KIT_BUTTON_ANALOG in config.h is required\n\n---\nIf you have questions or ideas please feel free to use the discussion area!\n\n---\nExternal resources:\nreverb_module.ino is a ported from stm32 code (src. https://github.com/YetAnotherElectronicsChannel/STM32_DSP_Reverb/blob/master/code/Src/main.c)\nA great video explaining the reverb can be found on his channel: https://youtu.be/nRLXNmLmHqM\n\nSpecifications and datasheets:\n---\n\nESP32-A1S (AC101 variant): https://www.makerfabs.com/desfile/files/ESP32-A1S%20Product%20Specification.pdf\nESP32-A1S (ES8388 variant): https://github.com/marcel-licence/esp32_midi_sampler/files/7075076/esp32-a1s_v2.3_specification.pdf\nAC101 user manual: http://www.x-powers.com/en.php/Info/down/id/96\nES8388 datasheet: http://www.everest-semi.com/pdf/ES8388%20DS.pdf\nES8388 user guide: https://dl.radxa.com/rock2/docs/hw/ds/ES8388%20user%20Guide.pdf\n\n# Derived projects\nIf you like please let me know if you want to get your project listed here which is based on the esp32_midi_sampler project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcel-licence%2Fesp32_midi_sampler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcel-licence%2Fesp32_midi_sampler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcel-licence%2Fesp32_midi_sampler/lists"}