Lf259, alkalmazások alsa játszani midi fájlokat

Lefordították orosz:
Kirill Pukhlyakov

Alsa használni játszani midi fájlokat.

Midi - egy zenei fájl formátum, amely nem tartalmazza a tényleges hangokat, de egy olyan eljárást ismertet hangvisszaadás. Ezt össze lehet hasonlítani a kotta jelölést, ahol minden hang egy szimbolikus ábrázolása hang. Midi - fájlok mérete kicsi, összehasonlítva például wav - fájlokat.

Átalakítani a midi fájlt a hang szüksége midi szintetizátor. Szintetizátor lehet mind eszköz szinten és a szoftver szintjén - valójában ez egy sor hangok - bármely eszköz (pl zongora) lejátszására. Ezek a készletek a hangok jobban ismert, mint „soundfont”.

Miután elolvasta a felülvizsgálat, akkor megtanulják, hogyan kell használni ALSA (Advanced Linux Sound Architecture), mint midi szintetizátor.
_________________ _________________ _________________

Kezdeni.

Csak néhány évvel ezelőtt, mint például a hangkártya „Gravis ultrahang” vagy „SoundBlaster Gold” eladott bármely számítógépen tárolni. midi szintetizátor hajtották végre ezeket a kártyákat. De sajnos jelen pillanatban ezek a kártyák nem vásárolni, hanem akkor is, ha kap őket, ahol - valaha is megtalálják - nem valószínű, hogy illeszkedjen az új számítógépre, mert munkájuk van szüksége ISA busz, míg a modern használata PCI vagy hang chip lehet fedélzetén az alaplap. De nem valószínű, ezek a chipek eladni midi szintetizátor. Nézd meg a listát a támogatott hangkártyák az alsa. Tény, hogy ma az egyetlen hangkártya, felismerve midi szintetizátor, amely lehet vásárolni egy számítógépen tárolni - a Soundblaster live.

Ha nincs ilyen kártya - akkor szoftverrel emulált, mit fogok mondani.

Amire szükségünk

Jelenleg ALSA projekt átmenet. Stabil verzió - 0.5, 0.9 és az új - fejlesztés alatt áll. Ha a használni kívánt midi - alkalmazások alsa - akkor jobb kihasználását 0.5 verzió, mert most még talán nem alkalmazás 0.9-es verziótól, valamint a változatok közötti kapcsolódási pontok 0,5 és 0,9 kompatibilis (megjegyzés: utalva arra a problémára, 0.9 verzió, mármint csak midi, wav, vagy - fájlok vagy PCM ilyen problémák nem).
Mert 0.5 verzió szerint a következő csomagokat.
  • alsa-driver-0.5.12a.tar.bz2
  • alsa-lib-0.5.10b.tar.bz2
  • alsa-utils-0.5.10.tar.bz2
Arról, hogy hogyan kell összeállítani alsa megtalálható alsa howto (lásd ref.). Általában neobhdimo futtassa a következő parancsot.

tar jxvf alsa-driver-0.5.12a.tar.bz2
cd alsa-driver-0.5.12a
./ Configure --with- sequencer = yes --with- oss = yes --with- isapnp = nincs
csinál
make install
./ snddevices

a vezető és az „./configure;make;make telepíteni” a többit.

A telepítés után, akkor képes betölteni modulokat a kernel. Mert soundblaster él (= emu10k1 chip) van szükség erre.

modprobe snd-card-emu10k1
modprobe snd-szinti-emu10k1
modprobe snd-seq-midi
modprobe snd-pcm-oss
modprobe SND-keverő-oss
modprobe snd-seq-oss

Más kártyák csak cserélje az első két sor a modulok a kártya (pl snd-card-via686a épített kártyák alapján a chipset révén 686). Mandrake és SUSE támogatási alsa és akkor is felismeri a kártyát, és konfigurálja alkalmazásai forgalmazásával (HardDrake és yast2). Ha nem tudja a lapkakészlet a számítógép, akkor próbálja a parancsot „lspci -v” (lspci pciutils a csomag tartalmazza).

Most van itt az ideje, hogy nézd meg, hogyan működik a hangod. A program futtatása
alsamixer
és nyomja meg az „m” a LEHANGOLÁS Master és PCM hangerő, majd a nyilak szintjének megváltoztatásához. Esc billentyűvel alsamixer ha minden csekket.

A beállítások mentéséhez a parancs /etc/asound.conf

és halljuk a hangot. Ha nincs hang - keresse a fájlokat a / proc / asound / devices és a / proc / asound / oss-eszközöket. Ott kell lennie „mixer” és a „digital audio” (az én fájlok).

Ez egy próba volt, a PCM OSS emuláció és a hang. Akkor elmagyarázom, hogyan is hozzá /etc/modules.conf állományhoz, hogy mindez automatikusan történik, de most meg kell, hogy a munka midi.

Jó prilozheie tesztelésére - pmidi (Lásd: linkek.). következik
pmidi -l
Látni fogja a következő képernyő.

Port ügyfél neve Port neve
64: 0 0 Külső MIDI 0-0
65: 0 Emu10k1 wavetable Emu10k1 Port 0
65: 1 Emu10k1 wavetable Emu10k1 Port 1
65: 2 Emu10k1 wavetable Emu10k1 Port 2
65: 3 Emu10k1 wavetable Emu10k1 Port 3

és hallja a hangját a midi fájlt. Cool!

Használjuk a TiMidity Softovaya szintetizátor

