Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/marcel-licence/ml_synth_organ_example
ESP32, ESP8266 based MIDI Organ using the ML_SynthTools library (little example arduino project)
https://github.com/marcel-licence/ml_synth_organ_example
arduino audio esp32 esp8266 organ rp2040 stm32 synthesizer
Last synced: about 5 hours ago
JSON representation
ESP32, ESP8266 based MIDI Organ using the ML_SynthTools library (little example arduino project)
- Host: GitHub
- URL: https://github.com/marcel-licence/ml_synth_organ_example
- Owner: marcel-licence
- License: gpl-3.0
- Created: 2021-11-26T22:13:47.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-17T09:40:58.000Z (21 days ago)
- Last Synced: 2024-10-19T12:19:58.060Z (19 days ago)
- Topics: arduino, audio, esp32, esp8266, organ, rp2040, stm32, synthesizer
- Language: C++
- Homepage:
- Size: 855 KB
- Stars: 45
- Watchers: 6
- Forks: 12
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
ml_synth_organ_example
MIDI Organ using the ML_SynthTools library (little example arduino project)
This project is an example supporting different platforms:
- ESP32
- ESP8266
- Seeedstudio XIAO (samd21 - cortex-m0plus)
- Teensy 4.1 (imxrt1062)
- Daisy Seed (cortex-m7)
- Raspberry Pi Pico (rp2040)The required library can be found here: https://github.com/marcel-licence/ML_SynthTools
All platforms are tested. Actually the sound quality might be a bit limited.
The organ supports full polyphony (you can play all 64 notes of the upper manual at the same time).
You can modify the sound using 9 drawbars.
Percussion is supported (2nd, 3rd).
A simple rotary implementation creates a simple (noisy) leslie like sound.Demo using ESP32, ESP8266: https://youtu.be/c7TL8jcrnzs
Demo using the XIAO: https://youtu.be/2wT8nByoUNw
Demo using the Teensy4.1: https://youtu.be/H-NDCQnSDV0More information will be available in future
Compileable build configurations
Below you will find a list of some possible build configurations.
They should all work without any modification of the code.
Core: ESP32 Arduino (2.0.4)
Version: 2.0.4
Board: WEMOS D1 MINI ESP32
Flash Frequency: 80MHz
Partition Scheme: Default
CPU Frequency: 240MHz (WiFi/BT)
Upload Speed: 921600
Core Debug Level: None
Used libraries:
Name
Version
Url
Git
Core library
ML SynthTools
1.0.1
https://github.com/marcel-licence/ML_SynthTools
https://github.com/marcel-licence/ML_SynthTools.git
False
WiFi
2.0.0
https://github.com/espressif/arduino-esp32.git
True
Core: ESP32 Arduino
Version: 1.0.6
Board: ESP32 Dev Module
PSRAM: Disabled
Partition Scheme: No OTA (2MB APP/2MB SPIFFS)
CPU Frequency: 240MHz (WiFi/BT)
Flash Mode: QIO
Flash Frequency: 80MHz
Flash Size: 4MB (32Mb)
Upload Speed: 921600
Core Debug Level: None
Used libraries:
Name
Version
Url
Git
Core library
ML SynthTools
1.0.1
https://github.com/marcel-licence/ML_SynthTools
https://github.com/marcel-licence/ML_SynthTools.git
False
WiFi
1.0
True
Core: ESP32 Arduino (2.0.5)
Version: 2.0.5
Board: WEMOS D1 MINI ESP32
Flash Frequency: 80MHz
Partition Scheme: Default
CPU Frequency: 240MHz (WiFi/BT)
Upload Speed: 921600
Core Debug Level: None
Used libraries:
Name
Version
Url
Git
Core library
ML SynthTools
1.0.1
https://github.com/marcel-licence/ML_SynthTools
https://github.com/marcel-licence/ML_SynthTools.git
False
WiFi
2.0.0
https://github.com/espressif/arduino-esp32.git
True
Core: ESP32 Arduino (2.0.0)
Version: 2.0.0
Board: ESP32 Dev Module
PSRAM: Disabled
Partition Scheme: Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
CPU Frequency: 240MHz (WiFi/BT)
Flash Mode: QIO
Flash Frequency: 80MHz
Flash Size: 4MB (32Mb)
Upload Speed: 921600
Arduino Runs On: Core 1
Events Run On: Core 1
Core Debug Level: None
Used libraries:
Name
Version
Url
Git
Core library
ML SynthTools
1.0.1
https://github.com/marcel-licence/ML_SynthTools
https://github.com/marcel-licence/ML_SynthTools.git
False
WiFi
2.0.0
True
Core: Raspberry Pi RP2040 Boards(1.13.1)
Version: 1.13.1
Board: Generic RP2040
Flash Size: 2MB (no FS)
CPU Speed: 125 MHz
Optimize: Small (-Os) (standard)
RTTI: Disabled
Debug Port: Serial
Debug Level: None
USB Stack: Pico SDK
Boot Stage 2: W25Q080 QSPI /4
Used libraries:
Name
Version
Url
Git
Core library
ML SynthTools
1.0.1
https://github.com/marcel-licence/ML_SynthTools
https://github.com/marcel-licence/ML_SynthTools.git
False
I2S
1.0
http://www.arduino.cc/en/Reference/I2S
True
Core: Raspberry Pi RP2040 Boards(1.13.1)
Version: 1.13.1
Board: Raspberry Pi Pico
Flash Size: 2MB (no FS)
CPU Speed: 125 MHz
Debug Port: Disabled
Debug Level: None
USB Stack: Pico SDK
Used libraries:
Name
Version
Url
Git
Core library
ML SynthTools
1.0.1
https://github.com/marcel-licence/ML_SynthTools
https://github.com/marcel-licence/ML_SynthTools.git
False
I2S
1.0
http://www.arduino.cc/en/Reference/I2S
True
Core: Teensyduino
Version: 1.8.5
Board: Teensy 4.1
USB Type: Serial + MIDI + Audio
CPU Speed: 600 MHz
Optimize: Faster
Keyboard Layout: US English
Used libraries:
Name
Version
Url
Git
Core library
Audio
1.3
http://www.pjrc.com/teensy/td_libs_Audio.html
True
SPI
1.0
http://www.arduino.cc/en/Reference/SPI
True
SD
2.0.0
https://github.com/PaulStoffregen/SD
True
SerialFlash
0.5
https://github.com/PaulStoffregen/SerialFlash
True
ML SynthTools
1.0.1
https://github.com/marcel-licence/ML_SynthTools
https://github.com/marcel-licence/ML_SynthTools.git
False
Wire
1.0
http://www.arduino.cc/en/Reference/Wire
True
Core: STM32GENERIC for STM32 boards
Version: 1.0.0
Board: BLACK F407VG/VE/ZE/ZG boards
USB: Serial [Virtual COM port, PA11/PA12 pins]
Serial communication: SerialUSB
Used libraries:
Name
Version
Url
Git
Core library
ML SynthTools
1.0.1
https://github.com/marcel-licence/ML_SynthTools
https://github.com/marcel-licence/ML_SynthTools.git
False
I2S
1.0
http://www.arduino.cc/en/Reference/I2S
https://github.com/marcel-licence/STM32GENERIC.git
True
DMA
1.0
https://github.com/marcel-licence/STM32GENERIC.git
True
Core: STM32GENERIC for STM32 boards
Version: 1.0.0
Board: Discovery F407VG
USB: Serial [Virtual COM port]
Serial communication: SerialUSB
Used libraries:
Name
Version
Url
Git
Core library
ML SynthTools
1.0.1
https://github.com/marcel-licence/ML_SynthTools
https://github.com/marcel-licence/ML_SynthTools.git
False
Wire
1.0
http://www.arduino.cc/en/Reference/Wire
https://github.com/marcel-licence/STM32GENERIC.git
True
I2S
1.0
http://www.arduino.cc/en/Reference/I2S
https://github.com/marcel-licence/STM32GENERIC.git
True
DMA
1.0
https://github.com/marcel-licence/STM32GENERIC.git
True
Core: STM32 boards groups (Board to be selected from Tools submenu 'Board part number')
Version: 2.1.0
Board: Generic STM32H7 Series
Board part number: Daisy Seed
Upload method: STM32CubeProgrammer (DFU)
U(S)ART support: Enabled (generic 'Serial')
USB support (if available): CDC (generic 'Serial' supersede U(S)ART)
USB speed (if available): Low/Full Speed
Optimize: Smallest (-Os default)
Debug symbols: None
C Runtime Library: Newlib Nano (default)
Used libraries:
Name
Version
Url
Git
Core library
ML SynthTools
1.0.1
https://github.com/marcel-licence/ML_SynthTools
https://github.com/marcel-licence/ML_SynthTools.git
False
DaisyDuino
1.4.0
https://github.com/electro-smith/DaisyDuino
https://github.com/marcel-licence/DaisyDuino.git
False
Wire
1.0
http://www.arduino.cc/en/Reference/Wire
True
Source Wrapper
1.0.1
True
Core: ESP8266 Boards (3.0.2)
Version: 3.0.2
Board: LOLIN(WEMOS) D1 R2 & mini
CPU Frequency: 160 MHz
VTables: Flash
C++ Exceptions: Disabled (new aborts on oom)
Stack Protection: Disabled
SSL Support: All SSL ciphers (most compatible)
MMU: 32KB cache + 32KB IRAM (balanced)
Non-32-Bit Access: Use pgm_read macros for IRAM/PROGMEM
Flash Size: 4MB (FS:2MB OTA:~1019KB)
lwIP Variant: v2 Lower Memory
Debug port: Disabled
Debug Level: None
Erase Flash: Only Sketch
Upload Speed: 921600
Used libraries:
Name
Version
Url
Git
Core library
ML SynthTools
1.0.1
https://github.com/marcel-licence/ML_SynthTools
https://github.com/marcel-licence/ML_SynthTools.git
False
ESP8266WiFi
1.0
True
I2S
1.0
http://www.arduino.cc/en/Reference/I2S
True
Core: Seeed SAMD (32-bits ARM Cortex-M0+ and Cortex-M4) Boards
Version: 1.8.2
Board: Seeeduino XIAO
USB Stack: Arduino
Debug: Off
Used libraries:
Name
Version
Url
Git
Core library
ML SynthTools
1.0.1
https://github.com/marcel-licence/ML_SynthTools
https://github.com/marcel-licence/ML_SynthTools.git
False
Core: STM32GENERIC for STM32 boards
Version: 1.0.0
Board: BLUE F103VE/ZE/ZG boards
USB: Serial [Virtual COM port, PA11/PA12 pins]
Serial communication: SerialUSB
Used libraries:
Name
Version
Url
Git
Core library
ML SynthTools
1.0.1
https://github.com/marcel-licence/ML_SynthTools
https://github.com/marcel-licence/ML_SynthTools.git
False
I2S
1.0
http://www.arduino.cc/en/Reference/I2S
https://github.com/marcel-licence/STM32GENERIC.git
True
DMA
1.0
https://github.com/marcel-licence/STM32GENERIC.git
True
Core: STM32GENERIC for STM32 boards
Version: 1.0.0
Board: BluePill F103CB
USB: Serial [Virtual COM port, PA11/PA12 pins]
Serial communication: SerialUSB
Used libraries:
Name
Version
Url
Git
Core library
ML SynthTools
1.0.1
https://github.com/marcel-licence/ML_SynthTools
https://github.com/marcel-licence/ML_SynthTools.git
False
I2S
1.0
http://www.arduino.cc/en/Reference/I2S
https://github.com/marcel-licence/STM32GENERIC.git
True
DMA
1.0
https://github.com/marcel-licence/STM32GENERIC.git
True