$ playmidi ifionly.mid Playmidi 2.4 Copyright (C) 1994-1997 Nathan I. Laredo, AWE32 by Takashi Iwai This is free software with ABSOLUTELY NO WARRANTY. For details please see the file COPYING. open /dev/sequencer: No such device Ummm... $ ls -l /dev/sequencer crw-rw---- 1 root audio 14, 1 Mar 14 2002 /dev/sequencer $ groups nelson adm proxy cdrom floppy audio src video
severity 191775 normal tag 191775 wontfix thanks I demand that Brian Nelson may or may not have written... [snip] [snip] to do so, I have to make sure that snd-seq-oss is unloaded, move away /etc/modutils/alsa (so that update-modules won't see it), run update-modules, recreate /dev/sequencer (I'm using devfs) then run playmidi. Presumably you're using kernel modules for your sound hardware, in which case they're either loaded while booting or on demand. If the latter, have you or dpkg done anything in /etc/modutils recently? If you have, did you remember to run update-modules? If you're using the ALSA packages, alsa-base must be configured (or /etc/alsa/alsa-base.conf must be edited) such that 'invoke-rc.d alsa restart' (or similar) will load the OSS emulation layer.
Darren Salt <linux@youmustbejoking.demon.co.uk> writes: Module Size Used by Tainted: P snd-seq-oss 28736 0 snd-seq-midi-event 3016 0 [snd-seq-oss] snd-seq 37904 2 [snd-seq-oss snd-seq-midi-event] snd-pcm-oss 39364 0 snd-mixer-oss 13816 1 [snd-pcm-oss] snd-ymfpci 43104 1 snd-pcm 59232 0 [snd-pcm-oss snd-ymfpci] snd-opl3-lib 6564 0 [snd-ymfpci] snd-hwdep 4256 0 [snd-opl3-lib] snd-timer 10920 0 [snd-seq snd-pcm snd-opl3-lib] snd-mpu401-uart 3104 0 [snd-ymfpci] snd-rawmidi 13344 0 [snd-mpu401-uart] snd-seq-device 4336 0 [snd-seq-oss snd-seq snd-opl3-lib snd-rawmidi] snd-ac97-codec 33160 0 [snd-ymfpci] snd 31308 0 [snd-seq-oss snd-seq-midi-event snd-seq snd-pcm-oss snd-mixer-oss snd-ymfpci snd-pcm snd-opl3-lib snd-hwdep snd-timer snd-mpu401-uart snd-rawmidi snd-seq-device snd-ac97-codec] That's everything I need, right? playmidi worked before on this machine, and I don't think anything has changed other than the version of playmidi.
I demand that Brian Nelson may or may not have written... [snip] [dependencies of listed modules removed] That looks right. Well... playmidi is definitely defaulting to FM (SBLive here, so I get "no such device"). Given an OPL3 chipset, -f or -4 should work; do you by any chance have a shell alias set up, specifying -a or -e?
'playmidi' worked fine when I used to run an ISA Soundblaster Pro card,
but after changing to a PCI SB CT4700, (ensoniq 1370), with alsa modules,
I too get this here bug #191775.
% playmidi Desktop/midi/Classical/m05.mid
Playmidi 2.4 Copyright (C) 1994-1997 Nathan I. Laredo, AWE32 by Takashi Iwai
This is free software with ABSOLUTELY NO WARRANTY.
For details please see the file COPYING.
playmidi: No playback device found.
% groups
alfie dialout cdrom floppy audio dip gis
% ls -l /dev/sequencer
crw-rw---- 1 root audio 14, 1 Jun 10 17:59 /dev/sequencer
%lsmod | grep snd
snd-seq-midi 3936 0 (autoclean)
snd-seq-oss 29184 1 (autoclean)
snd-seq-midi-event 3264 0 (autoclean) [snd-seq-midi snd-seq-oss]
snd-seq 36720 2 (autoclean) [snd-seq-midi snd-seq-oss snd-seq-midi-event]
snd-ens1370 8804 0 (autoclean)
snd-pcm-oss 39464 0 (autoclean)
snd-mixer-oss 13848 0 (autoclean) [snd-pcm-oss]
snd-pcm 61124 0 (autoclean) [snd-ens1370 snd-pcm-oss]
snd-timer 14532 0 (autoclean) [snd-seq snd-pcm]
snd-page-alloc 6392 0 (autoclean) [snd-ens1370 snd-pcm]
gameport 1676 0 (autoclean) [snd-ens1370]
snd-rawmidi 13504 0 (autoclean) [snd-seq-midi snd-ens1370]
snd-seq-device 4160 0 (autoclean) [snd-seq-midi snd-seq-oss snd-seq snd-rawmidi]
snd-ak4531-codec 4888 0 (autoclean) [snd-ens1370]
snd 33508 0 (autoclean) [snd-seq-midi snd-seq-oss snd-seq-midi-event snd-seq snd-ens1370 snd-pcm-oss snd-mixer-oss snd-pcm snd-timer snd-rawmidi snd-seq-device snd-ak4531-codec]
soundcore 3908 8 (autoclean) [snd]
So I tried it with 'strace', (see attached output file), and would
guess the trouble might be somewhere around here:
32 write(1, "Playmidi 2.4 Copyright (C) 1994-"..., 169) = 169
33 open("/dev/sequencer", O_WRONLY) = 3
34 ioctl(3, SNDCTL_SEQ_NRSYNTHS, 0x8054920) = 0
35 ioctl(3, SNDCTL_SEQ_NRMIDIS, 0x80539e0) = 0
36 write(2, "playmidi: No playback device fou"..., 36) = 36
Looking up the functions, 'man 2 open' says that the '3' returned
in line #33 above is a file descriptor, so that's probably OK.
Lines #34 & #35 return no errors. Perhaps the error has some
other trigger then.
(If it matters, my current hardware can still play sounds with other
programs like 'xmms', 'timidity', etc.)
Hope this helps...
I demand that A Costa may or may not have written... [snip] [snip] [snip; all relevant modules depend on snd] According to a search which led me to <URL:http://rosegarden.sourceforge.net/tutorial/using-rosegarden/en/chapter2.html> you need to load snd_virmidi and use a soft synth (timidity should work). The Ensoniq 1370- or 1371-based cards apparently *don't* have on-board hardware synths. $ cat /proc/asound/seq/oss I expect that to list no synth devices and no MIDI devices (without snd_virmidi). If it shows otherwise, we have a problem. [snip] That doesn't matter, although if the above command shows that there *are* synth devices or MIDI devices and pmidi works...
alsa sequencer is supported in the 2.9 version in the git repository on sourceforge. A 3.0 release of playmidi is coming soon after nearly 15 years without a release.