Grafika, multimédia, szórakozás

Hangstúdió – akár konzolon is

A dobozos megoldás túl drága? Nem elég rugalmas? Nem elég érdekes? Miért ne használhatnánk Linuxot hangstúdiónkban?

egyen akár metál, jazz, a technikák és programok mûködnek barokk vagy bármi más, egyre MacOSX-es CoreAudio alatt is. jellemzõbb, hogy a zeneszer- Mindezt csak azok kedvéért említem, zõkL és az elõadók egyben hangmér- akik letértek a megvilágosodáshoz nöki, produceri és terjesztõi munkát vezetõ útról (csak viccelek). is ellátnak. Az 1. ábra az adatáramlást mutatja A linuxos zenei alkalmazások minõsé- a különbözõ részek között. ge és képességei már most is nagyon jók és egyre fejlõdnek. Az alsó és felsõ Felszerelés kategóriás hangeszközök támogatott- A cikk példáihoz bármilyen hangkár- sága is egyre jobb az utóbbi idõkben. tya megfelel. Még a linuxos laptopom Akik értékelik a nyílt forráskód és integrált Intel i8x0 hangkártyájával a rugalmasságát, azoknak is egész elfogadható felvételeket készí- számára lényegtelen hogy ezen a té- tettem. Természetesen az alsó és a kö- ren domináns lesz-e. Mindenesetre zép illetve felsõkategóriás eszközök a Linux is alkalmas jó minõségû között érezhetõ a különbség. felvételek készítésére. Szükségünk van egy Linux disztribú- A cikkben szó esik arról, hogyan cióra is. Ha gondot okoz a disztribúci- 1. ábra Logikai adatáramlás készíthetünk egyszerûen többsávos ónkhoz a JACK és az beszer- felvételeket. A linuxos hagyomá- zése, próbáljuk ki az AGNULA-t. nyoknak megfelelõen számos apró Persze a legtöbb mai disztribúció Szükséges ismeretek programot fogok bemutatni, me- tartalmazza ezeket a programokat. Nem feltételezek komoly tudást, lyek egy-egy részfeladat megoldását Keverõ használata ajánlott. Egy olcsó azonban az alábbiakra szükség lesz: végzik el. Ennek végeredményeként keverõ rugalmasabbá teszi a stúdión- egy digitális hangfeldolgozó környe- kat és talán a minõség is javul. • Linux, beállított és kipróbált zetet fogunk kapni. Az eszközöket Valószínûleg szükség lesz egy mikro- hangkártyával. a cikkben leírtak szerint használva fon elõerõsítõre vagy egy impedancia minimálisra csökkenthetõ a hiba- illesztõre is. • Tudjon az olvasó forráskódot lehetõség. Érdemes a linuxos gépbe dugni a fej- letölteni és lefordítani, illetve Az Ecasound-ot és JACK-et mutatom hallgatót (2. ábra). A legtöbb keverõ az esetleges függõségeket be, de a Hydrogen dobgéprõl is esik persze rendelkezik olyan bemenettel feloldani. szó, igaz csak nagy vonalakban. is, ahova a hangkártya kimenetét csat- Semmilyen ALSA vagy OSS specifikus lakoztathatjuk. Ezáltal lehetõvé válik • Bármilyen zajkeltõ eszköz isme- dolgot nem használunk, így bármelyi- feldolgozás elõtt és után belehallgatni. rete (például gitár, cselló, macska, ket használhatjuk. Egyébként ezek Ez a megoldás is megfelelõ. vagy bármi más).

65 Grafika, multimédia, szórakozás

Ütõs hangszer esetén tüske je- lentkezik a felvételben. Jelszint ellenõrzés közben tehát minden olyan technikát érdemes kipróbálni, amit késõbb használni szeretnénk. Késõbb így már nem érhetnek meglepetések. A kilépéshez hasz- náljuk a Ctrl-C-t. Valami ilyesmi kimenetet kapunk:

