Daisy seed MIDI DIN & MIDI USB Input support for DIY synth build

Hello all,

I am very new to this space so please bear with me. I am a master’s student trying to build my simple polyphonic synth for my research. I have a good understanding of electronics building my own DIY monophonic synth last year but my coding experience is not as good. I have not coded for close to 6 years!

For more context, I’m using a Daisy seed 65 MB with the program studio visual code in C++.

I am aware of the many projects online showing MIDI input, however, I’m struggling to understand how these projects have been put together.

I plan to create a MIDI in circuit such as this:

Once I have created this circuit how can I create some code that will take the MIDI Din input signal and then output the notes pressed in the terminal/output so I can see the Daisy seed is receiving the data?

Another question I can’t seem to find an answer to online is whether there is support for USB Midi. In this case, it would be from a MIDI signal from an AKAI LPK25 which doesn’t have a MIDI Din socket, so the connection would be a Micro B USB output from the AKAI, with a USB Male A being an input for the Daisy Seed which is what would usually go into my computer. I am aware that the Daisy seed might not have enough power to support the keyboard but I’m not sure about this.

I appreciate anyone who takes the time to read this, I apologize if I have muddled up terms, I am learning as I go along and super excited to see where my project could end.

Have you tried searching for MIDI in (similar) on this forum? I suppose you downloaded the DaisyExamples…? The Daisy Pod comes with an opto-coupled MIDI IN jack, like the one you want to build. One of the DaisyExamples for the Pod shows how to use it. When it comes to USB Midi, your AKAI controller and the Daisy Seed both act as USB Device, so you need a USB Host (like a computer) as well. There’s a DaisyExample for the seed that should help you get started.

I don’t think MIDI over USB Host is implemented in libDaisy yet.
Currently the USB Host on the Daisy can only be used for storage.

[Edit: ok apparently this was merged in latest libDaisy earlier this year. I even replied to the topic hehe.]

So if you use the latest libDaisy master branch you might be able to do this.

Hello and thank you all for your input.

I have tried the first MIDI circuit without any luck. Pin 6 on the 6n138 is going to daisy seed d14 (Pin 15).

Here is a link to the circuit:
schematic-1.jpg (1754×1241) (hfbk.net)

I am using MIDI input on the bottom left.

Also now I have switched Arduino IDE as I was having library issues in visual studio code as I couldn’t get in to find the library .

The code is the following in Arduino IDE :

#include “DaisyDuino.h”
#include <MIDI.h>

MIDI_CREATE_DEFAULT_INSTANCE();
#define BUFFER_LENGTH_SECONDS 5

DaisyHardware hw;

void handleNoteOn(byte inChannel, byte inNote, byte inVelocity) {

Serial.print(“[MIDI ON] chn<”);
Serial.print((int) inChannel);
Serial.print(“> note<”);
Serial.print((int) inNote);
Serial.print(“> velocity<”);
Serial.print((int) inVelocity);
Serial.println(“>”);

}

void handleNoteOff(byte inChannel, byte inNote, byte inVelocity) {

Serial.print(“[MIDI OFF] chn<”);
Serial.print((int) inChannel);
Serial.print(“> note<”);
Serial.print((int) inNote);
Serial.print(“> velocity<”);
Serial.print((int) inVelocity);
Serial.println(“>”);

}

void setup() {

// Start serial communications
Serial.begin(9600);

// Setup MIDI handlers
MIDI.setHandleNoteOn(handleNoteOn);
MIDI.setHandleNoteOff(handleNoteOff);
// MIDI.setHandleAfterTouchChannel(handleAftertouch);

MIDI.begin(MIDI_CHANNEL_OMNI); // Listen to all incoming messages

}

void loop() {

// MIDI
MIDI.read();

}

I now run into an issue as when i open the serial monitor i dont see anything outputted. Any ideas?