Installation of the MIDI-interface for MS Windows

For Windows, most MIDI-Interfaces do not require anything other than installing the vendor-provided driver. CuSE is based on the Winmm.lib which should be part of almost all versions of the Windows operating system for end-users.

Installation of the MIDI-interface for GNU/Linux

Older sound-cards often include MIDI-interfaces, most of them being supported by the latest kernels. Many modern motherboards do already contain a sound-chip. Though these will often provide a MIDI-interface, in general a separate cable has to be connected to a socket on the motherboard. A simple alternative is to buy a low-cost external USB-adapter.

We use the MIDISPORT/UNO USB-interface produced by M-AUDIO. If only one device has to be connected, the UNO-version may be a good choice since it does not require to install a firmware image. The process is described further down below. You will only have to include the appropriate driver in the linux kernel.

Other than the UNO-version, we did also test the kernel support of the MIDISPORT 2x2. Both are known to be supported by the kernel 2.6.16 or higher (older versions may work as well but have not been tested) using the following option:

Device Drivers ->
   Sound ->
      Advanced Linux Sound Architecture ->
      PCI devices ->
         <*> USB Audio/MIDI driver

If the driver was compiled as module (<M> instead of <*>), it has to be loaded as root-user:

modprobe snd-usb-audio

Devices with multiple interfaces (MIDISPORT 2x2 and 4x4) require to load a firmware image. A free open-source implementation of the firmware image may be obtained here:

Loading the firmware is done by fxload (fxload is part of most current Linux distributions):

fxload -D /proc/bus/usb/XXX/YYY -I MidiSport2x2.ihx (resp. 4x4)

For XXX/YYY you have to enter the interface's bus and device number which is found by

lsusb | grep Midiman

The output might look as follows:

Bus 005 Device 001: ID 0763:1002 Midiman

The above command-line will then turn to:

fxload -D /proc/bus/usb/005/001 -I MidiSport2x2.ihx

A more in-depth HowTo can be found here.
The following paragraph is of
interest for developers only


Compiling under Windows

Under Windows, the source code has to be compiled using the cygwin environment. Cygwin is a port of many GNU tools and utilities commonly used in combination with e.g., Linux or BSD. Besides the common development-packets, we need the following ones in addition:

ncurses
libncurses-devel

Furthermore, CuSE is based on the cdk-library. Unfortunately, at the moment (20 December 2006), the version of cdk included in cygwin is too old. As a consequence, the lastest version has to be compiled from the source which can be found here:

cdk-5.0 (from 7. May 2006) by http://invisible-island.net/cdk/

after unpacking the tar-archive, cdk has to be configured using the --with-ncurses switch.

tar xzf cdk.tar.gz
cd cdk-5.0-20060507
./configure --with-ncurses
make
make install

cuse itself is compiled as expected

tar xzf cuse-0.5-src.tar.gz
./configure
make

The programm can then be found under

./src/cuse


Compilation under Linux

The compilation under GNU/Linux does not differ from the one described above. However it is likely, that most distributions contain a recent enough version of the libcdk so you can skip this part of the installation.