lathoub / Arduino-AppleMIDI-Library

Send and receive MIDI messages over Ethernet (rtpMIDI or AppleMIDI)
Other
310 stars 66 forks source link

Adapting Arduino-AppleMidi-Library to wifi for ESP8266 #11

Closed rubenbroman closed 9 years ago

rubenbroman commented 9 years ago

Hi,

I'm trying to adapt this lovely library to be used on the ESP8266 using wifi. So far I've changed all the EthernetUDP calls to WiFiUdp. It seemed to be working fine and when I connect to the ESP8266 from the OS X Audio Midi it seems like I get a connection. I won't get anything in the Midi monitor app and the ESP8266 starts spitting out gibberish over serial.

Do you have any idea where to start looking? I'm not really a programmer and I don't know much about the inner workings of AppleMidi so it would mean a lot to get some help.

This is what the serial output looks like. The example code follows.

Connected to rutgerfuchsgatan9.se
IP address: 10.0.1.170
MDNS responder started

IP address is 10.0.1.170.
OK, now make sure you an rtpMIDI session that is Enabled
Add device na< Note On (c=1, n=45, v=55)
< Note Off (c=1, n=45, v=55)
< Note Off (c=1, n=45, v=55)
MacBookPro ,ssrc 0xEBD5716C ,initiatorToken = 0x109CF92E
� @`[�?`[�?���?p��?<��?test�?@��?{ @O_�
]�?�S�?���?�S�?Ȉ�?�S�?�� @�4F5FDC11@0109CF92E
MacBookPro��?EBD5716C
test�?X��?{ @O_�
2�?`[�?�Z#@0A�?4F5FDC11
Connected to session MacBookPro
EBD5716C?�O�?`[�?�!@�"�?�O�?�"�?0
�?4F5FDC11?�O�?�"�?1
��?EBD5716C?�O�?�"�?2
�?4F5FDC11?�O�?�"�?0
[�?EBD5716C?�O�?�"�?1
�?4F5FDC11?�O�?�"�?2
[�?EBD5716C?�O�?�"�?0
�?4F5FDC11?�O�?�"�?1
[�?EBD5716C?�O�?�"�?2
�?4F5FDC11?�O�?�"�?0
[�?EBD5716C?�O�?�"�?1
�?4F5FDC11?�O�?�"�?2
[�?EBD5716C?�O�?�"�?0
�?4F5FDC11?�O�?�"�?1
[�?�3@(��?���?���,EBD5716C?�O�?�"�?2
�?4F5FDC11?�O�?�"�?0
[�?�3@EBD5716C?�O�?�"�?1
�?4F5FDC11?�O�?�"�?2
1, n=45, v=55)
��1, n=45, v=55)
1, n=45, v=55)
��1, n=45, v=55)
1, n=45, v=55)
��1, n=45, v=55)
1, n=45, v=55)
��1, n=45, v=55)
1, n=45, v=55)
��1, n=45, v=55)
1, n=45, v=55)
��1, n=45, v=55)
1, n=45, v=55)
��1, n=45, v=55)
1, n=45, v=55)
��1, n=45, v=55)
1, n=45, v=55)
��1, n=45, v=55)
�?p��?p��?p��?�� @�I @�Z�?�Z�?EBD5716C
Disconnected
1, n=45, v=55)
��1, n=45, v=55)
1, n=45, v=55)
��1, n=45, v=55)
1, n=45, v=55)
��1, n=45, v=55)
1, n=45, v=55)
��1, n=45, v=55)
MacBookPro:@`EBD5716CDED7263
Z�?�test�?@��?{ @O_�
2�?`[�?�Z#@0A�?(��?���?4F5FDC11@0A�?(��?���?DED7263
���?� @xc @0MacBookPro�?���?� @xc @02�?`[�?�Z#@0A�?(��?���?EBD5716C
test�?X��?{ @O_�
2�?`[�?�Z#@0A�?(��?���?4F5FDC11
Connected to session MacBookPro
EBD5716C?�O�?`[�?�!@�"�?�O�?�"�?0
�?4F5FDC11?�O�?�"�?1
]�?(!@EBD5716C?�O�?�"�?2
�?4F5FDC11?�O�?�"�?0
[�?(!@EBD5716C?�O�?�"�?1
�?4F5FDC11?�O�?�"�?2
[�?(!@EBD5716C?�O�?�"�?0
�?4F5FDC11?�O�?�"�?1
[�?(!@EBD5716C?�O�?�"�?2
�?4F5FDC11?�O�?�"�?0
[�?(!@EBD5716C?�O�?�"�?1
�?4F5FDC11?�O�?�"�?2
>@�;@EBD5716C?�O�?�"�?0
�?4F5FDC11?�O�?�"�?1
[�?�;@EBD5716C?�O�?�"�?2
�?4F5FDC11?�O�?�"�?0
[�?EBD5716C?�O�?�"�?1
�?4F5FDC11?�O�?�"�?2
1, n=45, v=55)
��1, n=45, v=55)
��1, n=45, v=55)
�?p��?p��?p��?�� @�I @�Z�?�Z�?EBD5716C
Disconnected
1, n=45, v=55)
��1, n=45, v=55)
1, n=45, v=55)

Here's the example code:

#include <SPI.h>
#include <ESP8266WiFi.h>
#include <ESP8266mDNS.h>
#include "AppleMidi.h"

MDNSResponder mdns;

const char* ssid = "rutgerfuchsgatan9.se";
const char* password = "freewifi";

unsigned long t0 = millis();

// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
void setup()
{
  // Serial communications and wait for port to open:
  Serial.begin(115200);

  Serial.print("Getting IP address...");

  WiFi.begin(ssid, password);
  Serial.println("");

  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());

   if (mdns.begin("esp8266", WiFi.localIP())) {
    Serial.println("MDNS responder started");
  }

  // print your local IP address:
  Serial.println();
  Serial.print("IP address is ");
  for (byte thisByte = 0; thisByte < 4; thisByte++) {
    // print the value of each byte of the IP address:
    Serial.print(WiFi.localIP()[thisByte], DEC);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("OK, now make sure you an rtpMIDI session that is Enabled");
  Serial.print("Add device named Arduino with Host/Port ");
  Serial.print(WiFi.localIP()[0], DEC);
  Serial.print(".");
  Serial.print(WiFi.localIP()[1], DEC);
  Serial.print(".");
  Serial.print(WiFi.localIP()[2], DEC);
  Serial.print(".");
  Serial.print(WiFi.localIP()[3], DEC);
  Serial.println(":5004");
  Serial.println("Then press the Connect button");
  Serial.println("Then open a MIDI listener (eg MIDI-OX) and monitor incoming notes");

  // Create a session and wait for a remote host to connect to us
  AppleMIDI.begin("test");

  AppleMIDI.OnConnected(OnAppleMidiConnected);
  AppleMIDI.OnDisconnected(OnAppleMidiDisconnected);

  AppleMIDI.OnReceiveNoteOn(OnAppleMidiNoteOn);
  AppleMIDI.OnReceiveNoteOff(OnAppleMidiNoteOff);

  Serial.println("Sending NoteOn/Off of note 45, every second");
}

// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
void loop()
{
  // Listen to incoming notes
  AppleMIDI.run();

  yield();

  // send a note every second
  // (dont cáll delay(1000) as it will stall the pipeline)
  if ((millis() - t0) > 1000)
  {
    t0 = millis();
    //Serial.print(".");

    yield();
    int note = 45;
    int velocity = 55;
    int channel = 1;

    AppleMIDI.noteOn(note, velocity, channel);
    yield();
    AppleMIDI.noteOff(note, velocity, channel);
  }
}

// ====================================================================================
// Event handlers for incoming MIDI messages
// ====================================================================================

// -----------------------------------------------------------------------------
// rtpMIDI session. Device connected
// -----------------------------------------------------------------------------
void OnAppleMidiConnected(char* name) {
    Serial.print("Connected to session ");
    Serial.println(name);
}

// -----------------------------------------------------------------------------
// rtpMIDI session. Device disconnected
// -----------------------------------------------------------------------------
void OnAppleMidiDisconnected() {
    Serial.println("Disconnected");
}

// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
void OnAppleMidiNoteOn(byte channel, byte note, byte velocity) {
  Serial.print("Incoming NoteOn from channel:");
  Serial.print(channel);
  Serial.print(" note:");
  Serial.print(note);
  Serial.print(" velocity:");
  Serial.print(velocity);
  Serial.println();
}

// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
void OnAppleMidiNoteOff(byte channel, byte note, byte velocity) {
  Serial.print("Incoming NoteOff from channel:");
  Serial.print(channel);
  Serial.print(" note:");
  Serial.print(note);
  Serial.print(" velocity:");
  Serial.print(velocity);
  Serial.println();
}
rubenbroman commented 9 years ago

I just read some of the closed issues and realised that the problem might be that I'm using IDE 1.6.5 and not IDE 1.0.*. Could that be it? I'm on OS X Yosemite by the way.

I'll do some poking around with Wireshark tomorrow and I'll post any findings.

lathoub commented 9 years ago

Hi, I recently tested the lib with 1.6.5 - so you should be fine. Just reading through the log, it might be input buffer size related. I have no ESP8266 (maybe i should get one :-)) to test. Please post your wireshark results, alternatively, you can compile using verbose debugging switch on (see APPLEMIDI_DEBUG_VERBOSE in setting header file)

rubenbroman commented 9 years ago

Thanks for your quick answer.

I really think you should get a ESP8266, they're dirt cheap and there's plenty of things you can do with them.

I switched on the verbose debugging and it looks like the protocolBuffer contains the bytes that are sent but that they're not correct RTP data, given that it's the "unsupported version 3". I uncommented the return 0; in the version check so that you have some more info if that helps.

I'm really grateful that you've made this library and that you're supporting it. It would be great if we could get it working on the ESP8266 (hoping that the latency will be good enough). Thanks!

Here's first the Serial output and underneath is the Wireshark data.

Getting IP address...
.........
Connected to rutgerfuchsgatan9.se
IP address: 10.0.1.170

IP address is 10.0.1.170.
OK, now make sure you an rtpMIDI session that is Enabled
Add device named Arduino with Host/Port 10.0.1.170:5004
Then press the Connect button
Then open a MIDI listener (eg MIDI-OX) and monitor incoming notes
Starting Verbose logging
Sending NoteOn/Off of note 45, every second
< Note On (c=1, n=45, v=55)
< Note Off (c=1, n=45, v=55)
< Note On (c=1, n=45, v=55)
< Note Off (c=1, n=45, v=55)
< Note On (c=1, n=45, v=55)
< Note Off (c=1, n=45, v=55)
< Note On (c=1, n=45, v=55)
< Note Off (c=1, n=45, v=55)
< Note On (c=1, n=45, v=55)
< Note Off (c=1, n=45, v=55)
Incoming buffer of 27 bytes. These will be appended to the protocolBuffer
FF FF 49 4E 0 0 0 2 33 3A B1 5 51 73 11 8E 4D 61 63 42 6F 6F 6B 50 72 6F 0 
Protocol buffer contains 27 bytes. Content:
FF FF 49 4E 0 0 0 2 33 3A B1 5 51 73 11 8E 4D 61 63 42 6F 6F 6B 50 72 6F 0 
dissect_apple_midi 5004, packetSize is 27
> Control Invitation: peer = "MacBookPro"���?a� @���?\��?���?���?���?\��?���?���?���?���?\��?yV @5173118E�?\��?���?���?���?\��?���?���?���?���?\��?yV @333AB105
< Control InvitationAccepted: peer = "test"���?a� @���?4F5FDC11�?333AB105 ,in slot = 0
Purging left 27 bytes 
Incoming buffer of 27 bytes. These will be appended to the protocolBuffer
FF FF 49 4E 0 0 0 2 33 3A B1 5 51 73 11 8E 4D 61 63 42 6F 6F 6B 50 72 6F 0 
Protocol buffer contains 27 bytes. Content:
FF FF 49 4E 0 0 0 2 33 3A B1 5 51 73 11 8E 4D 61 63 42 6F 6F 6B 50 72 6F 0 
5005, packetSize is 27
dissect_rtp
unsupported version 3
Seq Number: 494E
Timestamp : 2
Sync Src  : 333AB105
Have all the data
payload_type is 127
csrc_count = 15
extension hdr_extension_id = 0
hdr_extension = 0
padding = 
Nothing processed
Y�?i��?0
dissect_apple_midi 5005, packetSize is 27
> Content Invitation: peer = "MacBookPro"���?a� @g��?\��?���?$��?���?\��?���?$��?���?��?\��?�V @5173118E�?\��?���?$��?���?\��?���?$��?���?��?\��?�V @333AB105
< Content InvitationAccepted: peer = "test"���?a� @���?4F5FDC11�?333AB105 ,in slot = 0
Connected to session MacBookPro
Purging left 27 bytes 
Incoming buffer of 36 bytes. These will be appended to the protocolBuffer
FF FF 43 4B 51 73 11 8E 0 46 F0 BB 0 0 0 0 1 EF 58 A8 0 0 0 0 40 46 F0 BB D7 7F 0 0 0 0 F0 BB 
Protocol buffer contains 36 bytes. Content:
FF FF 43 4B 51 73 11 8E 0 46 F0 BB 0 0 0 0 1 EF 58 A8 0 0 0 0 40 46 F0 BB D7 7F 0 0 0 0 F0 BB 
?�K@���?5005, packetSize is 36
dissect_rtp
unsupported version 3
Seq Number: 434B
Timestamp : 5173118E
Sync Src  : 46F0BB
Have all the data
payload_type is 127
csrc_count = 15
extension hdr_extension_id = 0
hdr_extension = 0
padding = 
Nothing processed
��?
dissect_apple_midi 5005, packetSize is 36
D��?�X�5173118E0
��?a� @���?4F5FDC11X�1
Purging left 36 bytes 
Incoming buffer of 36 bytes. These will be appended to the protocolBuffer
FF FF 43 4B 51 73 11 8E 2 0 0 0 0 0 0 0 1 EF 58 A8 0 0 0 0 0 89 54 40 0 0 0 0 1 EF 5A 4F 
Protocol buffer contains 36 bytes. Content:
FF FF 43 4B 51 73 11 8E 2 0 0 0 0 0 0 0 1 EF 58 A8 0 0 0 0 0 89 54 40 0 0 0 0 1 EF 5A 4F 
?�� @�5005, packetSize is 36
dissect_rtp
unsupported version 3
Seq Number: 434B
Timestamp : 5173118E
Sync Src  : 2000000
Have all the data
payload_type is 127
csrc_count = 15
extension hdr_extension_id = 0
hdr_extension = 0
padding = 
Nothing processed
���5� @
dissect_apple_midi 5005, packetSize is 36
D��?�X�5173118E2
��?a� @���?�ZO4F5FDC11��0
Purging left 36 bytes 
Incoming buffer of 36 bytes. These will be appended to the protocolBuffer
FF FF 43 4B 51 73 11 8E 1 0 0 0 0 0 0 0 0 98 96 80 0 0 0 0 1 EF 5C 99 0 0 0 0 1 EF 5A 4F 
Protocol buffer contains 36 bytes. Content:
FF FF 43 4B 51 73 11 8E 1 0 0 0 0 0 0 0 0 98 96 80 0 0 0 0 1 EF 5C 99 0 0 0 0 1 EF 5A 4F 
?���?���05005, packetSize is 36
dissect_rtp
unsupported version 3
Seq Number: 434B
Timestamp : 5173118E
Sync Src  : 1000000
Have all the data
payload_type is 127
csrc_count = 15
extension hdr_extension_id = 0
hdr_extension = 0
padding = 
Nothing processed
��? 
dissect_apple_midi 5005, packetSize is 36
D��?���5173118E1
��?a� @���?4F5FDC11��2
Purging left 36 bytes 
Incoming buffer of 36 bytes. These will be appended to the protocolBuffer
FF FF 43 4B 51 73 11 8E 0 40 74 8C 0 0 0 0 1 EF 5F 5A 1 0 0 0 31 45 C B6 D4 2 0 16 B7 8E 15 3 
Protocol buffer contains 36 bytes. Content:
FF FF 43 4B 51 73 11 8E 0 40 74 8C 0 0 0 0 1 EF 5F 5A 1 0 0 0 31 45 C B6 D4 2 0 16 B7 8E 15 3 
5005, packetSize is 36
dissect_rtp
unsupported version 3
Seq Number: 434B
Timestamp : 5173118E
Sync Src  : 40748C
Have all the data
payload_type is 127
csrc_count = 15
extension hdr_extension_id = 0
hdr_extension = 0
padding = 
Nothing processed
���� @
dissect_apple_midi 5005, packetSize is 36
D��?Z_�5173118E0
��?a� @���?��4F5FDC11_Z1
Purging left 36 bytes 
< Note On (c=1, n=45, v=55)
< Note Off (c=1, n=45, v=55)
< Note On (c=1, n=45, v=55)
< Note Off (c=1, n=45, v=55)
Incoming buffer of 36 bytes. These will be appended to the protocolBuffer
FF FF 43 4B 51 73 11 8E 0 40 74 8C 0 0 0 0 1 EF 9C 2A FF FF FF FF 40 0 0 0 60 20 0 0 8 95 0 BC 
Protocol buffer contains 36 bytes. Content:
FF FF 43 4B 51 73 11 8E 0 40 74 8C 0 0 0 0 1 EF 9C 2A FF FF FF FF 40 0 0 0 60 20 0 0 8 95 0 BC 
?�&�?n!@�W�?�[�?@^�?5005, packetSize is 36
dissect_rtp
unsupported version 3
Seq Number: 434B
Timestamp : 5173118E
Sync Src  : 40748C
Have all the data
payload_type is 127
csrc_count = 15
extension hdr_extension_id = 0
hdr_extension = 0
padding = 
Nothing processed

dissect_apple_midi 5005, packetSize is 36
D��?*��5173118E0
��?a� @���?�4F5FDC11�*1
Purging left 36 bytes 
Incoming buffer of 36 bytes. These will be appended to the protocolBuffer
FF FF 43 4B 51 73 11 8E 2 0 0 0 0 0 0 0 1 EF 9C 2A 0 0 0 0 0 A7 D8 C0 0 0 0 0 1 EF 9D 5F 
Protocol buffer contains 36 bytes. Content:
FF FF 43 4B 51 73 11 8E 2 0 0 0 0 0 0 0 1 EF 9C 2A 0 0 0 0 0 A7 D8 C0 0 0 0 0 1 EF 9D 5F 
?�&�?5005, packetSize is 36
dissect_rtp
unsupported version 3
Seq Number: 434B
Timestamp : 5173118E
Sync Src  : 2000000
Have all the data
payload_type is 127
csrc_count = 15
extension hdr_extension_id = 0
hdr_extension = 0
padding = 
Nothing processed
����@0��?�Y�?eZ�?fZ�?
dissect_apple_midi 5005, packetSize is 36
D��?*��5173118E2
��?a� @���?�_4F5FDC11��0
Purging left 36 bytes 
Incoming buffer of 36 bytes. These will be appended to the protocolBuffer
FF FF 43 4B 51 73 11 8E 1 0 0 0 0 0 0 0 0 A7 D8 C0 0 0 0 0 1 EF A0 D 0 0 0 0 1 EF 9D 5F 
Protocol buffer contains 36 bytes. Content:
FF FF 43 4B 51 73 11 8E 1 0 0 0 0 0 0 0 0 A7 D8 C0 0 0 0 0 1 EF A0 D 0 0 0 0 1 EF 9D 5F 
?�K@���?5005, packetSize is 36
dissect_rtp
unsupported version 3
Seq Number: 434B
Timestamp : 5173118E
Sync Src  : 1000000
Have all the data
payload_type is 127
csrc_count = 15
extension hdr_extension_id = 0
hdr_extension = 0
padding = 
Nothing processed
� @Ҽ2�O@
dissect_apple_midi 5005, packetSize is 36
D��?�ا5173118E1
��?a� @���?4F5FDC11��2
Purging left 36 bytes 
Incoming buffer of 36 bytes. These will be appended to the protocolBuffer
FF FF 43 4B 51 73 11 8E 0 40 74 8C 0 0 0 0 1 EF A2 47 1 0 0 0 31 45 C B6 D4 2 0 16 B7 8E 15 3 
Protocol buffer contains 36 bytes. Content:
FF FF 43 4B 51 73 11 8E 0 40 74 8C 0 0 0 0 1 EF A2 47 1 0 0 0 31 45 C B6 D4 2 0 16 B7 8E 15 3 
@05005, packetSize is 36
dissect_rtp
unsupported version 3
Seq Number: 434B
Timestamp : 5173118E
Sync Src  : 40748C
Have all the data
payload_type is 127
csrc_count = 15
extension hdr_extension_id = 0
hdr_extension = 0
padding = 
Nothing processed
���� @
dissect_apple_midi 5005, packetSize is 36
D��?G��5173118E0
��?a� @���?��4F5FDC11�G1
Purging left 36 bytes 
Incoming buffer of 36 bytes. These will be appended to the protocolBuffer
FF FF 43 4B 51 73 11 8E 2 0 0 0 0 0 0 0 1 EF A2 47 0 0 0 0 0 A7 D8 C0 0 0 0 0 1 EF A4 A6 
Protocol buffer contains 36 bytes. Content:
FF FF 43 4B 51 73 11 8E 2 0 0 0 0 0 0 0 1 EF A2 47 0 0 0 0 0 A7 D8 C0 0 0 0 0 1 EF A4 A6 
@05005, packetSize is 36
dissect_rtp
unsupported version 3
Seq Number: 434B
Timestamp : 5173118E
Sync Src  : 2000000
Have all the data
payload_type is 127
csrc_count = 15
extension hdr_extension_id = 0
hdr_extension = 0
padding = 
Nothing processed
��?h
dissect_apple_midi 5005, packetSize is 36
D��?G��5173118E2
��?a� @���?臘4F5FDC11��0
Purging left 36 bytes 
Incoming buffer of 36 bytes. These will be appended to the protocolBuffer
FF FF 43 4B 51 73 11 8E 1 0 0 0 0 0 0 0 0 A7 D8 C0 0 0 0 0 1 EF A6 F4 0 0 0 0 1 EF A4 A6 
Protocol buffer contains 36 bytes. Content:
FF FF 43 4B 51 73 11 8E 1 0 0 0 0 0 0 0 0 A7 D8 C0 0 0 0 0 1 EF A6 F4 0 0 0 0 1 EF A4 A6 
@05005, packetSize is 36
dissect_rtp
unsupported version 3
Seq Number: 434B
Timestamp : 5173118E
Sync Src  : 1000000
Have all the data
payload_type is 127
csrc_count = 15
extension hdr_extension_id = 0
hdr_extension = 0
padding = 
Nothing processed

dissect_apple_midi 5005, packetSize is 36
D��?�ا5173118E1
��?a� @���?4F5FDC11��2
Purging left 36 bytes 
< Note On (c=1, n=45, v=55)
< Note Off (c=1, n=45, v=55)
< Note On (c=1, n=45, v=55)
< Note Off (c=1, n=45, v=55)
< Note On (c=1, n=45, v=55)
< Note Off (c=1, n=45, v=55)
< Note On (c=1, n=45, v=55)
< Note Off (c=1, n=45, v=55)
< Note On (c=1, n=45, v=55)
< Note Off (c=1, n=45, v=55)
< Note On (c=1, n=45, v=55)
< Note Off (c=1, n=45, v=55)
< Note On (c=1, n=45, v=55)
< Note Off (c=1, n=45, v=55)
Incoming buffer of 16 bytes. These will be appended to the protocolBuffer
FF FF 42 59 0 0 0 2 0 0 0 0 51 73 11 8E 
Protocol buffer contains 16 bytes. Content:
FF FF 42 59 0 0 0 2 0 0 0 0 51 73 11 8E 
dissect_apple_midi 5004, packetSize is 16
> End Session for ssrc 0x5173118E, initiatorToken = 0x0
Disconnected
Purging left 16 bytes 
< Note On (c=1, n=45, v=55)
< Note Off (c=1, n=45, v=55)
< Note On (c=1, n=45, v=55)
< Note Off (c=1, n=45, v=55)

And here's the Wireshark data:

No.     Time           Source                Destination           Protocol Length Info
    597 56.231514      10.0.1.18             10.0.1.170            AppleMIDI 69     Invitation: peer = "MacBookPro"

Frame 597: 69 bytes on wire (552 bits), 69 bytes captured (552 bits) on interface 0
Ethernet II, Src: Apple_13:a7:ce (80:e6:50:13:a7:ce), Dst: Espressi_fb:1b:73 (18:fe:34:fb:1b:73)
Internet Protocol Version 4, Src: 10.0.1.18 (10.0.1.18), Dst: 10.0.1.170 (10.0.1.170)
User Datagram Protocol, Src Port: 5004 (5004), Dst Port: 5004 (5004)
Apple Network-MIDI Session Protocol

0000  18 fe 34 fb 1b 73 80 e6 50 13 a7 ce 08 00 45 00   ..4..s..P.....E.
0010  00 37 72 42 00 00 40 11 f1 b8 0a 00 01 12 0a 00   .7rB..@.........
0020  01 aa 13 8c 13 8c 00 23 33 70 ff ff 49 4e 00 00   .......#3p..IN..
0030  00 02 33 3a b1 05 51 73 11 8e 4d 61 63 42 6f 6f   ..3:..Qs..MacBoo
0040  6b 50 72 6f 00                                    kPro.

No.     Time           Source                Destination           Protocol Length Info
    600 56.528720      10.0.1.170            10.0.1.18             AppleMIDI 63     Invitation Accepted: peer = "test"

Frame 600: 63 bytes on wire (504 bits), 63 bytes captured (504 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Apple_13:a7:ce (80:e6:50:13:a7:ce)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 10.0.1.18 (10.0.1.18)
User Datagram Protocol, Src Port: 5004 (5004), Dst Port: 5004 (5004)
Apple Network-MIDI Session Protocol

0000  80 e6 50 13 a7 ce 18 fe 34 fb 1b 73 08 00 45 00   ..P.....4..s..E.
0010  00 31 00 03 00 00 ff 11 a4 fd 0a 00 01 aa 0a 00   .1..............
0020  01 12 13 8c 13 8c 00 1d 7b 08 ff ff 4f 4b 00 00   ........{...OK..
0030  00 02 33 3a b1 05 4f 5f dc 11 74 65 73 74 00      ..3:..O_..test.

No.     Time           Source                Destination           Protocol Length Info
    601 56.528843      10.0.1.18             10.0.1.170            AppleMIDI 69     Invitation: peer = "MacBookPro"

Frame 601: 69 bytes on wire (552 bits), 69 bytes captured (552 bits) on interface 0
Ethernet II, Src: Apple_13:a7:ce (80:e6:50:13:a7:ce), Dst: Espressi_fb:1b:73 (18:fe:34:fb:1b:73)
Internet Protocol Version 4, Src: 10.0.1.18 (10.0.1.18), Dst: 10.0.1.170 (10.0.1.170)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Apple Network-MIDI Session Protocol

0000  18 fe 34 fb 1b 73 80 e6 50 13 a7 ce 08 00 45 00   ..4..s..P.....E.
0010  00 37 56 1f 00 00 40 11 0d dc 0a 00 01 12 0a 00   .7V...@.........
0020  01 aa 13 8d 13 8d 00 23 33 6e ff ff 49 4e 00 00   .......#3n..IN..
0030  00 02 33 3a b1 05 51 73 11 8e 4d 61 63 42 6f 6f   ..3:..Qs..MacBoo
0040  6b 50 72 6f 00                                    kPro.

No.     Time           Source                Destination           Protocol Length Info
    602 56.592243      10.0.1.170            10.0.1.18             AppleMIDI 63     Invitation Accepted: peer = "test"

Frame 602: 63 bytes on wire (504 bits), 63 bytes captured (504 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Apple_13:a7:ce (80:e6:50:13:a7:ce)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 10.0.1.18 (10.0.1.18)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Apple Network-MIDI Session Protocol

0000  80 e6 50 13 a7 ce 18 fe 34 fb 1b 73 08 00 45 00   ..P.....4..s..E.
0010  00 31 00 04 00 00 ff 11 a4 fc 0a 00 01 aa 0a 00   .1..............
0020  01 12 13 8d 13 8d 00 1d 7b 06 ff ff 4f 4b 00 00   ........{...OK..
0030  00 02 33 3a b1 05 4f 5f dc 11 74 65 73 74 00      ..3:..O_..test.

No.     Time           Source                Destination           Protocol Length Info
    603 56.592598      10.0.1.18             10.0.1.170            AppleMIDI 78     Synchronization: count = 0

Frame 603: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
Ethernet II, Src: Apple_13:a7:ce (80:e6:50:13:a7:ce), Dst: Espressi_fb:1b:73 (18:fe:34:fb:1b:73)
Internet Protocol Version 4, Src: 10.0.1.18 (10.0.1.18), Dst: 10.0.1.170 (10.0.1.170)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Apple Network-MIDI Session Protocol

0000  18 fe 34 fb 1b 73 80 e6 50 13 a7 ce 08 00 45 00   ..4..s..P.....E.
0010  00 40 4e 2c 00 00 40 11 15 c6 0a 00 01 12 0a 00   .@N,..@.........
0020  01 aa 13 8d 13 8d 00 2c d6 9c ff ff 43 4b 51 73   .......,....CKQs
0030  11 8e 00 46 f0 bb 00 00 00 00 01 ef 58 a8 00 00   ...F........X...
0040  00 00 40 46 f0 bb d7 7f 00 00 00 00 f0 bb         ..@F..........

No.     Time           Source                Destination           Protocol Length Info
    604 56.634590      10.0.1.170            10.0.1.18             AppleMIDI 78     Synchronization: count = 1

Frame 604: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Apple_13:a7:ce (80:e6:50:13:a7:ce)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 10.0.1.18 (10.0.1.18)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Apple Network-MIDI Session Protocol

0000  80 e6 50 13 a7 ce 18 fe 34 fb 1b 73 08 00 45 00   ..P.....4..s..E.
0010  00 40 00 05 00 00 ff 11 a4 ec 0a 00 01 aa 0a 00   .@..............
0020  01 12 13 8d 13 8d 00 2c da 67 ff ff 43 4b 4f 5f   .......,.g..CKO_
0030  dc 11 01 00 00 00 00 00 00 00 01 ef 58 a8 00 00   ............X...
0040  00 00 00 89 54 40 d7 7f 00 00 00 00 f0 bb         ....T@........

No.     Time           Source                Destination           Protocol Length Info
    605 56.634817      10.0.1.18             10.0.1.170            AppleMIDI 78     Synchronization: count = 2

Frame 605: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
Ethernet II, Src: Apple_13:a7:ce (80:e6:50:13:a7:ce), Dst: Espressi_fb:1b:73 (18:fe:34:fb:1b:73)
Internet Protocol Version 4, Src: 10.0.1.18 (10.0.1.18), Dst: 10.0.1.170 (10.0.1.170)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Apple Network-MIDI Session Protocol

0000  18 fe 34 fb 1b 73 80 e6 50 13 a7 ce 08 00 45 00   ..4..s..P.....E.
0010  00 40 ff 9f 00 00 40 11 64 52 0a 00 01 12 0a 00   .@....@.dR......
0020  01 aa 13 8d 13 8d 00 2c 0d d5 ff ff 43 4b 51 73   .......,....CKQs
0030  11 8e 02 00 00 00 00 00 00 00 01 ef 58 a8 00 00   ............X...
0040  00 00 00 89 54 40 00 00 00 00 01 ef 5a 4f         ....T@......ZO

No.     Time           Source                Destination           Protocol Length Info
    606 56.693306      10.0.1.170            10.0.1.18             AppleMIDI 78     Synchronization: count = 0

Frame 606: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Apple_13:a7:ce (80:e6:50:13:a7:ce)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 10.0.1.18 (10.0.1.18)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Apple Network-MIDI Session Protocol

0000  80 e6 50 13 a7 ce 18 fe 34 fb 1b 73 08 00 45 00   ..P.....4..s..E.
0010  00 40 00 06 00 00 ff 11 a4 eb 0a 00 01 aa 0a 00   .@..............
0020  01 12 13 8d 13 8d 00 2c 0a e4 ff ff 43 4b 4f 5f   .......,....CKO_
0030  dc 11 00 00 00 00 00 00 00 00 00 98 96 80 00 00   ................
0040  00 00 00 89 54 40 00 00 00 00 01 ef 5a 4f         ....T@......ZO

No.     Time           Source                Destination           Protocol Length Info
    607 56.693414      10.0.1.18             10.0.1.170            AppleMIDI 78     Synchronization: count = 1

Frame 607: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
Ethernet II, Src: Apple_13:a7:ce (80:e6:50:13:a7:ce), Dst: Espressi_fb:1b:73 (18:fe:34:fb:1b:73)
Internet Protocol Version 4, Src: 10.0.1.18 (10.0.1.18), Dst: 10.0.1.170 (10.0.1.170)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Apple Network-MIDI Session Protocol

0000  18 fe 34 fb 1b 73 80 e6 50 13 a7 ce 08 00 45 00   ..4..s..P.....E.
0010  00 40 e8 25 00 00 40 11 7b cc 0a 00 01 12 0a 00   .@.%..@.{.......
0020  01 aa 13 8d 13 8d 00 2c c8 94 ff ff 43 4b 51 73   .......,....CKQs
0030  11 8e 01 00 00 00 00 00 00 00 00 98 96 80 00 00   ................
0040  00 00 01 ef 5c 99 00 00 00 00 01 ef 5a 4f         ....\.......ZO

No.     Time           Source                Destination           Protocol Length Info
    608 56.763779      10.0.1.170            10.0.1.18             AppleMIDI 78     Synchronization: count = 2

Frame 608: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Apple_13:a7:ce (80:e6:50:13:a7:ce)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 10.0.1.18 (10.0.1.18)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Apple Network-MIDI Session Protocol

0000  80 e6 50 13 a7 ce 18 fe 34 fb 1b 73 08 00 45 00   ..P.....4..s..E.
0010  00 40 00 07 00 00 ff 11 a4 ea 0a 00 01 aa 0a 00   .@..............
0020  01 12 13 8d 13 8d 00 2c c4 4a ff ff 43 4b 4f 5f   .......,.J..CKO_
0030  dc 11 02 00 00 00 00 00 00 00 00 98 96 80 00 00   ................
0040  00 00 01 ef 5c 99 00 00 00 00 00 98 96 80         ....\.........

No.     Time           Source                Destination           Protocol Length Info
    609 56.763992      10.0.1.18             10.0.1.170            AppleMIDI 78     Synchronization: count = 0

Frame 609: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
Ethernet II, Src: Apple_13:a7:ce (80:e6:50:13:a7:ce), Dst: Espressi_fb:1b:73 (18:fe:34:fb:1b:73)
Internet Protocol Version 4, Src: 10.0.1.18 (10.0.1.18), Dst: 10.0.1.170 (10.0.1.170)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Apple Network-MIDI Session Protocol

0000  18 fe 34 fb 1b 73 80 e6 50 13 a7 ce 08 00 45 00   ..4..s..P.....E.
0010  00 40 b9 42 00 00 40 11 aa af 0a 00 01 12 0a 00   .@.B..@.........
0020  01 aa 13 8d 13 8d 00 2c 65 b8 ff ff 43 4b 51 73   .......,e...CKQs
0030  11 8e 00 40 74 8c 00 00 00 00 01 ef 5f 5a 01 00   ...@t......._Z..
0040  00 00 31 45 0c b6 d4 02 00 16 b7 8e 15 03         ..1E..........

No.     Time           Source                Destination           Protocol Length Info
    610 56.820585      10.0.1.170            10.0.1.18             AppleMIDI 78     Synchronization: count = 1

Frame 610: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Apple_13:a7:ce (80:e6:50:13:a7:ce)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 10.0.1.18 (10.0.1.18)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Apple Network-MIDI Session Protocol

0000  80 e6 50 13 a7 ce 18 fe 34 fb 1b 73 08 00 45 00   ..P.....4..s..E.
0010  00 40 00 08 00 00 ff 11 a4 e9 0a 00 01 aa 0a 00   .@..............
0020  01 12 13 8d 13 8d 00 2c b8 f7 ff ff 43 4b 4f 5f   .......,....CKO_
0030  dc 11 01 00 00 00 00 00 00 00 01 ef 5f 5a 00 00   ............_Z..
0040  00 00 00 98 96 80 d4 02 00 16 b7 8e 15 03         ..............

No.     Time           Source                Destination           Protocol Length Info
    611 56.820710      10.0.1.18             10.0.1.170            AppleMIDI 78     Synchronization: count = 2

Frame 611: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
Ethernet II, Src: Apple_13:a7:ce (80:e6:50:13:a7:ce), Dst: Espressi_fb:1b:73 (18:fe:34:fb:1b:73)
Internet Protocol Version 4, Src: 10.0.1.18 (10.0.1.18), Dst: 10.0.1.170 (10.0.1.170)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Apple Network-MIDI Session Protocol

0000  18 fe 34 fb 1b 73 80 e6 50 13 a7 ce 08 00 45 00   ..4..s..P.....E.
0010  00 40 13 c0 00 00 40 11 50 32 0a 00 01 12 0a 00   .@....@.P2......
0020  01 aa 13 8d 13 8d 00 2c bd 91 ff ff 43 4b 51 73   .......,....CKQs
0030  11 8e 02 00 00 00 00 00 00 00 01 ef 5f 5a 00 00   ............_Z..
0040  00 00 00 98 96 80 00 00 00 00 01 ef 61 91         ............a.

No.     Time           Source                Destination           Protocol Length Info
    614 56.838652      10.0.1.170            10.0.1.18             RTP-MIDI 58     Note On (c=1, n=A2, v=55)

Frame 614: 58 bytes on wire (464 bits), 58 bytes captured (464 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Apple_13:a7:ce (80:e6:50:13:a7:ce)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 10.0.1.18 (10.0.1.18)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Real-Time Transport Protocol
RFC 4695/6295 RTP-MIDI

0000  80 e6 50 13 a7 ce 18 fe 34 fb 1b 73 08 00 45 00   ..P.....4..s..E.
0010  00 2c 00 09 00 00 ff 11 a4 fc 0a 00 01 aa 0a 00   .,..............
0020  01 12 13 8d 13 8d 00 18 e5 4c 80 61 00 02 00 00   .........L.a....
0030  00 00 4f 5f dc 11 03 90 2d 37                     ..O_....-7

No.     Time           Source                Destination           Protocol Length Info
    615 56.839485      10.0.1.170            10.0.1.18             RTP-MIDI 58     Note Off (c=1, n=A2, v=55)

Frame 615: 58 bytes on wire (464 bits), 58 bytes captured (464 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Apple_13:a7:ce (80:e6:50:13:a7:ce)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 10.0.1.18 (10.0.1.18)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Real-Time Transport Protocol
RFC 4695/6295 RTP-MIDI

0000  80 e6 50 13 a7 ce 18 fe 34 fb 1b 73 08 00 45 00   ..P.....4..s..E.
0010  00 2c 00 0a 00 00 ff 11 a4 fb 0a 00 01 aa 0a 00   .,..............
0020  01 12 13 8d 13 8d 00 18 e5 5b 80 61 00 03 00 00   .........[.a....
0030  00 00 4f 5f dc 11 03 80 2d 37                     ..O_....-7

No.     Time           Source                Destination           Protocol Length Info
    617 58.061069      10.0.1.170            0.0.0.0               UDP      58     Source port: 5005  Destination port: 0

Frame 617: 58 bytes on wire (464 bits), 58 bytes captured (464 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 0.0.0.0 (0.0.0.0)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 0 (0)
Data (16 bytes)

0000  ff ff ff ff ff ff 18 fe 34 fb 1b 73 08 00 45 00   ........4..s..E.
0010  00 2c 00 0b 00 00 ff 11 b0 0c 0a 00 01 aa 00 00   .,..............
0020  00 00 13 8d 00 00 00 18 03 ea 80 61 00 04 00 00   ...........a....
0030  00 00 4f 5f dc 11 03 90 2d 37                     ..O_....-7

No.     Time           Source                Destination           Protocol Length Info
    618 58.061530      10.0.1.170            0.0.0.0               UDP      58     Source port: 5005  Destination port: 0

Frame 618: 58 bytes on wire (464 bits), 58 bytes captured (464 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 0.0.0.0 (0.0.0.0)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 0 (0)
Data (16 bytes)

0000  ff ff ff ff ff ff 18 fe 34 fb 1b 73 08 00 45 00   ........4..s..E.
0010  00 2c 00 0c 00 00 ff 11 b0 0b 0a 00 01 aa 00 00   .,..............
0020  00 00 13 8d 00 00 00 18 03 f9 80 61 00 05 00 00   ...........a....
0030  00 00 4f 5f dc 11 03 80 2d 37                     ..O_....-7

No.     Time           Source                Destination           Protocol Length Info
    619 58.320964      10.0.1.18             10.0.1.170            AppleMIDI 78     Synchronization: count = 0

Frame 619: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
Ethernet II, Src: Apple_13:a7:ce (80:e6:50:13:a7:ce), Dst: Espressi_fb:1b:73 (18:fe:34:fb:1b:73)
Internet Protocol Version 4, Src: 10.0.1.18 (10.0.1.18), Dst: 10.0.1.170 (10.0.1.170)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Apple Network-MIDI Session Protocol

0000  18 fe 34 fb 1b 73 80 e6 50 13 a7 ce 08 00 45 00   ..4..s..P.....E.
0010  00 40 30 de 00 00 40 11 33 14 0a 00 01 12 0a 00   .@0...@.3.......
0020  01 aa 13 8d 13 8d 00 2c 5f 1c ff ff 43 4b 51 73   .......,_...CKQs
0030  11 8e 00 40 74 8c 00 00 00 00 01 ef 9c 2a ff ff   ...@t........*..
0040  ff ff 40 00 00 00 60 20 00 00 08 95 00 bc         ..@...` ......

No.     Time           Source                Destination           Protocol Length Info
    620 58.351513      10.0.1.170            10.0.1.18             AppleMIDI 78     Synchronization: count = 1

Frame 620: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Apple_13:a7:ce (80:e6:50:13:a7:ce)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 10.0.1.18 (10.0.1.18)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Apple Network-MIDI Session Protocol

0000  80 e6 50 13 a7 ce 18 fe 34 fb 1b 73 08 00 45 00   ..P.....4..s..E.
0010  00 40 00 0d 00 00 ff 11 a4 e4 0a 00 01 aa 0a 00   .@..............
0020  01 12 13 8d 13 8d 00 2c 71 11 ff ff 43 4b 4f 5f   .......,q...CKO_
0030  dc 11 01 00 00 00 00 00 00 00 01 ef 9c 2a 00 00   .............*..
0040  00 00 00 a7 d8 c0 60 20 00 00 08 95 00 bc         ......` ......

No.     Time           Source                Destination           Protocol Length Info
    621 58.351765      10.0.1.18             10.0.1.170            AppleMIDI 78     Synchronization: count = 2

Frame 621: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
Ethernet II, Src: Apple_13:a7:ce (80:e6:50:13:a7:ce), Dst: Espressi_fb:1b:73 (18:fe:34:fb:1b:73)
Internet Protocol Version 4, Src: 10.0.1.18 (10.0.1.18), Dst: 10.0.1.170 (10.0.1.170)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Apple Network-MIDI Session Protocol

0000  18 fe 34 fb 1b 73 80 e6 50 13 a7 ce 08 00 45 00   ..4..s..P.....E.
0010  00 40 e6 27 00 00 40 11 7d ca 0a 00 01 12 0a 00   .@.'..@.}.......
0020  01 aa 13 8d 13 8d 00 2c 02 a4 ff ff 43 4b 51 73   .......,....CKQs
0030  11 8e 02 00 00 00 00 00 00 00 01 ef 9c 2a 00 00   .............*..
0040  00 00 00 a7 d8 c0 00 00 00 00 01 ef 9d 5f         ............._

No.     Time           Source                Destination           Protocol Length Info
    622 58.420198      10.0.1.170            10.0.1.18             AppleMIDI 78     Synchronization: count = 0

Frame 622: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Apple_13:a7:ce (80:e6:50:13:a7:ce)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 10.0.1.18 (10.0.1.18)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Apple Network-MIDI Session Protocol

0000  80 e6 50 13 a7 ce 18 fe 34 fb 1b 73 08 00 45 00   ..P.....4..s..E.
0010  00 40 00 0e 00 00 ff 11 a4 e3 0a 00 01 aa 0a 00   .@..............
0020  01 12 13 8d 13 8d 00 2c 00 e6 ff ff 43 4b 4f 5f   .......,....CKO_
0030  dc 11 00 00 00 00 00 00 00 00 00 a7 d8 c0 00 00   ................
0040  00 00 00 a7 d8 c0 00 00 00 00 01 ef 9d 5f         ............._

No.     Time           Source                Destination           Protocol Length Info
    623 58.420295      10.0.1.18             10.0.1.170            AppleMIDI 78     Synchronization: count = 1

Frame 623: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
Ethernet II, Src: Apple_13:a7:ce (80:e6:50:13:a7:ce), Dst: Espressi_fb:1b:73 (18:fe:34:fb:1b:73)
Internet Protocol Version 4, Src: 10.0.1.18 (10.0.1.18), Dst: 10.0.1.170 (10.0.1.170)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Apple Network-MIDI Session Protocol

0000  18 fe 34 fb 1b 73 80 e6 50 13 a7 ce 08 00 45 00   ..4..s..P.....E.
0010  00 40 34 95 00 00 40 11 2f 5d 0a 00 01 12 0a 00   .@4...@./]......
0020  01 aa 13 8d 13 8d 00 2c ff c0 ff ff 43 4b 51 73   .......,....CKQs
0030  11 8e 01 00 00 00 00 00 00 00 00 a7 d8 c0 00 00   ................
0040  00 00 01 ef a0 0d 00 00 00 00 01 ef 9d 5f         ............._

No.     Time           Source                Destination           Protocol Length Info
    624 58.477168      10.0.1.170            10.0.1.18             AppleMIDI 78     Synchronization: count = 2

Frame 624: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Apple_13:a7:ce (80:e6:50:13:a7:ce)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 10.0.1.18 (10.0.1.18)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Apple Network-MIDI Session Protocol

0000  80 e6 50 13 a7 ce 18 fe 34 fb 1b 73 08 00 45 00   ..P.....4..s..E.
0010  00 40 00 0f 00 00 ff 11 a4 e2 0a 00 01 aa 0a 00   .@..............
0020  01 12 13 8d 13 8d 00 2c fc 37 ff ff 43 4b 4f 5f   .......,.7..CKO_
0030  dc 11 02 00 00 00 00 00 00 00 00 a7 d8 c0 00 00   ................
0040  00 00 01 ef a0 0d 00 00 00 00 00 a7 d8 c0         ..............

No.     Time           Source                Destination           Protocol Length Info
    625 58.477412      10.0.1.18             10.0.1.170            AppleMIDI 78     Synchronization: count = 0

Frame 625: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
Ethernet II, Src: Apple_13:a7:ce (80:e6:50:13:a7:ce), Dst: Espressi_fb:1b:73 (18:fe:34:fb:1b:73)
Internet Protocol Version 4, Src: 10.0.1.18 (10.0.1.18), Dst: 10.0.1.170 (10.0.1.170)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Apple Network-MIDI Session Protocol

0000  18 fe 34 fb 1b 73 80 e6 50 13 a7 ce 08 00 45 00   ..4..s..P.....E.
0010  00 40 52 3f 00 00 40 11 11 b3 0a 00 01 12 0a 00   .@R?..@.........
0020  01 aa 13 8d 13 8d 00 2c 22 cb ff ff 43 4b 51 73   .......,"...CKQs
0030  11 8e 00 40 74 8c 00 00 00 00 01 ef a2 47 01 00   ...@t........G..
0040  00 00 31 45 0c b6 d4 02 00 16 b7 8e 15 03         ..1E..........

No.     Time           Source                Destination           Protocol Length Info
    626 58.537920      10.0.1.170            10.0.1.18             AppleMIDI 78     Synchronization: count = 1

Frame 626: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Apple_13:a7:ce (80:e6:50:13:a7:ce)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 10.0.1.18 (10.0.1.18)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Apple Network-MIDI Session Protocol

0000  80 e6 50 13 a7 ce 18 fe 34 fb 1b 73 08 00 45 00   ..P.....4..s..E.
0010  00 40 00 10 00 00 ff 11 a4 e1 0a 00 01 aa 0a 00   .@..............
0020  01 12 13 8d 13 8d 00 2c 33 bb ff ff 43 4b 4f 5f   .......,3...CKO_
0030  dc 11 01 00 00 00 00 00 00 00 01 ef a2 47 00 00   .............G..
0040  00 00 00 a7 d8 c0 d4 02 00 16 b7 8e 15 03         ..............

No.     Time           Source                Destination           Protocol Length Info
    627 58.538045      10.0.1.18             10.0.1.170            AppleMIDI 78     Synchronization: count = 2

Frame 627: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
Ethernet II, Src: Apple_13:a7:ce (80:e6:50:13:a7:ce), Dst: Espressi_fb:1b:73 (18:fe:34:fb:1b:73)
Internet Protocol Version 4, Src: 10.0.1.18 (10.0.1.18), Dst: 10.0.1.170 (10.0.1.170)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Apple Network-MIDI Session Protocol

0000  18 fe 34 fb 1b 73 80 e6 50 13 a7 ce 08 00 45 00   ..4..s..P.....E.
0010  00 40 11 0e 00 00 40 11 52 e4 0a 00 01 12 0a 00   .@....@.R.......
0020  01 aa 13 8d 13 8d 00 2c f5 3f ff ff 43 4b 51 73   .......,.?..CKQs
0030  11 8e 02 00 00 00 00 00 00 00 01 ef a2 47 00 00   .............G..
0040  00 00 00 a7 d8 c0 00 00 00 00 01 ef a4 a6         ..............

No.     Time           Source                Destination           Protocol Length Info
    628 58.596896      10.0.1.170            10.0.1.18             AppleMIDI 78     Synchronization: count = 0

Frame 628: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Apple_13:a7:ce (80:e6:50:13:a7:ce)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 10.0.1.18 (10.0.1.18)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Apple Network-MIDI Session Protocol

0000  80 e6 50 13 a7 ce 18 fe 34 fb 1b 73 08 00 45 00   ..P.....4..s..E.
0010  00 40 00 11 00 00 ff 11 a4 e0 0a 00 01 aa 0a 00   .@..............
0020  01 12 13 8d 13 8d 00 2c f9 9e ff ff 43 4b 4f 5f   .......,....CKO_
0030  dc 11 00 00 00 00 00 00 00 00 00 a7 d8 c0 00 00   ................
0040  00 00 00 a7 d8 c0 00 00 00 00 01 ef a4 a6         ..............

No.     Time           Source                Destination           Protocol Length Info
    629 58.596982      10.0.1.18             10.0.1.170            AppleMIDI 78     Synchronization: count = 1

Frame 629: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
Ethernet II, Src: Apple_13:a7:ce (80:e6:50:13:a7:ce), Dst: Espressi_fb:1b:73 (18:fe:34:fb:1b:73)
Internet Protocol Version 4, Src: 10.0.1.18 (10.0.1.18), Dst: 10.0.1.170 (10.0.1.170)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Apple Network-MIDI Session Protocol

0000  18 fe 34 fb 1b 73 80 e6 50 13 a7 ce 08 00 45 00   ..4..s..P.....E.
0010  00 40 6e 34 00 00 40 11 f5 bd 0a 00 01 12 0a 00   .@n4..@.........
0020  01 aa 13 8d 13 8d 00 2c f1 92 ff ff 43 4b 51 73   .......,....CKQs
0030  11 8e 01 00 00 00 00 00 00 00 00 a7 d8 c0 00 00   ................
0040  00 00 01 ef a6 f4 00 00 00 00 01 ef a4 a6         ..............

No.     Time           Source                Destination           Protocol Length Info
    630 58.658034      10.0.1.170            10.0.1.18             AppleMIDI 78     Synchronization: count = 2

Frame 630: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Apple_13:a7:ce (80:e6:50:13:a7:ce)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 10.0.1.18 (10.0.1.18)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 5005 (5005)
Apple Network-MIDI Session Protocol

0000  80 e6 50 13 a7 ce 18 fe 34 fb 1b 73 08 00 45 00   ..P.....4..s..E.
0010  00 40 00 12 00 00 ff 11 a4 df 0a 00 01 aa 0a 00   .@..............
0020  01 12 13 8d 13 8d 00 2c f5 50 ff ff 43 4b 4f 5f   .......,.P..CKO_
0030  dc 11 02 00 00 00 00 00 00 00 00 a7 d8 c0 00 00   ................
0040  00 00 01 ef a6 f4 00 00 00 00 00 a7 d8 c0         ..............

No.     Time           Source                Destination           Protocol Length Info
    631 58.982786      10.0.1.170            0.0.0.0               UDP      58     Source port: 5005  Destination port: 0

Frame 631: 58 bytes on wire (464 bits), 58 bytes captured (464 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 0.0.0.0 (0.0.0.0)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 0 (0)
Data (16 bytes)

0000  ff ff ff ff ff ff 18 fe 34 fb 1b 73 08 00 45 00   ........4..s..E.
0010  00 2c 00 13 00 00 ff 11 b0 04 0a 00 01 aa 00 00   .,..............
0020  00 00 13 8d 00 00 00 18 03 e8 80 61 00 06 00 00   ...........a....
0030  00 00 4f 5f dc 11 03 90 2d 37                     ..O_....-7

No.     Time           Source                Destination           Protocol Length Info
    632 58.982790      10.0.1.170            0.0.0.0               UDP      58     Source port: 5005  Destination port: 0

Frame 632: 58 bytes on wire (464 bits), 58 bytes captured (464 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 0.0.0.0 (0.0.0.0)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 0 (0)
Data (16 bytes)

0000  ff ff ff ff ff ff 18 fe 34 fb 1b 73 08 00 45 00   ........4..s..E.
0010  00 2c 00 14 00 00 ff 11 b0 03 0a 00 01 aa 00 00   .,..............
0020  00 00 13 8d 00 00 00 18 03 f7 80 61 00 07 00 00   ...........a....
0030  00 00 4f 5f dc 11 03 80 2d 37                     ..O_....-7

No.     Time           Source                Destination           Protocol Length Info
    633 59.904427      10.0.1.170            0.0.0.0               UDP      58     Source port: 5005  Destination port: 0

Frame 633: 58 bytes on wire (464 bits), 58 bytes captured (464 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 0.0.0.0 (0.0.0.0)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 0 (0)
Data (16 bytes)

0000  ff ff ff ff ff ff 18 fe 34 fb 1b 73 08 00 45 00   ........4..s..E.
0010  00 2c 00 15 00 00 ff 11 b0 02 0a 00 01 aa 00 00   .,..............
0020  00 00 13 8d 00 00 00 18 03 e6 80 61 00 08 00 00   ...........a....
0030  00 00 4f 5f dc 11 03 90 2d 37                     ..O_....-7

No.     Time           Source                Destination           Protocol Length Info
    634 59.904457      10.0.1.170            0.0.0.0               UDP      58     Source port: 5005  Destination port: 0

Frame 634: 58 bytes on wire (464 bits), 58 bytes captured (464 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 0.0.0.0 (0.0.0.0)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 0 (0)
Data (16 bytes)

0000  ff ff ff ff ff ff 18 fe 34 fb 1b 73 08 00 45 00   ........4..s..E.
0010  00 2c 00 16 00 00 ff 11 b0 01 0a 00 01 aa 00 00   .,..............
0020  00 00 13 8d 00 00 00 18 03 f5 80 61 00 09 00 00   ...........a....
0030  00 00 4f 5f dc 11 03 80 2d 37                     ..O_....-7

No.     Time           Source                Destination           Protocol Length Info
    644 61.133089      10.0.1.170            0.0.0.0               UDP      58     Source port: 5005  Destination port: 0

Frame 644: 58 bytes on wire (464 bits), 58 bytes captured (464 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 0.0.0.0 (0.0.0.0)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 0 (0)
Data (16 bytes)

0000  ff ff ff ff ff ff 18 fe 34 fb 1b 73 08 00 45 00   ........4..s..E.
0010  00 2c 00 17 00 00 ff 11 b0 00 0a 00 01 aa 00 00   .,..............
0020  00 00 13 8d 00 00 00 18 03 e4 80 61 00 0a 00 00   ...........a....
0030  00 00 4f 5f dc 11 03 90 2d 37                     ..O_....-7

No.     Time           Source                Destination           Protocol Length Info
    645 61.133119      10.0.1.170            0.0.0.0               UDP      58     Source port: 5005  Destination port: 0

Frame 645: 58 bytes on wire (464 bits), 58 bytes captured (464 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 0.0.0.0 (0.0.0.0)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 0 (0)
Data (16 bytes)

0000  ff ff ff ff ff ff 18 fe 34 fb 1b 73 08 00 45 00   ........4..s..E.
0010  00 2c 00 18 00 00 ff 11 af ff 0a 00 01 aa 00 00   .,..............
0020  00 00 13 8d 00 00 00 18 03 f3 80 61 00 0b 00 00   ...........a....
0030  00 00 4f 5f dc 11 03 80 2d 37                     ..O_....-7

No.     Time           Source                Destination           Protocol Length Info
    646 62.054754      10.0.1.170            0.0.0.0               UDP      58     Source port: 5005  Destination port: 0

Frame 646: 58 bytes on wire (464 bits), 58 bytes captured (464 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 0.0.0.0 (0.0.0.0)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 0 (0)
Data (16 bytes)

0000  ff ff ff ff ff ff 18 fe 34 fb 1b 73 08 00 45 00   ........4..s..E.
0010  00 2c 00 19 00 00 ff 11 af fe 0a 00 01 aa 00 00   .,..............
0020  00 00 13 8d 00 00 00 18 03 e2 80 61 00 0c 00 00   ...........a....
0030  00 00 4f 5f dc 11 03 90 2d 37                     ..O_....-7

No.     Time           Source                Destination           Protocol Length Info
    647 62.054758      10.0.1.170            0.0.0.0               UDP      58     Source port: 5005  Destination port: 0

Frame 647: 58 bytes on wire (464 bits), 58 bytes captured (464 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 0.0.0.0 (0.0.0.0)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 0 (0)
Data (16 bytes)

0000  ff ff ff ff ff ff 18 fe 34 fb 1b 73 08 00 45 00   ........4..s..E.
0010  00 2c 00 1a 00 00 ff 11 af fd 0a 00 01 aa 00 00   .,..............
0020  00 00 13 8d 00 00 00 18 03 f1 80 61 00 0d 00 00   ...........a....
0030  00 00 4f 5f dc 11 03 80 2d 37                     ..O_....-7

No.     Time           Source                Destination           Protocol Length Info
    648 62.976458      10.0.1.170            0.0.0.0               UDP      58     Source port: 5005  Destination port: 0

Frame 648: 58 bytes on wire (464 bits), 58 bytes captured (464 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 0.0.0.0 (0.0.0.0)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 0 (0)
Data (16 bytes)

0000  ff ff ff ff ff ff 18 fe 34 fb 1b 73 08 00 45 00   ........4..s..E.
0010  00 2c 00 1b 00 00 ff 11 af fc 0a 00 01 aa 00 00   .,..............
0020  00 00 13 8d 00 00 00 18 03 e0 80 61 00 0e 00 00   ...........a....
0030  00 00 4f 5f dc 11 03 90 2d 37                     ..O_....-7

No.     Time           Source                Destination           Protocol Length Info
    649 62.976463      10.0.1.170            0.0.0.0               UDP      58     Source port: 5005  Destination port: 0

Frame 649: 58 bytes on wire (464 bits), 58 bytes captured (464 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 0.0.0.0 (0.0.0.0)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 0 (0)
Data (16 bytes)

0000  ff ff ff ff ff ff 18 fe 34 fb 1b 73 08 00 45 00   ........4..s..E.
0010  00 2c 00 1c 00 00 ff 11 af fb 0a 00 01 aa 00 00   .,..............
0020  00 00 13 8d 00 00 00 18 03 ef 80 61 00 0f 00 00   ...........a....
0030  00 00 4f 5f dc 11 03 80 2d 37                     ..O_....-7

No.     Time           Source                Destination           Protocol Length Info
    654 63.899092      10.0.1.170            0.0.0.0               UDP      58     Source port: 5005  Destination port: 0

Frame 654: 58 bytes on wire (464 bits), 58 bytes captured (464 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 0.0.0.0 (0.0.0.0)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 0 (0)
Data (16 bytes)

0000  ff ff ff ff ff ff 18 fe 34 fb 1b 73 08 00 45 00   ........4..s..E.
0010  00 2c 00 1d 00 00 ff 11 af fa 0a 00 01 aa 00 00   .,..............
0020  00 00 13 8d 00 00 00 18 03 de 80 61 00 10 00 00   ...........a....
0030  00 00 4f 5f dc 11 03 90 2d 37                     ..O_....-7

No.     Time           Source                Destination           Protocol Length Info
    655 63.899293      10.0.1.170            0.0.0.0               UDP      58     Source port: 5005  Destination port: 0

Frame 655: 58 bytes on wire (464 bits), 58 bytes captured (464 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 0.0.0.0 (0.0.0.0)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 0 (0)
Data (16 bytes)

0000  ff ff ff ff ff ff 18 fe 34 fb 1b 73 08 00 45 00   ........4..s..E.
0010  00 2c 00 1e 00 00 ff 11 af f9 0a 00 01 aa 00 00   .,..............
0020  00 00 13 8d 00 00 00 18 03 ed 80 61 00 11 00 00   ...........a....
0030  00 00 4f 5f dc 11 03 80 2d 37                     ..O_....-7

No.     Time           Source                Destination           Protocol Length Info
    666 65.126770      10.0.1.170            0.0.0.0               UDP      58     Source port: 5005  Destination port: 0

Frame 666: 58 bytes on wire (464 bits), 58 bytes captured (464 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 0.0.0.0 (0.0.0.0)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 0 (0)
Data (16 bytes)

0000  ff ff ff ff ff ff 18 fe 34 fb 1b 73 08 00 45 00   ........4..s..E.
0010  00 2c 00 1f 00 00 ff 11 af f8 0a 00 01 aa 00 00   .,..............
0020  00 00 13 8d 00 00 00 18 03 dc 80 61 00 12 00 00   ...........a....
0030  00 00 4f 5f dc 11 03 90 2d 37                     ..O_....-7

No.     Time           Source                Destination           Protocol Length Info
    667 65.127085      10.0.1.170            0.0.0.0               UDP      58     Source port: 5005  Destination port: 0

Frame 667: 58 bytes on wire (464 bits), 58 bytes captured (464 bits) on interface 0
Ethernet II, Src: Espressi_fb:1b:73 (18:fe:34:fb:1b:73), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Internet Protocol Version 4, Src: 10.0.1.170 (10.0.1.170), Dst: 0.0.0.0 (0.0.0.0)
User Datagram Protocol, Src Port: 5005 (5005), Dst Port: 0 (0)
Data (16 bytes)

0000  ff ff ff ff ff ff 18 fe 34 fb 1b 73 08 00 45 00   ........4..s..E.
0010  00 2c 00 20 00 00 ff 11 af f7 0a 00 01 aa 00 00   .,. ............
0020  00 00 13 8d 00 00 00 18 03 eb 80 61 00 13 00 00   ...........a....
0030  00 00 4f 5f dc 11 03 80 2d 37                     ..O_....-7

No.     Time           Source                Destination           Protocol Length Info
    684 65.602120      10.0.1.18             10.0.1.170            AppleMIDI 58     End Session

Frame 684: 58 bytes on wire (464 bits), 58 bytes captured (464 bits) on interface 0
Ethernet II, Src: Apple_13:a7:ce (80:e6:50:13:a7:ce), Dst: Espressi_fb:1b:73 (18:fe:34:fb:1b:73)
Internet Protocol Version 4, Src: 10.0.1.18 (10.0.1.18), Dst: 10.0.1.170 (10.0.1.170)
User Datagram Protocol, Src Port: 5004 (5004), Dst Port: 5004 (5004)
Apple Network-MIDI Session Protocol

0000  18 fe 34 fb 1b 73 80 e6 50 13 a7 ce 08 00 45 00   ..4..s..P.....E.
0010  00 2c 3f dd 00 00 40 11 24 29 0a 00 01 12 0a 00   .,?...@.$)......
0020  01 aa 13 8c 13 8c 00 18 1c 8e ff ff 42 59 00 00   ............BY..
0030  00 02 00 00 00 00 51 73 11 8e                     ......Qs..
lenkost commented 9 years ago

Hi, I am working on a similar project using this good library with ESP8266. Had the same problem.

in WiFiUdp.h we have #define UDP_TX_PACKET_MAX_SIZE 8192 in EthernetUdp.h we have #define UDP_TX_PACKET_MAX_SIZE 24

Changing the UDP_TX_PACKET_MAX_SIZE to 24 in WiFiUdp.h fixes the problem with receiving midi. No gibberish anymore.

But I still cannot send midi out. Messages get all the way to: internalSend(Session_t* session, MidiType inType, DataByte inData1, DataByte inData2, Channel inChannel)

But nothing is received on a computer. I would appreciate any help.

lathoub commented 9 years ago

I have a ESP8266 now, but now I need a 3.3V Serial-USB programmer...

Good that got the buffer size figured out (I had a hunch it was that).

On Windows, I have rtpMIDI open so I can see the latency timer changing (sign that connection is alive); I also have a MIDI-OX session running, logging both MIDI in and out, and Wireshark, logging all rtpMIDI related traffic.

Do i get it right that you don't see any outgoing bytes on Wireshark?

lenkost commented 9 years ago

For some reason WiFiUDP does not remember the last RemoteIP and Port. If I set it up manually, the sample sketch works OK. This is temporay, for testing only:

void beginWrite(WiFiUDP* udp)
{
    byte remIP[] = {0xc0, 0xa8, 0x0, 0x3};
    uint16_t remPort = 5005;
    udp->beginPacket(remIP, remPort);

// udp->beginPacket(udp->remoteIP(), udp->remotePort()); udp->write(&ddddd, sizeof(ddddd));

lathoub commented 9 years ago

Good news! Once I have a 3.3V programmer I will try to get it working, based on the above comments (albeit I have to say that WIFI is not ideal to send MIDI notes - when testing on a portable computer I do notice that notes come in 'bursts' with a little delay. I do not exactly know your use case, but keep the latency in mind

I will try to pass the UDP class as a template argument, that has least impact and max flexibility (I think)

lenkost commented 9 years ago

I finished my project and it works great. There is no latency at all when using with PC. Thank you for your great library. One issue remains. I understand that sysEx part is not finished yet. Is it possible to have it in simplified way? Just to get an array of bytes between F0 and F7 and number of bytes without any parsing of the content? For OnReceiveSystemExclusive event? And the same for sending? Thank you again.

rubenbroman commented 9 years ago

Wow! I'm really happy to see that you've got it working. I haven't had time to do any testing but did a quick search to see if anyone else has had problems with remote ip on up and found this: https://communities.intel.com/message/240509

Is that maybe applicable for us?

Cheers

lenkost commented 9 years ago

I understand that Remote IP is the IP of the last received packet. I save it in a session structure during sync and then use it to send packets back.

As I said it works perfect with Windows but I could not make it work with Mac or iPad. Any ideas?

lathoub commented 9 years ago

Good to hear it works! Very nice.

I'm considering adding templates to AppleMIDI, so that you can pass the WiFiUDP as a template argument. This way I can support multiple UDP classes (assuming they use the same methods). Would this help you? Also, what structure did you modify? I could add a void* userData attribute to the struct to support this.

lathoub commented 9 years ago

Added template support for the AppleMIDI library. This should make adding other ethernet libraries easier (?). Can you have a look? See the 3 examples on how to use. As I don't have a 3.3V programmer I can't test it with the Esp8266

I will close this issue, please open a new issue when you encounter problems