Skip to content

LPD8 Wireless #47

@cbix

Description

@cbix

Apparently, the LPD8 Wireless uses a different SYX protocol and also supports A/B banks for pad assignment.

How can I help out and dump the MIDI messages from the proprietary LPD8 Wireless editor running in Wine to the device? I tried aseqdump, amidi --dump and jack_midi_dump but I could only read messages coming from the device. (I ended up using Wireshark + usbmon for req dumps and jack_midi_dump for res dumps)

Here are some examples of mocked settings I did:

Settings in editor:
Screenshot from 2022-04-19 21-30-32

Req: ... (Send Prog 1/2/3/4/RAM)
Res: (none)

Req (Get Prog 1): f0 47 7f 3f 66 00 01 01 f7
Res: f0 47 7f 3f 67 00 63 01 00 00 01 00 02 00 00 02 00 47 2f 31 30 01 32 34 33 01 35 37 36 01 38 3a 39 01 23 25 24 01 26 28 27 01 29 2b 2a 01 2c 2e 2d 01 17 19 18 00 1a 1c 1b 00 1d 1f 1e 00 20 22 21 00 0a 0d 0b 00 0e 10 0f 01 11 13 12 00 14 16 15 01 3b 00 7f 3c 00 7f 3d 00 7f 3e 00 7f 3f 40 7f 41 42 7f 43 44 56 45 46 7f f7

Req (Get Prog 2): f0 47 7f 3f 66 00 01 02 f7
Res: f0 47 7f 3f 67 00 63 02 00 00 01 00 02 00 00 02 00 47 2f 31 30 01 32 34 33 01 35 37 36 01 38 3a 39 01 23 25 24 01 26 28 27 01 29 2b 2a 01 2c 2e 2d 01 17 19 18 00 1a 1c 1b 00 1d 1f 1e 00 20 22 21 00 0a 0d 0b 00 0e 10 0f 01 11 13 12 00 14 16 15 01 3b 00 7f 3c 00 7f 3d 00 7f 3e 00 7f 3f 40 7f 41 42 7f 43 44 56 45 46 7f f7

Changing individual settings

(responses of Get Prog 1)
MIDI channels (pads: ch 3; knobs: ch 4)

f0 47 7f 3f 67 00 63 01 02 00 03 00 02 00 00 02 00 47 2f 31 30 01 32 34 33 01 35 37 36 01 38 3a 39 01 23 25 24 01 26 28 27 01 29 2b 2a 01 2c 2e 2d 01 17 19 18 00 1a 1c 1b 00 1d 1f 1e 00 20 22 21 00 0a 0d 0b 00 0e 10 0f 01 11 13 12 00 14 16 15 01 3b 00 7f 3c 00 7f 3d 00 7f 3e 00 7f 3f 40 7f 41 42 7f 43 44 56 45 46 7f f7

Note repeat

  • Tempo: 30 - 240
  • Clock: Internal, External
  • Time div: 1/8, 1/8 Triplet, 1/16, 1/16 Triplet, 1/32, 1/32 Triplet
  • Swing: 50 % (Off), 56 %, 58 %, 60 %, 62 %
  • Tempo taps: 2, 3, 4

Screenshot from 2022-04-19 21-50-52

f0 47 7f 3f 67 00 63 01 02 00 03 00 00 01 00 03 00 1e 2f 31 30 01 32 34 33 01 35 37 36 01 38 3a 39 01 23 25 24 01 26 28 27 01 29 2b 2a 01 2c 2e 2d 01 17 19 18 00 1a 1c 1b 00 1d 1f 1e 00 20 22 21 00 0a 0d 0b 00 0e 10 0f 01 11 13 12 00 14 16 15 01 3b 00 7f 3c 00 7f 3d 00 7f 3e 00 7f 3f 40 7f 41 42 7f 43 44 56 45 46 7f f7

Screenshot from 2022-04-19 21-57-06

f0 47 7f 3f 67 00 63 01 02 00 03 00 01 00 01 04 01 70 2f 31 30 01 32 34 33 01 35 37 36 01 38 3a 39 01 23 25 24 01 26 28 27 01 29 2b 2a 01 2c 2e 2d 01 17 19 18 00 1a 1c 1b 00 1d 1f 1e 00 20 22 21 00 0a 0d 0b 00 0e 10 0f 01 11 13 12 00 14 16 15 01 3b 00 7f 3c 00 7f 3d 00 7f 3e 00 7f 3f 40 7f 41 42 7f 43 44 56 45 46 7f f7

Screenshot from 2022-04-19 22-00-00

f0 47 7f 3f 67 00 63 01 02 00 03 00 02 00 01 04 01 48 2f 31 30 01 32 34 33 01 35 37 36 01 38 3a 39 01 23 25 24 01 26 28 27 01 29 2b 2a 01 2c 2e 2d 01 17 19 18 00 1a 1c 1b 00 1d 1f 1e 00 20 22 21 00 0a 0d 0b 00 0e 10 0f 01 11 13 12 00 14 16 15 01 3b 00 7f 3c 00 7f 3d 00 7f 3e 00 7f 3f 40 7f 41 42 7f 43 44 56 45 46 7f f7

Wireshark request hexdumps

(these look a bit long and seem to include another frame header f0 47, needs more testing...)
Send Prog 1 Req

