Vedle možnosti přehrávání PCM dat umožňuje mnoho zvukových karet přehrávat také
MIDI. Implementaci pro tuto funkci představuje ALSA MIDI sesekvencér. Nainstalované musíte mít balíčky
pmidi, aseqview,
vkeybd, awesfx,
snd_sf2 a kalsatools.
Mnoho zvukových karet používá externí MIDI port pro připojení MIDI zařízení, jako jsou různé klávesové nástroje, syntetizéry apod. Pokud ALSA podporuje MIDI port vaší zvukové karty, můžete pomocí tohoto programu vytvářet a přehrávat MIDI soubory. Základní informace o tom, zda vaše zvuková karta podporuje MIDI, získáte tak, že v ovládacím centru KDE zvolíte položku ++. Zde můžete vybrat MIDI zařízení, které bude použito pro přehrávání MIDI souborů. Na příkazové řádce si můžete nechat vypsat MIDI zařízení, která máte právě k dispozici spolu s interními čísly ALSA portů pomocí příkazu pmidi -l. Např. u karty Soundblaster Live! vypadá seznam zhruba následovně:H
Port Client name Port name 72:0 External MIDI 0 MIDI 0-0 73:0 Emu10k1 WaveTable Emu10k1 Port 0 73:1 Emu10k1 WaveTable Emu10k1 Port 1 73:2 Emu10k1 WaveTable Emu10k1 Port 2 73:3 Emu10k1 WaveTable Emu10k1 Port 3
V prvním sloupci jsou uvedeny interní čísla portů, prostřednictvím kterých přistupuje ALSA ovladač k zařízení. Ostatní sloupce slouží pro identifikaci zařízení. Kromě již zmíněného externího MIDI portu se v seznamu objevuje také několik wavetable portů. Příkazem pmidi -p 73:0 mysong.mid si můžete nechat např. přehrát MIDI soubor na jednom z uvedených portů. Mnoho zvukových karet (např. Soundblaster AWE a Live!) mají vlastní interní wavetable syntetizér. Ten převádí MIDI na slyšitelné zvuky.
Tato MIDI data je možné poslat wavetable syntetizéru prostřednictvím externích MIDI kláves nebo interním programem (MIDI přehrávač nebo sekvencer). U zvukových karet AWE a Live! je třeba inicializovat wavetable syntetizér pomocí tzv. soundfontu předtím, než uslyšíte zvukový výstup. Pro vlastníky těchto karet je inicializace popsána v následujícím odstavci.
![]() | Důležité |
|---|---|
Při ukončení MIDI přehrávače během přehrávání může dojít k tomu, že přehrávání dále pokračuje. Pokud dojde k této situaci, spusťte skript all_notes_off. | |
Příkaz awesfx potřebný pro zavedení zvukových fontů pro karty Soundblaster AWE, Soundblaster Audigy a Live! obsahuje balíček awesfx. Zvukové fonty najdete na CD s ovladači karty. Pokud zvukové fonty nainstalujete z CD pomocí prgoramu YaST, startovací skript systému ALSA automaticky zavede zvukové fonty pro WaveTable syntézu. Skript umí v současnosti zavést fonty pouze pro jednu kartu, ale samotný systém ALSA zvládne až osm karet.
Zvukové fonty lze zavést příkazem asfxload -D
<n> /usr/share/sfbank/creative/8MBGMSFX.SF2.
Kde n nahraďte číslem příslušné zvukové karty (0, 1 atd.). Nejde o čísla, pod kterými jsou karty nastaveny v systému, ale čísla pořadí nahrávání zvukových zvukových fontů.
Zavést můžete také jeden ze zvukových fontů nainstalovaných v adresáři
/usr/share/sounds/sf2.Zvukový font
Vintage_Dreams_Waves_v2.sf2 od Iana Wilsona obsahuje
128 analogových hlasů a osm skupin bubnů. Zvukový font ROM gu11-rom.sf2 od Samuela Collinse je vhodný pouze pro SB AWE karty. Pro tyto karty obsahuje rozsáhlou general MIDI banku. Licenční informace a dokumentaci zvukových fontů najdete v souboru /usr/share/doc/packages/snd_sf2. Další fonty lze stáhnout ze stránky http://www.hammersound.net.
Pokud nemáte externí MIDI klávesy připojené ke zvukové kartě, můžete použít virtuální klávesy vkeybd. Nezapomeňte zjistit čísla interních portů příkazem pmidi -l. Program spustíte z příkazové řádky příkazem vkeybd --addr 73:0 &. Císlo portu nastavte podle vlastního systému. Zadejte první WaveTable port ze seznamu. Po připojení externího zvukového generátoru, můžete dodtečně zadat číslo portu externího MIDI portu.
vkeybd celou řadu funkcí. Například příkazem vkeybd --addr 73:0 --octave 5
& zvýšíte počet zobrazených oktáv na pět. Přehled všech volbe příkazové řádky získáte zadáním
vkeybd --help nebo v manuálové stránce
vkeybd(1).
Dostupné nástroje v preset seznamu můžete nastavit volbou --preset. Jméno nástroje ze zvukového fontu získáte příkazem sftovkb. Např. přejděte do adresáře cd /usr/share/sounds/sf2 a zadejte příkaz sftovkb Vintage_Dreams_Waves_v2.sf2 >~/vintage.vkb, kterým uložíte jména nástrojů do souboru vintage.vkb ve svém domovském adresáři. Rozhraní vkeybd nastavíte v nabídce .
Mapování kláves je uloženo v souboru
~/.vkeybdrc. V tomto souboru můžete provádět také další upřesnění nastavení.Před vlastním nastavením zjistěte události klávesnice pomocí programu xev.
ALSA poskytuje pro spojování portů velmi přátelské prostředí. Zvukové karty a MIDI programy (s podporou ALSA sekvencéru) mají jeden nebé více MIDI portů určených k vzájemné komunikaci. K těmto portům se můžete připojit např, programem z prostředí KDE kaconnect nebo z příkazové řádky programem aconnect. Při spuštění program kaconnect zobrazí tabulku portů. Spojení si můžete vyzkoušet s programy vkeybd a aseqview. Ke spojení mezi porty je potřeba zadat po jménu programu adresu portu. Například první program má číslo portu 128:0 a druhý 129:0. Příslušná čísla portů ve vašem systému najdete v tabulce programu kaconnect.
Při spuštění vkeybd bez parametru
--addr můžete ručně spojit porty programu a WaveTable (nebo externího MIDI). Nejdřív zvolte příslušný port a klikněte na . V příkazové řádce použijte aconnect a zadejte aconnect 128:0 73:0 (porty upravte podle svého systému). Tím navážete spojení mezi odesílacím portem 128:0 a přijímacím portem 73:0.
Nyní můžete mezi MIDI portem kláves a MIDI portem prohlížeče ALSA sekvencéru provést spojení. Všechny změny nastavení kláves se okamžitě projeví v aseqview.
Seznam všech dostupných portů pro odesílní nebo příjem a jejich stav připojení zjistíte příkazem aconnect -il popř. aconnect
-ol. Spojení zahájené příkazem
aconnect ukončíte tímto příkazem s volbou -dnapř. aconnect -d 128:0 129:0. všechna spojení ukončíte příkazem aconnect -x. Informace o dalších volbách najdete v man aconnect.
![]() | Tip |
|---|---|
aseqnet lze použít pro MIDI spojení v síti. | |
Program QMidiRoute umožňuje flexibilní směrování MIDI. MIDI události zachycené na MIDI portu jsou prezentovány jako jedna nebo více map, které pak lze zvolit a změnit na jinou událost. Výsledkem je pak možnost spojení vstpu několika kláves připojených k různým MIDI kanálům. QMidiRoute umožňuje také vypsání seznamu všech událostí na vstupním portu.