Most felveheti a különböző grafikus interfészek félénkség, de az első dolog, amire szükségünk van - az a lehetőség „--enable-alsaseq”, különösen azért, mert ez nem akadályoz meg minket, hogy további lehetőségeket, különös tekintettel interfészek.

/ Konfigurálása --enable-ncurses --enable-xaw --enable-spektrogramot --enable-xaw = dinamikus --enable-audio = oss, ALSA --enable-alsaseq prefix = / usr / local / timidity-2,11 0,3
csinál
make install

Ezek a módosítások azt telepíteni félénkségének /usr/local/timidity-2.11.3/bin, miközben érintetlenül a meglévő telepítést. Mi már újra telepíteni a félénkség mert az a tény, hogy eddig még nem találkoztam egyetlen Linux disztribúció, amelyben alsaseq felület lenne az alapértelmezett beállítás.
A timiditynek van szüksége Soundfont. Most ezek az úgynevezett instrumentális fájlokat. Jó és legátfogóbb eszközkészletet fájlok elég nagy (körülbelül 10 MB). A legegyszerűbb módja, hogy őket - végül az timidity ++ a terjesztési CD és másolja a fájlokat onnan (pl timidity ++ - 2.11.3-1.i386.rpm letöltés RedHat 7.3). Másolni a fájlokat a / usr / share / timidity / eszközök /usr/local/timidity-2.11.3/share/timidity/instruments követni.

cd / usr
találni share / timidity -print | cpio -dump /usr/local/timidity-2.11.3

Most már készen állunk, hogy teszteljék a félénkség root:

/usr/local/timidity-2.11.3/bin/timidity -Ia -B2,8 -Os -EFreverb = 0
TiMidity kezdődő ALSA szerver módban
meghatározott SCHED_FIFO
Nyitvatartási sorrendvezérlő port: 128: 0 128: 1

majd pmidi -l:

Port ügyfél neve Port neve
128: 0 Ügyfél-128 TiMidity port 0
128: 1 Ügyfél-128 TiMidity port 1

Ops, most már 2 port TiMidity szintetizátor.
most

és hallgatni midi fájlt.

/etc/modules.conf

Ha van egy hangkártya soundblaster élő, akkor ezeket a sorokat /etc/modules.conf állományhoz automatikusan konfigurálja és terhelési modult.

alias char-major-116 SND
alias char-major-14 soundcore
alias snd-card-0 snd-card-emu10k1
alias sound-slot-0 snd-card-0
alias sound-szolgáltatás-0-0 snd-mixer-oss
alias sound-szolgáltatás-0-1 snd-seq-oss
alias sound-szolgáltatás-0-3 snd-pcm-oss
alias sound-szolgáltatás-0-8 snd-seq-oss
alias sound-szolgáltatás 0-12 snd-pcm-oss
alias midi snd-szinti-emu10k1
Az alábbi snd-seq-oss snd-szinti-emu10k1
telepítés utáni snd-szinti-emu10k1 / bin / sfxload /etc/midi/8MBGMSFX.SF2; alsactl helyreállítása
# Megjegyzés törlése menteni hangerő beállításait kikapcsolás:
# Pre-eltávolítás snd-szinti-emu10k1 alsactl áruház

Kártya nélkül midi szintetizátor, pl épül via686.

alias char-major-116 SND
alias char-major-14 soundcore
alias snd-card-0 snd-card-via686a
alias sound-slot-0 snd-card-0
alias sound-szolgáltatás-0-0 snd-mixer-oss
alias sound-szolgáltatás-0-3 snd-pcm-oss
alias sound-szolgáltatás 0-12 snd-pcm-oss
# Visszaállítása csaptelep:
telepítés utáni snd-card-via686a alsactl helyreállítása
# Megjegyzés törlése menteni hangerő beállításait kikapcsolás:
# Pre-eltávolítás snd-szinti-emu10k1 alsactl áruház

Az üzembe helyezés timidiy Azt javaslom, hogy vegye fel a következő sort /etc/init.d/alsasound fájlt (a script telepített, de a járművezető nem aktiválódnak). Aktiválásához használja a chkconfig parancs

echo „kezdve a félénkség”
timidiy = / usr / local / timidity-2.11.3 / bin / timidity # ne felejtsük el a "" a következő sort:
$ Timidity -Ia -B2,8 -Os -EFreverb = 0> / dev / null

Az általunk használt alsa és midi

Vannak olyan alkalmazások, mint például timidiy (félénkség -ig indít gtk felület) vagy kmidi (nem tévesztendő össze a kmid), aki épített egy soft-szintetizátor. Ebben az esetben nem kell a midi szintetizátor vagy eszközszintű vagy a rendszermag szintjén. De általában célszerű egy közös midi api, mint külön-külön az egyes alkalmazásokhoz.

Jelenleg a nagy változások zajlanak a ALSA. Mint korábban említettük - version 0.9 nem működik sok alkalmazás, de 0.5 verzió szintén nem mentes a problémáktól. Különösen nem fut emulációs OSS sequencer (/ dev / sequencer), normál működés csak akkor lehetséges, a régi hangkártya áhítat, amelyek most már elég nehéz vásárolni. Talán valami változni fog a kiadás 0.9-es verziótól. Ez a cikk hasznos lesz a jövőben - a 0.9-es verziótól, akkor kell figyelni, hogy a nevét modulok - lehetnek sokfélék, és nem olyan, mint a 0.5 verzió. De az alapötlet ugyanaz.

Talkback