Skip to main content

MIDI for Linux

I want to drive MIDI with my Ubuntu.

The context

I play MIDI with Atari since 1986; at first a STF (1MB RAM), now a STe maxed to 4MB. Four megabytes of RAM may seems ridiculous by today's standards, but MIDI is extremely compact and use very few memory. Moreover, on the Atari, the operating system is in ROM, which limits the footprint on RAM to variables; hence, 4MB is actually plenty of room.

The Atari has a built-in MIDI interface (1 In, 1 Out) driving 16 channels. However, in my case, 16 channels is not enough, so I purchased a MIDI interface (Soundpool MO4) which adds 4 outs, allowing to drive 80 channels.

Unfortunately, 2-3 years ago, the MO4 has stopped working: still recognized by the Atari, but no output. Ok, well, this is another topic...

In the past, I also got an old Toshiba Elite laptop running Windows XP. I tried to play MIDI with it. I first purchased a E-MU 2x2 interface (1 in, 1 out). Then I had the opportunity to buy a Midiman Midisport 4x4 (4 ins, 4 outs), and soon after, a MOTU midi timepiece AV (8 ins, 8 outs). The laptop is now gone, but I still have the interfaces.
My main computer is a HP workstation with plenty of computing power and memory, running Linux. Let's give a try...

Hardware

  • Computer: HP XW6600 Workstation, 8-cores, 16 GB RAM
  • Linux: Ubuntu 18.04.4 LTS
  • MIDI Interfaces:
    1. MOTU midi timepiece AV
    2. E-MU 2x2
    3. Midiman Midisport 4x4

MOTU midi timepiece AV

In short: forget about it, MOTU refuses to write a driver for Linux.

E-MU 2x2

I've done it quite a while ago because I had to write a score with Muse Score. Using the mouse only was challenging, so I tried to connect my main keyboard (Alesis Fusion 8HD) using an old E-MU 2x2. Unfortunately didn't take any note on what I had to do; all I remember is it was super easy to understand how Jack and Muse Score interact, but at last, it was a success.

Midiman Midisport 4x4

This is a 4-ins, 4-outs USB powered interface. As soon as I connected the interface, it was detected:

# dmesg
...
[ 2219.064121] usb 2-1: New USB device found, idVendor=0763 ...
...
USB vendor ID 0763 is M-Audio, formerly known as ... Midiman. The installation is super-easy:
  1. Install the Midisport firmware
    # apt-get install midisport-firmware
  2. Make sure udev is started
    # systemctl |grep udev
    systemd-udev-trigger.service  loaded active exited    udev Coldplug all Devices                                         
    systemd-udevd.service         loaded active running   udev Kernel Device Manager                                        
    systemd-udevd-control.socket  loaded active running   udev Control Socket                                               
    systemd-udevd-kernel.socket   loaded active running   udev Kernel Socket
  3. Reload the rules
    # udevadm control --reload-rules && udevadm trigger
  4. Unplug and replug the interface; the green USB LED start blinking and the interface is now visible
    # cat /proc/asound/cards
    0 [Intel]: HDA-Intel - HDA Intel
               HDA Intel at 0xf3100000 irq 29
    1 [M4x4 ]: USB-Audio - MidiSport 4x4
               M-Audio MidiSport 4x4 at usb-0000:00:1d.0-1, full speed
    
The Midisport was immediately recognized in Ardour as midi_capture_1 to 4 (MIDI ins) and midi_playback_1 to 4 (MIDI outs).

Conclusion

This was an easy one!

Comments

Popular posts from this blog

Drive replacement for Fostex DMT8-vl

The IDE hard drive on my Fostex DMT8-vl multitrack recorder shows signs of its imminent death; when getting hot, I could not record anymore. Must be said this drive comes from an old Sun Station, and has been replaced because I/O failures were detected by Solaris. It worked at least 5 years in my recorder: not so bad. However, time is now to replace it. The DMT8-vl is not able to handle drives bigger than 8.4 GB. Well, it is able to (the current drive is 15 GB), but only 8.4 GB will be usable. My tought was to use a 8 GB CompactFlash; having no moving parts means no noise, which is quite temptating for a music recording device. I purchased a CompactFlash-IDE adapter on the internet (8$) and I had to build a male-male IDE cable adapter (4$). Unfortunately, this doesn't work. The drive is correctly discovered by the operating system, which proposes to format it ("format IDE?"). After answering "yes", the formating runs pretty fast (faster than on a real drive), ...

Samba: Clients get "system error 1223" (or 123) after a server reboot

Facts: a Linux+Samba server shares anonymously a folder. After a reboot, Win clients could not attach the share drive anymore. C:\>net use \\mylinux\folder Enter the user name for 'mylinux': System error 1223 has occurred. The operation was canceled by the user. C:\>net view \\mylinux\ System error 123 has occurred. The filename, directory name, or volume label syntax is incorrect. The process are present, and tcpdump doesn't provide much information. What's going on? After hours of headscratching, the light came: the firewall was on and no rules for the Samba protocol! Grrr!

Issue with Soundpool MO4

I have a Atari STe with a Soundpool MO4 MIDI extension. It used to work very well, but unfortunatelly doesn't anymore: Cubase still detects it, and I can output MIDI to it but nothing is coming out from any MIDI Out. It took me a while to tackle it (lack of time, lack of tool, other items to play with), but I gave a glance last week-end. The parallel port on the Atari uses only the following signals: Pin 1 : Strobe (Atari -> MO4) Pin 2 : Data 0 (Atari -> MO4) Pin 3 : Data 1 (Atari -> MO4) Pin 4 : Data 2 (Atari -> MO4) Pin 5 : Data 3 (Atari -> MO4) Pin 6 : Data 4 (Atari -> MO4) Pin 7 : Data 5 (Atari -> MO4) Pin 8 : Data 6 (Atari -> MO4) Pin 9 : Data 7 (Atari -> MO4) Pin 11: Busy (MO4 -> Atari) The MO4 also decodes few other pins, but since the Atari doesn't, my guess is the MO4 was also targeted for PC. Inside the box, the MO4 is architectured around a CPLD (IspLSI1016 from Lattice) which contains the logi...