[PlanetCCRMA] Experiences with FC2, Audigy2ZS, and Keystation Pro 88 (advice welcome!)

David O'Toole dto at irrationalgames.com
Tue Dec 7 18:30:02 PST 2004


Hello everyone. This is my first post to the list so I'll give a bit
of background on my growing setup, and the challenges that have come
up in my transition to making music with Pd. It'll be part blog, part
tech-support request, and part product review...

I'm using Planet CCRMA on Fedora Core 2. The uname -a command prints:

Linux home 2.6.7-1.437.1.ll.rhfc2.ccrma #1 Thu Jun 17 10:45:42 PDT 2004 i686 i686 i386 GNU/Linux

This was installed on an HP Media Center 854n PC. The included audio
card was replaced with a SB Audigy 2 ZS Platinum Pro (USD $250) before
installation; FC2 configured the Audigy for ALSA without any trouble.

For those who don't know about it: this card connects your PC to a
nice big external I/O box with guitar/microphone/line-in/digital
plugs. The box can be positioned away from the interference of your
PC. It also includes optical I/O, MIDI ports (can't get these to work
yet, that's another post) and FireWire. The nifty infrared remote
control supposedly works under linux using the LIRC library but I
haven't tried this yet.

The audio works fine as long as I use JACK; I get a nice clear signal
and can record into Pure Data without problems. I have weird issues
when using the native ALSA output of PD, periodic breakdowns in the
signal. Perhaps I'll address this at a later time. . . 

This week I purchased an M-Audio Keystation Pro 88 MIDI controller.
(see http://www.m-audio.com/products/en_us/KeystationPro88-main.html)
It's actually quite a nice machine. I don't like the feel of most MIDI
controllers, but these are hammer-action keys and offer a fair amount
of resistance to the fingers. I'd read some positive reviews of the
Keystation Pro 88 and had been intrigued by the wealth of assignable
controls it offered (32 knobs, 9 faders, transport controls and pitch
bend / modulation, and tons of buttons for use as drum pads, event
triggers, or value toggles.)

The thing seemed tailor-made for an environment like Pd, and once I'd
felt the keys I bought it on the spot for USD $500. I also got an
M-Audio sustain pedal ($30) and a 15-foot USB2 cable to connect it to
the linuxbox with ($30). The USB cable has brilliant blue LED's in
each end of the cable, which light up whenever the cable is plugged
into a USB socket. It matches the blue LED's on the Keystation itself,
and those on HP's Media Center pc's (In a dimly-lit room, the full
setup looks pretty trippy.)

As a side note: the Keystation is huge and extremely heavy. The case
is cold metal instead of plastic, and it's bolted together visibly in
the back. The overall impression is of a solidly built, heavy-duty
piece of hardware.

I've been able to get it working with Pd reasonably well, but the
process isn't reliable. Perhaps someone will know what's wrong with
my setup. 

Sometimes I can do the following:

1. Boot up with the keyboard connected via USB, but not powered on
2. Start watching /proc/asound/cards and /proc/asound/devices
3. Turn on the keyboard's power switch
4. Watch "Keystation Pro 88" pop up instantly as Alsa Card 1 in /proc/asound/cards
5. Watch the Keystation's "ctl" and "raw midi" recognized in /proc/asound/devices
6. Create a snd-virmidi device for Pd to read from
7. Use aconnect to route the keyboard's MIDI to virmidi
8. Open Pd and use the keyboard to control Pd

It's quite exciting. All the knobs work, and you can tie them into any
control onscreen! Here is the output of my watch command, while the
keyboard is working with Pd:

-----------------------------------------------------------------------------------------
Every 2s: cat /proc/asound/cards /proc/asound/devices; aconnect -lio 
 
0 [Audigy2        ]: Audigy2 - Sound Blaster Audigy2
                     Sound Blaster Audigy2 (rev.4) at 0xc000, irq 5
1 [K88            ]: USB-Audio - Keystation Pro 88
                     Evolution Electronics Ltd. Keystation Pro 88 at usb-0000:00:1d.2-1, full
 speed
2 [VirMIDI        ]: VirMIDI - VirMIDI
                     Virtual MIDI Card 1
  0: [0- 0]: ctl
  4: [0- 0]: hardware dependent
  9: [0- 1]: raw midi
  8: [0- 0]: raw midi
 19: [0- 3]: digital audio playback
 26: [0- 2]: digital audio capture
 25: [0- 1]: digital audio capture
 16: [0- 0]: digital audio playback
 24: [0- 0]: digital audio capture
  1:       : sequencer
  6: [0- 2]: hardware dependent
 10: [0- 2]: raw midi
 11: [0- 3]: raw midi
 33:       : timer
 32: [1- 0]: ctl
 40: [1- 0]: raw midi
 64: [2- 0]: ctl
 75: [2- 3]: raw midi
 74: [2- 2]: raw midi
 73: [2- 1]: raw midi
 72: [2- 0]: raw midi
client 0: 'System' [type=kernel]
    0 'Timer           '
    1 'Announce        '
        Connecting To: 63:0
client 64: 'Audigy MPU-401 (UART) - Rawmidi 0' [type=kernel]
    0 'Audigy MPU-401 (UART)'
   32 'Audigy MPU-401 #2'
client 65: 'Emu10k1 WaveTable' [type=kernel]
    0 'Emu10k1 Port 0  '
    1 'Emu10k1 Port 1  '
    2 'Emu10k1 Port 2  '
    3 'Emu10k1 Port 3  '
client 72: 'Keystation Pro 88 - Rawmidi 1' [type=kernel]
    0 'Keystation Pro 88 MIDI 1'
        Connecting To: 80:0
    1 'Keystation Pro 88 MIDI 2'
client 80: 'Virtual Raw MIDI 2-0' [type=kernel]
    0 'VirMIDI 2-0     '
        Connected From: 72:0
client 81: 'Virtual Raw MIDI 2-1' [type=kernel]
    0 'VirMIDI 2-1     '
client 82: 'Virtual Raw MIDI 2-2' [type=kernel]
    0 'VirMIDI 2-2     '
client 83: 'Virtual Raw MIDI 2-3' [type=kernel]
 
-----------------------------------------------------------------------------------------

But it doesn't always work; sometimes the keyboard is recognized, but
/proc/asound/devices only lists the "ctl" port and not the "raw
midi". That stops the whole thing from working, but no amount of
fiddling (rmmod/modprobe, turning the keyboard off and then on again)
will get the keyboard to be recognized again until you reboot. 

Furthermore, any process that touches USB after that will hang, and
you can't kill -9 them even as root! Their status in the process
listing is "D" which means "uninterruptible I/O".

Other times, you turn on the keyboard and nothing at all happens. 

I've also attached system logs from today, when the keyboard shows up
in /proc/asound/cards but the "raw midi" doesn't show up in
/proc/asound/devices...

So, this thing definitely can work with Pd, I just can't set it up
reliably yet. Anyone else had similar issues? 

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: usbmidi-log.txt
URL: <https://cm-mail.stanford.edu/pipermail/planetccrma/attachments/20041207/ba961cc1/attachment.txt>
-------------- next part --------------


-- 
David O'Toole
Irrational Games
617.269.0424 x335
dto at irrationalgames.com


More information about the PlanetCCRMA mailing list