ESP32, ESP8266 based MIDI Organ using the ML_SynthTools library (little example arduino project)

ml_synth_organ_example

MIDI Organ using the ML_SynthTools library (little example arduino project)

project picture
link to the video

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-NDCQnSDV0

More information will be available in future

Similar Resources

Example code for collecting weather data from an ESP32 and then uploading this data to InfluxDB in order to create a dashboard using Grafana.

InfluxGrafanaTutorial Example code for collecting weather data from an ESP32 and then uploading this data to InfluxDB in order to create a dashboard u

Oct 8, 2022

Adafruit GFX compatible arduino library for using cat thermal printers with the ESP32

Adafruit GFX compatible arduino library for using cat thermal printers with the ESP32

CatGFX This library offers a Adafruit GFX "driver" for ESP32 and the cheap cat (or rabbit?) BLE thermal printers like this one: For usage information

Sep 23, 2022

Little project on ATtiny13 (AVR microcontroller)

Little project on ATtiny13 (AVR microcontroller)

Night-light Hello everyone.This is not a big project,created specifically for the "AVR ATtiny13" microcontroller. It embodies the concept of a night l

Jan 7, 2022

Automatic street light control using LDR as the sensor and an LED as an example of a street light. Performed a small simulation of an Arduino board along with LDR and LED to simulate the automatic street light control in TinkerCAD.

Automatic street light control using LDR as the sensor and an LED as an example of a street light. Performed a small simulation of an Arduino board along with LDR and LED to simulate the automatic street light control in TinkerCAD.

Timer-Interrupt Automatic street light control using LDR as the sensor and an LED as an example of street light. Performed a small simulation of an ar

Dec 19, 2021

Example-application - Example out-of-tree application that is also a module

Zephyr Example Application This repository contains a Zephyr example application. The main purpose of this repository is to serve as a reference on ho

Nov 14, 2022

Library for playing midi files with SFML

sfMidi sfMidi is a library for playing MIDI files with SoundFont 2 in SFML. Original Author Kerli Low (a.k.a. zorexx) [email protected] http://www.zo

Sep 21, 2019

Web Server based on the Raspberry Pico using an ESP8266 with AT firmware for WiFi

Web Server based on the Raspberry Pico using an ESP8266 with AT firmware for WiFi

PicoWebServer This program runs on a Raspberry Pico RP2040 to provide a web server when connected to an Espressif ESP8266. This allows the Pico to be

Nov 27, 2022

🐏 💾 RamDisk for ESP32-Arduino using PsRam and fs::FS

ESP32-PsRamFS Coding Horror This is a very early version of ESP32-PsRamFS: a wannabee RamDisk library for Arduino-ESP32 with vfs compliance. It provid

Nov 20, 2022

Arduino and Nodemcu(esp8266)

Iot-based-project Using Arduino and Nodemcu(esp8266) We read temperature and humidity from DHT11 sensor with the help of ardunio uno and send that dat

Sep 25, 2021
Comments
  • suggestion to match     #ifdef MIDI_TX2_PIN

    suggestion to match #ifdef MIDI_TX2_PIN

    In ml_synth_organ_example.ino

    There is a compile error if you don't have MIDI_TX2_PIN defined (i have the RX pin defined) because in the midi module this Midi_SendShortMessage ... is reliant on the #ifdef MIDI_TX2_PIN so I added that to remove the compile issue as I am just adding the USB_Midi_host hardware and testing

    #ifdef MIDI_VIA_USB_ENABLED
    void App_UsbMidiShortMsgReceived(uint8_t *msg)
    {   
        #ifdef MIDI_TX2_PIN
        Midi_SendShortMessage(msg);
        #endif
        Midi_HandleShortMsg(msg, 8);
    }
    #endif
    
  • Can't compile for RP2040

    Can't compile for RP2040

    Hi, the organ sound great! Do you know why i have this issue? I added the board as described here:

    /home/schef/git/ml_synth_organ_example/audio_module.ino: In function 'void Audio_Setup()':
    audio_module:118:13: error: expected primary-expression before '.' token
      118 |     if (!I2S.begin(SAMPLE_RATE))
          |             ^
    /home/schef/git/ml_synth_organ_example/audio_module.ino: In function 'void Audio_OutputMono(const int32_t*)':
    audio_module:339:12: error: expected unqualified-id before '.' token
      339 |         I2S.write(u16int[i]);
          |            ^
    exit status 1
    expected primary-expression before '.' token
    

    Thanks

Nov 29, 2022
ESP32 drum computer / sample player / midi sequencer (Arduino audio project)

esp32_drum_computer ESP32 drum computer / sample player / midi sequencer (Arduino audio project) The project can be seen in my video https://youtu.be/

Nov 14, 2022
GrandOrgue is a sample based pipe organ simulator.

GrandOrgue is a sample based pipe organ simulator. It currently supports Linux, Windows and OS X. Porting to other OS supported by RtMidi,

Nov 25, 2022
A handy little system information monitor using and ESP32 + ILI9488 TFT. Receives data over Serial Bluetooth.
A handy little system information monitor using and ESP32 + ILI9488 TFT. Receives data over Serial Bluetooth.

Bluetooth-System-Monitor A handy little system information monitor using and ESP32 + ILI9488 TFT. Receives data over Serial Bluetooth and thus giving

Nov 29, 2022
ESP32 and ESP8266 Arduino wifi template

ESP wifi template ESP32 and ESP8266 Arduino wifi template Features Popular WiFI AP mode WiFI STA mode ETH mode DNS server for AP mode Async DDNS clien

Jun 20, 2022
This project design to mine Duino-Coin using an Esp8266 as a master and Arduino as a slave.
This project design to mine Duino-Coin using an Esp8266 as a master and Arduino as a slave.

DuinoCoinI2C This project design to mine Duino-Coin using an Esp8266/Esp32 as a master and Arduino as a slave. Using the I2C communication to connect

Nov 28, 2022
ESP32-Skid-Steer - Bruder Catepillar Skid Steer model converted to RC, controlled by an ESP32 with 2 analog joysticks and a receiver that is an ESP32 on the model.
ESP32-Skid-Steer - Bruder Catepillar Skid Steer model converted to RC, controlled by an ESP32 with 2 analog joysticks and a receiver that is an ESP32 on the model.

ESP32-Skid-Steer Bruder Catepillar Skid Steer model converted to RC, controlled by an ESP32 with 2 analog joysticks and a receiver that is an ESP32 on

Oct 27, 2022
ESP32 + GitHub Actions + Husarnet. A boilerplate project for ESP32 allowing in-field firmware update using GitHub Actions workflow.

esp32-internet-ota ESP32 + GitHub Actions + Husarnet. A boilerplate project for ESP32 allowing in-field firmware update using GitHub Actions workflow.

Sep 22, 2022
The function is based on MQTT. When the original serial of ESP8266/ESP32 cannot be used, it can replace serial print.
The function is based on MQTT. When the original serial of ESP8266/ESP32 cannot be used, it can replace serial print.

MqttPrint and MqttMonitor The function is based on MQTT. When the original serial of ESP8266/ESP32 cannot be used, it can replace serial print. MqttPr

Sep 28, 2022
ESP32S2 Arduino USB host printer, MIDI, and keyboard demos
ESP32S2 Arduino USB host printer, MIDI, and keyboard demos

ESP32 S2 USB Host Jumpstart A collection of experiments and demos using Espressif ESP32 S2 in USB host mode. Most of the sketches have little or no C+

Nov 21, 2022