.... (audiofx) Peak amplitude, period: pos=0.30495 neg=0.26996. (audiofx) Peak amplitude, all : pos=0.30495 neg=0.26996. (audiofx) Clipped samples, period: pos=0 neg=0. (audiofx) Clipped samples, all :  2. ábra Eszközök közötti adatáramlás pos=0 neg=0. (audiofx) Max gain without clipping, all: 3.27926. Jackd indítása Minden hangrendszer tovább konfi- (audiofx) -- End of statistics A JACK a JACK Audio Connection Kit gurálható, az opciók a -d alsa ------rövidítése, amely API és szolgáltatás help paranccsal kérdezhetõek le. egyben. Lehetõvé teszi számos POSIX Elõször is ellenõrizzük, hogy kompatibilis rendszeren a hangfeldol- Hangpróba és jelszintek beállítása nem volt-e túlvezérlés (pozitív gozó programok virtuális összeköté- Mielõtt túl mélyre ásnánk és elkez- vagy negatív). Ezután nézzük meg sét. A JACK tervezésekor a kis jelkés- denénk a hangfélvételt, állítsuk be a maximális erõsítést. Ez százaléko- leltetésen volt a hangsúly. a rendszert és a jelszinteket. A jó san megadja (elméletben), hogy mi- A cikk példái közül pár JACK nélkül hír, hogy csupán csatlakoztatni kell kor következne be a túlvezérlés. is ugyanolyan jól megy. Személyes a hangszert a keverõhöz vagy leülni Az eszközünktõl függõen változó, tapasztalatom azonban az, hogy a va- a mikrofon elé és játszani. hogy mikortól kezd torzulni a hang, lósidejû feldolgozás miatt jóval kisebb Kezdésként állítsuk be a keverõt, így jobban járunk, ha megismerjük a jelkésleltetés, mint anélkül. hogy átlagos jelszint 0 környékén az eszközt és csak utána kezdjük Ez a különbözõ programok össze- legyen és lehetõleg kerüljük a gya- feszegetni a határokat. kapcsolásánál jön jól, mint például kori túlvezérlést (átmegy a pirosba). Mixer állítás esetén ismételjük meg az Ecasound és a Hydrogen. Ha végre sikerült beállítani a keverõt, az elõbbi lépéseket. Ahhoz, hogy egy alkalmazás képes le- kössük össze a számítógéppel és Ha megfelelõnek találjuk a beállí- gyen a JACK-et használni, a JACK API ellenõrizzük itt is a be és kimeneti tásokat, állítsuk be a fejhallgató jelenlétében kell lefordítani, illetve jelszinteket: hangerejét is. a program futtatása elõtt el kell indí- tani a jackd-t. Amelyik disztribúció ecasound -i jack_auto -o null Felvétel: egy sáv vagy koncertfelvétel  tartalmazza a JACK-et, annak valószí- -ev rögzítése nûleg az alkalmazásai a JACK API Az Ecasound egy parancssoros prog- jelenlétében kerültek lefordításra. A -i jack_auto opció hatására az ram, mely a több sávos hangfelvételen Ha mégse így történt, úgy fordítsuk Ecasound a JACK-tõl kapja a bemene- túl másra is képes. Az Ecasound alap- le újra, az alkalmazás leírását követve. tet. Minthogy még nem futtatunk más koncepciója a lánc. Számunkra a lánc, A JACK szolgáltatás futtatásához JACK-et használó programot, így ez olyan mint a rendezõpanelen elhelye- futtassuk le az alábbi parancsot: jelenleg a hangkártya vonalbemeneti zett összekötõ kábel. Az egyik kom- jelét adja. A -o null opció közli az ponens kimenetét összeköti a másik jackd -R -d alsa Ecasound-dal, hogy nem vagyunk komponens bemenetével. Az ilyen kíváncsiak a kimenetre. összekötõ kábel egy bemenetet Az -R opció valós idejû privilégiumot Az -ev kapcsolóval nyomon követ- és egy kimenetet köt össze. Ugyanez biztosít, a -d alsa hatására pedig hetjük az amplitúdó változásokat, igaz itt is. az ALSA rendszert fogja használni. a -c kapcsoló pedig interaktív Az Ecasound be- és kimenetei leg- Akik még mindig az OSS-t használ- módban indítja az Ecasound-ot. gyakrabban hangfájlok vagy hangesz- nak, azok -d oss opcióval indítsák, Kis szerencsével csupán pár hasznos közök. Teljesen normális, hogy össze- a MacOSX tulajdonosok pedig -d információt kapunk hibaüzenet tett láncokkal dolgozunk. Az elsõ coreaudio-val. és figyelmeztetés nélkül. hangfelvételünknél JACK lesz a be

