AlsaMidi Overview

De Wikijoan
Dreceres ràpides: navegació, cerca

Aquest article s'ha actualitzat i testejat amb el Edirol UA25-EX

Make sure that ALSA found your soundcard

$ cat /proc/asound/cards

 0 [ICH6           ]: ICH4 - Intel ICH6
                      Intel ICH6 with STAC9752,53 at irq 16
 1 [UA25EX         ]: USB-Audio - UA-25EX
                      EDIROL UA-25EX at usb-0000:00:1d.2-1, full speed

There is a difference between hardware MIDI ports and software MIDI ports (virtual ports), but in practice every well-written ALSA app should work with both.

$ amidi -l

Dir Device    Name
IO  hw:1,0,0  UA-25EX MIDI 1

gives you a listing of the available hardware MIDI ports on your system.


The command aconnect, which is also used to connect software MIDI ports, can give you a listing of all MIDI ports (both software and hardware MIDI ports):

$ aconnect  -i -o

-i input: writable ports -o output: readable ports </pre> En el meu portàtil, amb la UA-25EX connectada:

cliente 0: 'System' [tipo=kernel]
    0 'Timer           '
    1 'Announce        '
cliente 14: 'Midi Through' [tipo=kernel]
    0 'Midi Through Port-0'
cliente 20: 'UA-25EX' [tipo=kernel]
    0 'UA-25EX MIDI 1  '

De moment, fixem-nos que tots els ports són hardware (després engegaré software que em donarà peu a tenir ports software).

Per distingir millor entre els ports on puc escriure i els ports on puc llegir:

$ aconnect  -i (ports on puc escriure)

cliente 0: 'System' [tipo=kernel]
    0 'Timer           '
    1 'Announce        '
cliente 14: 'Midi Through' [tipo=kernel]
    0 'Midi Through Port-0'
cliente 20: 'UA-25EX' [tipo=kernel]
    0 'UA-25EX MIDI 1  '
$ aconnect  -o (ports on puc llegir)
cliente 14: 'Midi Through' [tipo=kernel]
    0 'Midi Through Port-0'
cliente 20: 'UA-25EX' [tipo=kernel]
    0 'UA-25EX MIDI 1  '

En l'exemple http://alsa.opensrc.org/index.php/AlsaMidiOverview es mostra dos ports software, un d'entrada i l'altre de sortida, que són un virtual keyboard (vkeybd), i un software de síntesi (el fluidsynth). Jo miraré d'instal.lar (si no els tinc) i d'executar aquests dos softwares per poder practicar.

Fluidsynth is a software synthesizer that can load soundfonts. vkeybd is a virtual keyboard that can generate MIDI events. We will connect the two now.

$ aconnect 130:0 129:0

La idea és, doncs, que la sortida dels events midi els puc redirigir al Fluidsynth, que el puc carregar amb soundfonts, i d'aquesta manera la sortida MIDI es pot escoltar per la sortida d'audio de la targeta de so i amb els sons que jo decideixo.

After this I can just play around with the keys on the vkeybd and fluidsynth plays the appropriate notes.

Of course, I can also connect vkeybd to a hardware MIDI port:

$ aconnect 130:0 64:0

-> i ara escolto pel dispositiu que tinc connectat a la sortida MIDI. Per ex, el sintetitzador Casio CTK-731

Now, every key press goes to fluidsynth (we haven't disconnected it yet) AND to the hardware MIDI output port on my soundcard. That's one of the nice things about ALSA: you can connect a MIDI source to any number of MIDI destinations. And you can connect any number of MIDI sources to a MIDI destination. Very nifty.

Using aconnect can be tedious. That's why I usually use a graphical patchbay to connect MIDI stuff. See AlsaMidiPatchbays.


Introduction to Sound Programming with ALSA: http://www.linuxjournal.com/article/6735


creat per Joan Quintana Compte, octubre 2008

Eines de l'usuari
Espais de noms
Variants
Accions
Navegació
Institut Jaume Balmes
Màquines recreatives
CNC
Informàtica musical
joanillo.org Planet
Eines