0000   f0 47 7f 3f 64 00 63 01 00 00 01 00 02 00 00 02
0010   00 47 2f 31 30 01 32 34 33 01 35 37 36 01 38 3a
0020   39 01 23 25 24 01 26 28 27 01 29 2b 2a 01 2c 2e
0030   f0 47 7f 3f 64 00 63 01 00 00 01 00 02 00 00 02
0040   00 47 2f 31 30 01 32 34 33 01 35 37 36 01 38 3a
0050   39 01 23 25 24 01 26 28 27 01 29 2b 2a 01 2c 2e
0060   2d 01 17 19 18 00 1a 1c 1b 00 1d 1f 1e 00 20 2d
0070   01 17 19 18 00 1a 1c 1b 00 1d 1f 1e 00 20 22 21
0080   00 0a 0d 0b 00 0e 10 0f 01 11 13 12 00 14 16 15
0090   01 3b 00 7f 3c 00 7f 3d 00 7f 3e 00 7f 3f 40 22
00a0   21 00 0a 0d 0b 00 0e 10 0f 01 11 13 12 00 14 16
00b0   15 01 3b 00 7f 3c 00 7f 3d 00 7f 3e 00 7f 3f 40
00c0   7f 41 42 7f 43 44 56 45 46 7f f7

Send Prog 2 Req

0000   f0 47 7f 3f 64 00 63 02 00 00 01 00 02 00 00 02
0010   00 47 2f 31 30 01 32 34 33 01 35 37 36 01 38 3a
0020   39 01 23 25 24 01 26 28 27 01 29 2b 2a 01 2c 2e
0030   2d 01 17 19 18 00 1a 1c 1b 00 1d 1f 1e 00 20 f0
0040   47 7f 3f 64 00 63 02 00 00 01 00 02 00 00 02 00
0050   47 2f 31 30 01 32 34 33 01 35 37 36 01 38 3a 39
0060   01 23 25 24 01 26 28 27 01 29 2b 2a 01 2c 2e 2d
0070   01 17 19 18 00 1a 1c 1b 00 1d 1f 1e 00 20 22 21
0080   00 0a 0d 0b 00 0e 10 0f 01 11 13 12 00 14 16 15
0090   01 3b 00 7f 3c 00 7f 3d 00 7f 3e 00 7f 3f 40 7f
00a0   41 42 7f 43 44 56 45 46 7f f7

Send Prog 3 Req

0000   f0 47 7f 3f 64 00 63 03 00 00 01 00 02 00 00 02
0010   00 47 2f 31 30 01 32 34 33 01 35 37 36 01 38 3a
0020   39 01 23 25 24 01 26 28 27 01 29 2b 2a 01 2c 2e
0030   2d 01 17 19 18 00 1a 1c 1b 00 1d 1f 1e 00 20 f0
0040   47 7f 3f 64 00 63 03 00 00 01 00 02 00 00 02 00
0050   47 2f 31 30 01 32 34 33 01 35 37 36 01 38 3a 39
0060   01 23 25 24 01 26 28 27 01 29 2b 2a 01 2c 2e 2d
0070   01 17 19 18 00 1a 1c 1b 00 1d 1f 1e 00 20 22 21
0080   00 0a 0d 0b 00 0e 10 0f 01 11 13 12 00 14 16 15
0090   01 3b 00 7f 3c 00 7f 3d 00 7f 3e 00 7f 3f 40 22
00a0   21 00 0a 0d 0b 00 0e 10 0f 01 11 13 12 00 14 16
00b0   15 01 3b 00 7f 3c 00 7f 3d 00 7f 3e 00 7f 3f 40
00c0   7f 41 42 7f 43 44 56 45 46 7f f7

Send Prog 4 Req

0000   f0 47 7f 3f 64 00 63 04 00 00 01 00 02 00 00 02
0010   00 47 2f 31 30 01 32 34 33 01 35 37 36 01 38 3a
0020   39 01 23 25 24 01 26 28 27 01 29 2b 2a 01 2c 2e
0030   2d 01 17 19 18 00 1a 1c 1b 00 1d 1f 1e 00 20 f0
0040   47 7f 3f 64 00 63 04 00 00 01 00 02 00 00 02 00
0050   47 2f 31 30 01 32 34 33 01 35 37 36 01 38 3a 39
0060   01 23 25 24 01 26 28 27 01 29 2b 2a 01 2c 2e 2d
0070   01 17 19 18 00 1a 1c 1b 00 1d 1f 1e 00 20 22 21
0080   00 0a 0d 0b 00 0e 10 0f 01 11 13 12 00 14 16 15
0090   01 3b 00 7f 3c 00 7f 3d 00 7f 3e 00 7f 3f 40 7f
00a0   41 42 7f 43 44 56 45 46 7f f7

Send RAM Req

0000   f0 47 7f 3f 64 00 63 00 00 00 01 00 02 00 00 02
0010   00 47 2f 31 30 01 32 34 33 01 35 37 36 01 38 3a
0020   39 01 23 25 24 01 26 28 27 01 29 2b 2a 01 2c 2e
0030   2d 01 17 19 18 00 1a 1c 1b 00 1d 1f 1e 00 20 f0
0040   47 7f 3f 64 00 63 00 00 00 01 00 02 00 00 02 00
0050   47 2f 31 30 01 32 34 33 01 35 37 36 01 38 3a 39
0060   01 23 25 24 01 26 28 27 01 29 2b 2a 01 2c 2e 2d
0070   01 17 19 18 00 1a 1c 1b 00 1d 1f 1e 00 20 22 21
0080   00 0a 0d 0b 00 0e 10 0f 01 11 13 12 00 14 16 15
0090   01 3b 00 7f 3c 00 7f 3d 00 7f 3e 00 7f 3f 40 22
00a0   21 00 0a 0d 0b 00 0e 10 0f 01 11 13 12 00 14 16
00b0   15 01 3b 00 7f 3c 00 7f 3d 00 7f 3e 00 7f 3f 40
00c0   7f 41 42 7f 43 44 56 45 46 7f f7

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions