Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marcel-licence/esp32_midi_sampler
https://github.com/marcel-licence/esp32_midi_sampler
arduino esp32 midi sampler synthesizer
Last synced: about 5 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/marcel-licence/esp32_midi_sampler
- Owner: marcel-licence
- License: gpl-3.0
- Created: 2021-04-24T11:59:25.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-06-24T14:00:47.000Z (5 months ago)
- Last Synced: 2024-06-24T15:44:09.827Z (5 months ago)
- Topics: arduino, esp32, midi, sampler, synthesizer
- Language: C++
- Homepage:
- Size: 409 KB
- Stars: 72
- Watchers: 8
- Forks: 12
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# esp32_midi_sampler
ESP32 Audio Kit Sampling MIDI Module - A little DIY Arduino based audio/synthesizer project- video presentation of the initial state of this project https://youtu.be/7uSobNW7_A4
- little quick start guide to get started with arduino synthesizer / music projects: https://youtu.be/ZNxGCB-d68g> **⚠️ 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)**
The project is written for the ESP32 Audio Kit V2.2
Arduino Settings:
- Board: ESP32 Dev Module
- PSRAM: EnabledESP32 LittleFS Data Upload is required to upload samples into flash.
Compile information:
- board 'esp32' Version 1.0.6
- core 'esp32' Version 1.0.6Following libraries are used:
- FS in Version 1.0
- LittleFS_esp32 in Version 1.0.6
- SD_MMC in Version 1.0
- WiFi in Version 1.0
- AC101 in Version 0.0.1
- Adafruit_NeoPixel in Version 1.7.0
- Wire in Version 1.0.1
- ML_SynthTools (https://github.com/marcel-licence/ML_SynthTools)Configuration of the Audio Kit:
- Set DIP 2, 3 to on and all other DIP switches to off (required for SD card access)To store samples on the ESP32 you can upload them using the Arduino plugin:
- ESP32 LittleFS Data Upload (src: https://github.com/lorol/arduino-esp32littlefs-plugin)A WS2812 8x8 led matrix can be connected to IO12, 3V3, GND (defined by LED_STRIP_PIN in config.h)
ref: https://hackaday.com/2017/01/20/cheating-at-5v-ws2812-control-to-use-a-3-3v-data-line/MIDI should be connected to IO18 (you can modify the define MIDI_RX_PIN in config.h)
AS5600 can be now used for scratching. To use it, set the define "AS5600_ENABLED" in config.h as active.
The connection is defined below:
- SDA: IO21
- SCL: IO22
Note: MIDI_RX_PIN changed from IO18 to IO19 on the ESP32 Audio Kit.
In that case you can attach a 160x80 display but its connection will change to:
- MOS: IO23
- SCLK: IO18
- CS: IO5
- DC: IO0
- RST -> should be connected to RST / EN of the ESP32A controller mapping can be found in z_config.ino.
---
Keys can be used with only one IO by a little modification of the ESP32 Audio Kit (ref: https://youtu.be/r0af0DB1R68)
- move R66-70 to R60-R64 (0 Ohm resistors, you can also put a solder bridge)
- place at R55-R59 a 1.8k resistor
Finally the define AUDIO_KIT_BUTTON_ANALOG in config.h is required---
If you have questions or ideas please feel free to use the discussion area!---
External resources:
reverb_module.ino is a ported from stm32 code (src. https://github.com/YetAnotherElectronicsChannel/STM32_DSP_Reverb/blob/master/code/Src/main.c)
A great video explaining the reverb can be found on his channel: https://youtu.be/nRLXNmLmHqMSpecifications and datasheets:
---ESP32-A1S (AC101 variant): https://www.makerfabs.com/desfile/files/ESP32-A1S%20Product%20Specification.pdf
ESP32-A1S (ES8388 variant): https://github.com/marcel-licence/esp32_midi_sampler/files/7075076/esp32-a1s_v2.3_specification.pdf
AC101 user manual: http://www.x-powers.com/en.php/Info/down/id/96
ES8388 datasheet: http://www.everest-semi.com/pdf/ES8388%20DS.pdf
ES8388 user guide: https://dl.radxa.com/rock2/docs/hw/ds/ES8388%20user%20Guide.pdf# Derived projects
If you like please let me know if you want to get your project listed here which is based on the esp32_midi_sampler project.