66 Grafika, multimédia, szórakozás

1. táblázat Láncok az elsõ 2. táblázat Második sáv rögzítése 3. táblázat Láncrendszer több hangfelvételhez az elsõ sáv lejátszásával sáv esetén Lánc Bemeneti forrás Kimenet Lánc Bemeneti forrás Kimenet Lánc Bemeneti forrás Kimenet 1 JACK JACK 1 track1.wav JACK 1 track1.wav JACK 2 JACK track1.wav 2 JACK JACK 2 track2.wav JACK 3 JACK track2.wav 3 JACK JACK 4 JACK track3.wav és kimenet, de természetesen le is mentjük a bemenetet PCM formátum- A fenti parancssor magyarázata: ban. Az 1. Táblázatban látható láncok Végeredményben a 2-es lánc rögzíti szükségesek ehhez. • -c: nem az automatikus feldol- a JACK (és valószínûleg a hang- Ezt az alábbi paranccsal gozás indul el, hanem az interaktív kártya)bemenetére érkezõ anyagot érjük el. mód a track1.wav állományba. Az 1-es lánc segítségével pedig a rögzítendõ ecasound -c -b:64 \ • -b:64: a lehetõ legkisebbre állítjuk anyagot élõben hallgathatjuk. -a:1,2 -i jack_auto \ a puffer méretét, így csökkentve -a:1 -o jack_auto \ a késleltetést Többsávos felvétel -a:2 -o track1.wav Hacsak nem élõ hanganyagot rögzít • -a:1,2 -i jack_auto: létreho- az Olvasó, úgy bizonyára szeretne Az Ecasound indítás után parancs- zunk két láncot (1 és 2), mindkettõ többsávos felvételt. Az Ecasound képes ra vár. T-vel indíthatjuk a felvételt bemenete a JACK lesz arra, hogy új sávot rögzítsen, mi- és a lejátszást, S-el megállíthatjuk. közben már egy korábbi felvett Ha elrontottuk, állítsuk meg, • -a:1 -o jack_auto: az 1-es lánc anyagot lejátszik. a setpos 0-val elõre tekerhetjük, kimenete a JACK lesz Hogy a második sáv felvételekor hall- majd a T-vel újrakezdhetjük. juk a korábbi sávot, három Ecasound A Q-val léphetünk ki. Mentenünk • -a:2 -o track1.wav: a 2-es lánc láncra lesz szükségünk, amint azt nem kell. kimenete egy wav állomány lesz a 2. Táblázat is mutatja.

67 Grafika, multimédia, szórakozás

