MiSTer MidiLink

Kernel, Main, Utilities & Applications, Miscellaneous Devices.
jaffa225man
Posts: 7
Joined: Wed Sep 27, 2023 6:41 am
Has thanked: 1 time
Been thanked: 2 times

Re: MiSTer MidiLink

Unread post by jaffa225man »

bbond007 wrote: Tue Oct 10, 2023 1:43 am

Great, please report back if your results are different without using MIDI though USB. That information cold potentially help a developer identify the regression and fix the issue.

I'm reporting back now to say it's the same MIDI message corruption on the X68000 core's Gemini Wing with the USER IO port plugged into my MiSTer MIDI 1.4, so I have reported the problem with the X68000 core (https://github.com/MiSTer-devel/X68000_ ... 1948339602), since it has nothing to do with MIDILink!

bbond007 wrote: Tue Oct 10, 2023 1:43 am

Perhaps it does have less latency, but I can't tell the difference between USER IO, USB or even UDP(over WiFi) with my ears. I'm not a musician.

I'm not a musician either, and nor are my ears perfect, but MIDI latency isn't an issue for me either. It's plenty fast on your MIDILink code, although I've not tried UDP, let alone it over WiFi. It's just a nice comfort to believe messages are sent at precisely the same instant they would be from the real computers.

Thanks again! :)

auk
Posts: 7
Joined: Wed May 22, 2024 1:40 pm
Has thanked: 2 times
Been thanked: 2 times

Re: MiSTer MidiLink

Unread post by auk »

The MiSTer_MIDILink daemon by bbond007 works nicely with the M-Audio Axiom 25 MIDI controller keyboard connected via USB. Programs running on the AtariST, Amiga and AO486 cores can receive events generated by its keys/knobs/pads/pedals and transmit events to external synths by its MIDI OUT connector. But, after reading its manual and what I could find by searching this forum and the GitHub page I know of no way to pass events from its MIDI IN connector to the programs. Is this possible? Will include an excerpt from its manual and some output from lsusb. Thanks!

When installed, the Axiom appears as a simple MIDI device with two input ports and one output port.

Code: Select all

/root# lsusb -vs 1:7
Bus 001 Device 007: ID 0763:0198 M-Audio Axiom 25
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.00
  bDeviceClass            0 
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x0763 M-Audio
  idProduct          0x0198 Axiom 25
  bcdDevice            1.05
  iManufacturer           1 M-Audio
  iProduct                2 USB Axiom 25
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x0075
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          3 Audio Class
    bmAttributes         0xc0
      Self Powered
    MaxPower              160mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         1 Audio
      bInterfaceSubClass      1 Control Device
      bInterfaceProtocol      0 
      iInterface              0 
      AudioControl Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdADC               1.00
        wTotalLength       0x0009
        bInCollection           1
        baInterfaceNr(0)        1
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         1 Audio
      bInterfaceSubClass      3 MIDI Streaming
      bInterfaceProtocol      0 
      iInterface              0 
      MIDIStreaming Interface Descriptor:
        bLength                 7
        bDescriptorType        36
        bDescriptorSubtype      1 (HEADER)
        bcdADC               1.00
        wTotalLength       0x0041
      MIDIStreaming Interface Descriptor:
        bLength                 6
        bDescriptorType        36
        bDescriptorSubtype      2 (MIDI_IN_JACK)
        bJackType               1 Embedded
        bJackID                 1
        iJack                   0 
      MIDIStreaming Interface Descriptor:
        bLength                 6
        bDescriptorType        36
        bDescriptorSubtype      2 (MIDI_IN_JACK)
        bJackType               2 External
        bJackID                 2
        iJack                   0 
      MIDIStreaming Interface Descriptor:
        bLength                 6
        bDescriptorType        36
        bDescriptorSubtype      2 (MIDI_IN_JACK)
        bJackType               2 External
        bJackID                 5
        iJack                   0 
      MIDIStreaming Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (MIDI_OUT_JACK)
        bJackType               1 Embedded
        bJackID                 3
        bNrInputPins            1
        baSourceID( 0)          2
        BaSourcePin( 0)         1
        iJack                   0 
      MIDIStreaming Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (MIDI_OUT_JACK)
        bJackType               1 Embedded
        bJackID                 6
        bNrInputPins            1
        baSourceID( 0)          5
        BaSourcePin( 0)         1
        iJack                   0 
      MIDIStreaming Interface Descriptor:
        bLength                 9
        bDescriptorType        36
        bDescriptorSubtype      3 (MIDI_OUT_JACK)
        bJackType               2 External
        bJackID                 4
        bNrInputPins            1
        baSourceID( 0)          1
        BaSourcePin( 0)         1
        iJack                   0 
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
        bRefresh                0
        bSynchAddress           0
        MIDIStreaming Endpoint Descriptor:
          bLength                 6
          bDescriptorType        37
          bDescriptorSubtype      1 (GENERAL)
          bNumEmbMIDIJack         2
          baAssocJackID( 0)       3
          baAssocJackID( 1)       6
      Endpoint Descriptor:
        bLength                 9
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
        bRefresh                0
        bSynchAddress           0
        MIDIStreaming Endpoint Descriptor:
          bLength                 5
          bDescriptorType        37
          bDescriptorSubtype      1 (GENERAL)
          bNumEmbMIDIJack         1
          baAssocJackID( 0)       1
Device Status:     0x0000
  (Bus Powered)
Post Reply