SMDI Sample Transfers
Linux <-> ESI4000

I've tested this on 32-bit Ubuntu Studio 8.04 using an Adaptec aic7850 SCSI adapter and an E-Mu ESI4000 sampler. I imagine this would work identically with an ESI2000 (ESI32?). For other SMDI samplers, these instructions may need to be adapted accordingly.

CAUTION: Be careful when messing around with udev and device files.

  1. Get the latest version of ESMDI from SourceForge at http://sourceforge.net/projects/esmdi. Once you uncompress the file, you'll find esmdi-static in the first directory; this should be all you need if you're using a 32-bit machine:

    sudo cp esmdi-static /usr/local/bin/esmdi-static

    To save keystrokes, I set up a symlink:

    sudo ln -s /usr/local/bin/esmdi-static /usr/local/bin/esmdi

    If you're on a 64-bit machine or some exotic platform, you'll probably need to do some compiling. All the required libraries are included in the tarball

  2. Determine the SCSI ID of the ESI4000. You can find this on the sampler under
    'Master/Global'»'7 Disk Utilities'»'0 SCSI Setup' shown as 'ESi-4k (Local) ID'.

    The computer will sequentially assign each potential SCSI ID of the ESI4000 to /dev/sg<num>. On my system, it's /dev/sg3 through /dev/sg10

  3. Create a group for any users who will access the sampler for SMDI transfers:

    sudo groupadd -f samplers

    And add yourself to the group:

    sudo gpasswd -a <your_username> samplers
  4. Add a udev rule so that the samplers group will have access to the sampler device:

    cd /etc/udev/rules.d

    Create a file called 42-esi4000.rules and enter the following:

    KERNEL=="sg<sampler-id>", GROUP="samplers"

    <sampler-id> should be replaced with the SCSI ID of the ESI4000.

  5. Check the esmdi help for usage instructions. Doesn't provide much doc-wise, but it's pretty straighforward.

    esmdi --help