2. Állítsuk a Hydrogen-t zene módba Természetesen fájlba írás elõtt meg 4. táblázat Több sáv egy sávvá a kotta mód helyett. is hallgathatjuk: keverése Futtassuk az alábbi parancsot: ecasound -a:1 -i track1.wav \ Lánc Bemeneti forrás Kimenet ecasound -a:1 -i jack_auto -o -a:2 -i track2.wav \ 1 track1.wav all_tracks.wav drum_track.wav -G -a:3 -i track3.wav \  2 track2.wav all_tracks.wav jack,ecasound,recv -a:all -o jack_auto 3 track3.wav all_tracks.wav 4. Kattintsunk a Hydrogen lejátszás Számos effekt végrehajtható gombjára. a láncokon a fájlba írás elõtt, mint például a visszhang, dinamika- Ezzel az összeállítással lejátsszuk A parancs létrehoz egy Ecasound lán- kompresszió és erõsítés. Késleltetést a track1.wav-ot, élõben hallhatjuk, cot, mely a JACK-et tekinti bemenet- vagy úsztatást is adhatunk egy-egy amit éppen játszunk és ugyanezt nek és a drum_track.wav-ot kimenet- sávhoz, akár zajszûrést is. Mindez le is mentjük track2.wav néven. nek. A -G jack,ecasound,recv persze meghaladná ezen cikk A track2.wav csak az új sávot tartal- utasítja az Ecasound-ot, hogy figyelje terjedelmét. mazza, késõbb kell majd a két sávot a JACK start parancsát, mely akkor eggyé alakítanunk. következik be, ha a Hydrogen-ben Összefoglalás A fenti láncrendszer Ecasound lenyomtuk a lejátszás gombot. Bemutattuk, hogyan készíthetõ egy- parancsként így néz ki: Körülbelül 1 másodpercet vesz igény- szerû többsávos felvétel linuxos hang- be, mire az Ecasound elindul a start feldolgozó programokkal. Megismer- ecasound -c -b:64 \ parancs észlelése után, így a fájl elején tük a jackd-t, majd az Ecasound-ot, -a:1 -i track1.wav \ lesz egy kis csend. megmondhattuk honnan vegye -a:2,3 -i jack_auto \ Ha az Olvasó nem rendelkezik csalha- a bemenetet, hová irányítsa a kime- -a:1,2 -o jack_auto \ tatlan ritmusérzékkel, úgy érdemes netet, legyen az akár egyszerû, -a:3 -o track2.wav elõbb a szoftveres forrásokat rögzíteni. akár többsávos felvétel. Sokkal nehezebb a szoftveres forráso- Minden sávot külön wav állo- A további sávok rögzítése hasonló kat szinkronizálni – például a dobgé- mányként rögzítettünk. Így bár- eljárás. Minden, már rögzített sáv- pet – egy már meglévõ felvétellel, mely hangfeldolgozó programmal nak készítünk egy láncot, melynek mint fordítva. Ez az esetleges MIDI módosíthatunk rajta a keverés elõtt, bemenete az adott fájl, kimenete sávokra is vonatkozik. de keverés után is módosítható. pedig a JACK. A 3. Táblázat erre Közismert hangfeldolgozó alkal- ad példát. Sávok keverése egy sávvá mazás például az Ecasound, a SoX Ehhez az alábbi parancssort Mostanra már jó pár wav állományunk és az . használjuk: van, amelyek az egyes rögzített sávo- Csak érintõlegesen tárgyaltuk kat tartalmazzák. Ecasound-ot, SoX-ot a témát. Jó esetben azonban ez ecasound -c -b:64 \ vagy akár Audacity-t is használhatunk stabil alapokat ad az Olvasóban -a:1 -i track1.wav \ effektek hozzáadásához vagy apróbb rejtõzõ kreatív zseni kibontako- -a:2 -i track2.wav \ korrekciókhoz, módosításokhoz. zásához. -a:3,4 -i jack_auto \ Ha az összes sávot megfelelõnek talál- -a:1,2,3 -o jack_auto \ juk, egy hangállománnyá keverhetjük. Linux Journal 2006., 151. szám -a:3 -o track3.wav A különálló sávok eggyé keveré- se magától értetõdõ. Minden Matthew Geddes hobbija zene és Felvétel szoftveres forrásból wav állományhoz létrehozunk a Linux. Szerencséjére, a hivatása is. Nem tudok dobolni, de néha szüksé- egy láncot. Ha nem saját számait játssza, akkor gem van rá. Noha a Hydrogen az leg- Az Ecasound ebben az esetben egysze- bármit meghallgat Bach-tól és Son jobb dob gép Linux alá, amit láttam, rûbb megoldást biztosít. Az all láncot House-tól kezdve egészen Rachel még nem érte el a bûvös 1.0-ás verzi- használva az összes bemenet egy ki- Singleton-ig és A norexia Nervosa-ig. ót és még nem tökéletes. Az egyik menetbe irányítható. Jelen esetben Ezen az email címen érhetjük el: hibája az általam használt verziónak all_tracks.wav fájlba: [email protected] vagy a wav fájlba történõ mentés. Szeren- a http://www.musicalcarrion.com/ csére a Hydrogen képes együttmû- ecasound -a:1 -i track1.wav \ oldalon. ködni a JACK-el. -a:2 -i track2.wav \ A JACK-et és az Ecasound-ot az alábbi- -a:3 -i track3.wav \ ak szerint konfiguráljuk, amennyiben -a:all -o all_tracks.wav KAPCSOLÓDÓ CÍMEK Hydrogen-hez hasonló alkalmazás hangját szeretnénk rögzíteni: A végeredmény meghallgatása: A cikk forrása:  http://www.linxjournal.com/article/ 1. A Hydrogen-ben a kimenetet ecasound -a:1 -i all_tracks.wav 9269 állítsuk be a JACK-re. -o jack_auto

68