Several Midi UART on Seed

Hi im trying to connect 2 midi devices to usart1 and usart2 of the seed via on octocoupler part (see the Send Midi part from https://www.instructables.com/Send-and-Receive-MIDI-with-Arduino/).

I’ve crossed tested all the components of the MIDI chain (keyboard, MIDI port, octocoupler part, usart pin, daisy code) and they are both working properly when used separately. The problem occurs when using both : none work.

Here is the reduced version of my code, feel free to ask if you want to inspect other parts of the code which are mentionned in the following.

#include "daisy_seed.h"
#include "daisysp.h"

MidiUartHandler midi_keyboard;
MidiUartHandler midi_arduino;


const size_t keyboard_rx_buffer_size = 256;
uint8_t DMA_BUFFER_MEM_SECTION keyboard_rx_buffer[keyboard_rx_buffer_size];

const size_t arduino_rx_buffer_size = 256;
uint8_t DMA_BUFFER_MEM_SECTION arduino_rx_buffer[arduino_rx_buffer_size];

void Midi_keyboard_config()
{
    MidiUartHandler::Config midi_keyboard_config; // midi keyboard
    midi_keyboard_config.transport_config.periph = UartHandler::Config::Peripheral::USART_2;//USART_3;
    midi_keyboard_config.transport_config.rx = {DSY_GPIOA, 3};
    midi_keyboard_config.transport_config.tx = {DSY_GPIOA, 2};
    midi_keyboard_config.transport_config.rx_buffer = keyboard_rx_buffer;
    midi_keyboard_config.transport_config.rx_buffer_size = keyboard_rx_buffer_size;
    midi_keyboard.Init(midi_keyboard_config);
    midi_keyboard.StartReceive();
}

void Midi_arduino_config()
{
    MidiUartHandler::Config midi_arduino_config; // midi arduino
    midi_arduino_config.transport_config.periph = UartHandler::Config::Peripheral::USART_1;
    midi_arduino_config.transport_config.rx = {DSY_GPIOB, 7};
    midi_arduino_config.transport_config.tx = {DSY_GPIOB, 6};
    midi_arduino_config.transport_config.rx_buffer = arduino_rx_buffer;
    midi_arduino_config.transport_config.rx_buffer_size = arduino_rx_buffer_size;
    midi_arduino.Init(midi_arduino_config);
    midi_arduino.StartReceive();
}
int main(void)
{    
    Midi_keyboard_config();
    Midi_arduino_config();

    System::Delay(1000);

    for(;;)
    {       
        UpdateParameters(sc);
        //midi_keyboard.Listen();
        midi_arduino.Listen();
        // Handle MIDI Events
        //while(midi_keyboard.HasEvents()) HandleMidiMessage(midi_keyboard.PopEvent());
        while(midi_arduino.HasEvents()) HandleMidiMessage(midi_arduino.PopEvent());
    }
}