Questions about using USB MIDI for ESP32-based DJ controller project

Continuing the discussion from MIDI USB on the Nano ESP32:

Hi there, I am working on making a modular esp32 based dj-controller and i was wondering how the latency was with the method described in MIDI USB on the Nano ESP32 . My goal is to get the dj-controller to have its own DAC to output audio received over usb from the dj software but i’m worried about delays and wondering wether it would just be better to send serial to the pc(or midi if that’s viable) and have the pc audio manage the sound

n3p7un:

I am not sure what you are asking about.

If you are asking if there is significant latency when transmitting MIDI messages over USB then I do not think so as the MIDI message protocol is simple with not a lot of overhead once it gets into setting notes on and off.

If you are asking if there is a lot more latency between MIDI over USB vs. MIDI over BT then, AFAICT, there is about 25ms additional latency on the BT MIDI side. Which is the same latency as sound through about 5' of air. At least that is what I am finding in my very subjective testing.

1 Like

Hello there again, I started working on the project and I'm having a hell of a time getting the libraries for communicating with MIDI a nightmare. There's little to no information and it's very scattered and nut much helpful but I've tried playing around with board definitions and build flags to no avail. I started wondering whether I may have an incompatible board, I'm very new to esp32 so it may as well be the problem. This is the output I get when connecting to it via serial:

Chip is ESP32-D0WD-V3 (revision v3.1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz

I wonder if anyone more knowledgable than me in the naming schemes for esp32 could help me out here :sweat_smile:

You seem to be using an ESP32, which does not have native USB support. The OP was using an Arduino Nano ESP32, which (despite its confusing name) uses an ESP32-S3 chip.
The ESP32-S3 supports USB, the ESP32 does not.

1 Like

As PieterP says, you seem to have an older ESP32-type board and you need an ESP32-S3 for serial midi. You can do BT midi on the board you have and the latency difference between BT midi and serial midi is very little.

You can buy cheap ESP32-S3 dev boards from Aliexpress, I have a couple of them, and you can get serial midi to work on them but I would really recommend the Nano-ESP as it is much easier to set up and has good support here on the forum.