alsa.midi.info 110707 contact gnubien at #alsa on freenode.net special thanks to thingol79 for providing this info. use the quick start or first step info as needed; quick start: as sudo or root run: modprobe snd_virmidi if no errors from the modprobe command then as user run this command: aplaymidi -l choose 1 input and 1 output port for use then as user run this command: aconnect :0 :0 if no errors then as user run: fluidsnyth FluidR3GM.SF2 if no errors then in another terminal in the directory where you have your .mid files as user run this command: aplaymidi -p 128:0 if no errors then enjoy the sounds. if there are errors or no sound read the first step section first step: test to see if you have a midi capable soundcard; lsmod |grep seq #see if seq modules are already loaded or modprobe snd-seq #see if snd-seq module loads ok; then run this command as sudo or root: modprobe snd_virmidi cat /proc/asound/oss/sndstat example output: Synth devices: NOT ENABLED IN CONFIG Midi devices:1: Virtual Raw MIDI next: run this command: amidi -l example amidi -l output: Dir Device Name IO hw:1,0 Virtual Raw MIDI (16 subdevices) IO hw:1,1 Virtual Raw MIDI (16 subdevices) IO hw:1,2 Virtual Raw MIDI (16 subdevices) IO hw:1,3 Virtual Raw MIDI (16 subdevices) if the above commands showed promising results run: aconnect -i example output: client 0: 'System' [type=kernel] 0 'Timer ' 1 'Announce ' client 20: 'Virtual Raw MIDI 1-0' [type=kernel] 0 'VirMIDI 1-0 ' client 21: 'Virtual Raw MIDI 1-1' [type=kernel] 0 'VirMIDI 1-1 ' client 22: 'Virtual Raw MIDI 1-2' [type=kernel] 0 'VirMIDI 1-2 ' client 23: 'Virtual Raw MIDI 1-3' [type=kernel] 0 'VirMIDI 1-3 ' run: aconnect -o example output: client 20: 'Virtual Raw MIDI 1-0' [type=kernel] 0 'VirMIDI 1-0 ' client 21: 'Virtual Raw MIDI 1-1' [type=kernel] 0 'VirMIDI 1-1 ' client 22: 'Virtual Raw MIDI 1-2' [type=kernel] 0 'VirMIDI 1-2 ' client 23: 'Virtual Raw MIDI 1-3' [type=kernel] 0 'VirMIDI 1-3 ' run this command: aplaymidi -l example output: Port Client name Port name 20:0 Virtual Raw MIDI 1-0 VirMIDI 1-0 21:0 Virtual Raw MIDI 1-1 VirMIDI 1-1 22:0 Virtual Raw MIDI 1-2 VirMIDI 1-2 23:0 Virtual Raw MIDI 1-3 VirMIDI 1-3 Next choose the input and output ports you want aconnect to use; from the above example outputs i choose input port 22 and output port 23 and used this command: aconnect 22:0 23:0 run: aconnect input-port-number:number output-port-number:number if no errors from that aconnect command then Next you can connect some software synth (eg fluidsynth) to one of those virutal ports your soundcard may need to load soundfonts for midi to work: emu10k1 can read soundfont samples from the main memory on-the-fly using bus master DMA emu10k1 loads soundfonts using asfxload from the awesfx package: see references X-Fi has some onboard RAM, but I'm not sure how exactly it is used: currently just fyi you can download some soundfonts here: http://hammersound.net/cgi-bin/soundlink.pl check "Collections" and download some GM compatible one, like Fluid - Release 3 [68.5MB] or whatever soundfonts from the above site are compressed so you need to uncompress them; http://melodymachine.com/ might have some info on uncompressing the soundfonts; you can download the uncompressed soundfonts: http://melodymachine.com/ you can use timidity/fluidsynth to both load the soundfonts and play midi files run: fluidsynth and type "load FluidR3 GM.SF2" to fluidsynth's command line if you get an error run this command: mv FluidR3 GM.SF2 FluidR3GM.SF2 then check "aconnect -o" output, something like client 128: 'FLUID Synth (20766)' [type=user] 0 'Synth input port (20766:0)' should be there. then run: aplaymidi -p 128:0 free .mid file download site: http://www.mididb.com/ Tip: if you run fluidsynth without using aconnect to input and output ports then fluidsynth will use alot more cpu % than with the aconnect command references: http://alsa.opensrc.org/MIDI http://alsa.opensrc.org/PlayingMIDIFiles http://alsa.opensrc.org/USBMidiDevices http://www.tldp.org/HOWTO/MIDI-HOWTO-10.html http://WWW.sabi.co.UK/Notes/linuxSoundALSA.html http://www.alsa-project.org/~iwai/awedrv.html http://twiki.org/cgi-bin/view/Wikilearn/LA_SoundFonts http://alsa.opensrc.org/index.php/SoundfontHandling http://alsa.opensrc.org/index.php/PlayingMIDIFiles http://alsa.opensrc.org/index.php/Sfxload http://alsa.opensrc.org/index.php/Asfxload http://www.alsa-project.org/~iwai/alsa.html http://wiki.archlinux.org/index.php/USB_Midi_Keyboards http://wiki.archlinux.org/index.php/SB_Live!_Midi