Visszaolvastam a tegnapi bejegyzésemet. Hehehe... Vicces, amikor az ember össze-vissza leír valamit, ahol a gondolatmenetből minden második lépés át van ugorva, meg ilyesmi. Na mindegy... Ami az egész lényege akart lenni, hogy elkezdek írni valamit, amiből még nem teljesen tudom, hogy mi lesz, de gyűjtöm az ötleteket, és végre van arra is esély, hogy ne csak a fiókban maradjon, hanem (legalábbis az elektronikus verziót) be is mutassuk még idén. Szóval ennek most kifejezetten nagyon örülök.

Arra gondoltam, hogy kicsit változtatok az eddigi "komponálási technikámon" (na, azt nem mondanám, hogy volt már egy kialakult technika, de most kipróbálok valami mást). Először is, elhatároztam, hogy teljesen fentről fogok építkezni, és nem csak úgy – mint eddig –, hogy egy-két fő dolog elhatározása után nekiülök azonnal kidolgozni a részleteket, a darab elejénél kezdve és folyamatosan haladva a végéig, hanem először legyártom a darab nagyszerkezetét, aztán az egyes elemeket finomítom stb. stb. stb. és csak akkor kezdem el "kitölteni" konkrét hangokkal a kapott mintázatot, ha már pontosan tudok mindent a darabról, és már csak meg kell hozzá keresni a megfelelő hangokat. A másik, amire gondoltam, hogy megpróbálom naplózni azt, ahogy haladok, és ezt ebben a blogban fogom megtenni. 1) Mert a blog egyben ideális napló is 2) Mert nem szeretek a falnak beszélni, és itt legalább megvan az illúzióm, hogy – habár saját magam számára csinálok jegyzeteket – mégsem a falnak írom le.

Egyetlen fontos megjegyzés: habár az itt következő, a darabbal kapcsolatos bejegyzések egy csomó matematikai/fizikai utalást fognak tartalmazni, a leírt gondolatmenetek nem mindenütt helyesek (bár valószínűleg kis korrekciókkal és pontosításokkal azzá lehetne tenni őket). Ezt én is tudom. De mivel itt egyfajta brainstorming-procedúráról van szó, aminek a végső értelme az lesz, hogy egy darabot hozzak össze, ezért nem is kell nekem, hogy szükségszerűen minden igaz legyen, amit leírok. Pusztán arra van szükségem, hogy valahogy beindítsa ez az egész a "zenei fantáziámat", és nem arra, hogy valami tudományos folyóiratban közölhessem... :-) Ugyanígy, egy csomó dolog lesz, ami egyszerű "töprengés" eredménye, semmi több (ami tehát vagy úgy van, ahogy kigondoltam, vagy nem), és ugyanúgy egy csomó dolog pedig kikutatott tény, vagy levezetett tételek végeredménye. Mivel leginkább magamnak készülnek ezek a jegyzetlapok, ezért nem fogom külön jelölni, hogy melyik eset az első, és melyik a második.

1. Ideális zaj(ok)
2. Átmenetek
3. Közelítések
3.1. Fehér zaj lineáris közelítése
3.2. Rózsaszín zaj lineáris közelítése
3.3. Véletlen közelítések
3.4. Iteratív módszerek
3.5. Dinamikus eljárások
4. Hangszeres alkalmazás

1. Ideális zaj(ok)

Először is, mi a zaj? Elvileg az "ideális (fehér) zaj" egy olyan jel, aminek a Fourier-transzformált alakjában mindegyik Fourier-komponens egyenlő súllyal szerepel, a komponensek fázisa pedig egyenletes eloszlás szerint véletlenszerű. Ehhez hozzájön még az is, hogy a komponensek inkoherensek, aminek a matematikai pontos definícióját sajnos még nem tudom (pedig ilyesmiből írom a diplomámat, szóval lassan muszáj leszek tudni), de úgy sejtem, hogy ez a jelen esetben azt jelenti, hogy a fázisok időben nem állandóak, hanem véletlenszerűen változnak. Namármost, ilyen dolgot szintetizálni lehetetlen. Akusztikus hangszerekkel leginkább azért nem, mert egy viszonylag szűk frekvenciatartományban szólnak csak, emellett a legtöbb hangszer skálák szerint kvantálja az általa átfogott frekvenciatartományt (emellett a spektrumuk sem csak egyetlen szinuszjelből áll). Digitális módon pedig azért nem, mert digitálisan csak pszeudo-véletlenszámot lehet létrehozni (ez két okból is problematikus, egyrészt nem lehet a fázisokat véletlenszerűen beállítani, másrészt a "dekoherencia" kialakításánál zavaró lehet), emellett a meghajtás mindenképp digitális, vagyis kvantált (további hiba a D/A konverterek hibája). Ami a digitális kvantálásból adódó hibát illeti, az a mai rendszereknél gyakorlatilag elhanyagolható. (Az ember számára max. 20 kHz-ig hallható hangok előállításához elméletileg már egy 40 kHz-es D/A átalakító is elég volna. Azonban mivel a D/A átalakítók sem tökéletesek, ezért nyilván nem tudnak tökéletes szinuszhullámot interpolálni, ami torzítást okoz. Ezért célszerű az elméleti 40 kHz-nél jobb kvantálást alkalmazni. A mai rendszereknél nem nagy követelmény egy 192 kHz-es átalakító, ami majdnem ötszöröse az elméleti minimumnak, ezeknek már olyan kicsi az átalakítási torzítása, hogy szerintem nincs ember a Földön, aki észlelné ezt a torzítást.) Az, hogy pszeudo-véletlenszámokat kapunk a gépből, megérzésem szerint szintén nem lehet olyan nagy hiba, bár tény, hogy ahányszor csak megpróbáltam zajt előállítani, sosem sikerült igazán inkoherenssé tenni a jelet, de ez szerintem nem a pszeudo-véletlengenerátor hibájából adódott...

Szóval a lényeg, hogy ideális (fehér)zajt létrehozni nem lehet, csak tetszőlegesen megközelíteni, az alkalmazott technikától függően. A továbbiakban ezt a bizonyos "megközelítést" próbálom meg végiggondolni. És nem is fogok zajról beszélni, inkább jelről. Tartsuk fenn a "zaj" kifejezést az ideális zaj számára, a többit nevezzük csak egyszerű jelnek... Ahhoz, hogy jó közelítést gyárthassak, ki kell találni, hogy mi legyen az a "másik véglet", ahonnan az approximáció indul. Erre több megoldás is kínálkozna, a két legmagátólértetődőbb az, amikor

  1. Adott az összes frekvencia, de koherens módon (pl. egy Dirac-delta jel; az itteni szóhasználat alatt Dirac-delta jelen egy olyan függvényt fogok érteni, ami egy olyan sorozat eleme, aminek a végtelenbeli határesete a Dirac-delta disztibúció – persze kellően sokadik eleme. Ilyet igencsak egyszerű létrehozni digitális úton). Ekkor a zajba történő átmenet azt jelenti, hogy a már meglévő komponenseket inkoherenssé kell tenni.
  2. Kiindulok a semmiből, és egyenként hozzáadom a jelhez az egyes frekvenciakomponenseket, valami olyan eljárás szerint, aminek a végtelenbeli határesete az ideális zaj.
Ami a második módszert illeti, ez sokkal könnyebben megvalósíthatónak ígérkezik, bár zeneileg az első módszer legalább annyira érdekes lehet. A továbbiakban minden esetre maradok a második megoldásnál, de lehet, hogy ha eszembe jut valami használható ötlet, akkor majd foglalkozom az elsővel is (a darabban mindenképp szeretném kipróbálni az első esetet is, de még nem jöttem rá, hogy hogyan).

Itt kell még szót ejteni arról, hogy a fenti "zaj-idealizációnak" a valóságban több módozata van. Ezek közül kettő van, ami a gyakorlatban elterjedtebb: az ideális fehér zajban az egyes frekvenciák sűrűsége egyenletes, míg az ideális rózsaszín zajban a frekvenciasűrűség logaritmikus rendet követ (igazából arról van szó, hogy az emberi fül frekvenciafelbontásának finomsága logaritmikus jelleget követ, így "pszichésen" azt érezzük lineáris frekvenciarendnek, ami valójában logaritmikus). Célszerű tehát eldobni azt a kikötést az ideális zajra, hogy egyenletes legyen benne a frekvenciák sűrűsége, és célszerű inkább csak annyit megkövetelni, hogy a zaj frekvenciaspektruma valamilyen módon folytonos legyen.

2. Átmenetek

Láttuk tehát, hogy az ideális zaj nem létezik, ezért közelíteni kell. Azonban a zaj approximációja előtt nem árt végiggondolni, hogy milyen átmeneteket tehetek a semmi (vagyis a tökéletes csönd) és a tökéletes (fehér)zaj között. A legalapabb "első lépés" a tiszta szinuszhullám. Számomra ez az az alapkomponens, amihez képest minden további szintézist viszonyítani kell. A következő lépés az egyszerű diszkrét szintézis, ami alatt az olyan szintézist értem, amikor kevés számú, egymáshoz nem túl közel eső frekvenciájú (szinusz)jelből szintetizálom a hangot. Számomra a tiszta jelhez ez áll a legközelebb. Ennek is a legalapabb verziója az olyan konszonáns szintézis, amikor egy alaphangnak az egész számú többszörösei jelennek meg a szintézisben, mégpedig viszonylag alacsonyabb rendekig. A legalapabb esetekben még akár ki is lehet egyenként hallani ezekből a jelekből az alkotó frekvenciákat. Az érdekességek innen kezdődnek. Egyrészt, ahogy növeljük a komponensek számát, a jel egyre inkább közelíteni fogja a zajt. Másrészt, ha az egyes komponensek frekvenciáit egymáshoz közelítjük, úgy egyre inkább "lerontjuk" a diszkrét frekvenciateret, és átvisszük egy folytonos paramétertérbe. Ha ezt a két dolgot egyszerre tesszük, és mondjuk a frekvenciatartományt korlátozzuk egy szűk régióra, akkor "lokális zajokat" kaphatunk (ugyanezt az ideális zaj szűrésével is elérhetjük), ami nyilván nem ideális zaj (akkor sem, ha "elméletben" végtelen sok komponenst adunk össze), mert az ideális zaj kritériumai csak egy korlátos tartományon lesznek érvényesek. Mégis, az ilyen jelek nem kis érdeklődésre tarthatnak számot. Az is érdekes lehet akár, hogy ilyen "zajszigeteket" vagy "lokális zajokat" használva hogyan lehetne közelíteni az ideális zajt. Ezeket majd még végig kell később gondolnom... Minden esetre, az egy fontos tapasztalat, hogy érdemes lehet bevezetni valamiféle sűrűséget a frekvenciatéren, és ennek a sűrűségnek a telítettségével mérni azt, hogy az általam szintetizált jel mennyire "zajos".

Bővebben is kifejtem ezt az utolsó gondolatot. A "zaj" alapvetően egy emberi fogalom, ami az emberi észleléssel kapcsolatos. Ugyanígy, egy hangszín "zajossága" olyan érzéki paraméter, ami valami intuitív, szubjektív módon megpróbálja kifejezni, hogy az adott jel mennyire esik közel ahhoz, amit az egyén már zajnak fog fel. Ennek mintájára kellene bevezetnem egy olyan "sűrűségi függvényt" a frekvenciatéren, ami méri, hogy egy-egy hangszín mennyire "zajos", és a továbbiakban azzal kellene foglalkozni, hogy ennek a képzeletbeli függvénynek milyen tulajdonságai vannak; vagyis, az általam komponált átmenetek lényege az kellene, hogy legyen, hogy hogyan tudom zeneileg érdekes módon átvinni az egyik "zajsűrűség-függvényből" a másik ilyen sűrűségi állapotba az éppen elhangzó hangszínteret. Ebből persze az is következik, hogy innentől elhagyom végleg az ideális zajt, mint fogalmat, mivel mostantól érdektelenné válik. Ehelyett azzal fogok foglalkozni, hogy milyen különböző zajsűrűségeket tudok előállítani.

3. Közelítések

Ezután az apró kitérő után visszatérek az eredeti célkitűzéshez, megpróbálok összeszedni egy-két lehetséges módszert a zajok "építkezős" közelítésére. Az előző bekezdés szerint azonban ezek nem feltétlen az ideális fehér- vagy rózsaszín zaj közelítéseire vonatkozhatnak csak, hanem bármilyen ideális zajsűrűség közelítésére. Először is, elsőre néhány "statikus" közelítéssel fogok foglalkozni, vagyis olyanokkal, ahol az egyes komponensek frekvenciája az időben nem változik (erről később még bővebben). Ezek között is különbséget teszek, aszerint, hogy az építkezést valamilyen "direkt definíciós", vagy pedig iteratív sorozat szerint végzem.

3.1. Fehér zaj lineáris közelítése

Ez a legegyszerűbb direkt definíciós statikus zaj. A lényege, hogy veszek egy alapfrekvenciát, és az egyes lépések során ennek egész számú többszöröseit adom a jelhez. Szabadon szólva, ha az alapfrekvenciával a nullához tartok, miközben a komponensek számával a végtelenhez, akkor az ideális fehár zajt fogom kapni. Mindenképp figyelemre méltó, hogy így tulajdonképpen az alapfrekvencia egy felhangsorát kapom, ami azt jelenti – bármilyen furcsán is hangzik elsőre –, hogy az ideális fehér zaj tulajdonképpen egy végtelen sok komponensből álló ideális konszonáns akkord (az akkordok konszonanciájukat az európai zenetudomány szerint annak köszönhetik, hogy az alaphang megfelelő felhangjaiból vannak összerakva). Ebből két dolog is következik: az egyik, hogy a különböző zajok között a fehér zaj tekinthető a "legkonszonánsabb" zajnak (már feltéve, hogy van egyáltalán értelme ilyen módon osztályozni a zajokat, illetve, hogy akarom-e konszonancia–disszonancia szerint osztályozni az ilyen hangzatokat), a másik pedig, hogy a közelítést úgy is elvégezhetem (talán ez lenne az egyik legérdekesebb mód), hogy kiindulok egy olyan felhangsorból, aminek az alaphangja kellően magasan fekszik ahhoz, hogy a megszólaló akkordot még tiszta konszonanciának halljuk, és úgy csökkentem folyamatosan az egyes komponensek frekvenciáit, hogy a végére elérjem a fejér zajt, miközben az egyes frekvenciák arányát változatlannak tartom.

3.2. Rózsaszín zaj lineáris közelítése

A rózsaszín zaj olyan zaj, ahol az egymást követő frekvenciák arányának logaritmusa konstans (ami matematikailag azt jelenti, hogy a frekvenciák logaritmusának különbsége konstans; szemben az előző esettel, ahol maguknak a frekvenciáknak a különbsége volt állandó). Ebből látszik, hogy ez a zajeloszlás erősen rokon a fehér zajjal. Zeneileg ez azt jelenti, hogy az alkotó frekvenciák egy skálának az egymást követő hangjaiból állnak, vagyis az egymást követő alkotó komponensek által alkotott hangköz az egész jelre nézve azonos (ezt a zenében úgy hívják, hogy cluster). Ha ez a hangköz pont 100 cent (egy félhang), akkor egy olyasmi esetet kapnunk, mint amikor egy zongorának lenyomjuk az összes billentyűjét egyszerre. Mellesleg a szigorú szakzsargon csak ezt a fajta zajt nevezi rózsaszín zajnak (mivel a zajok elnevezése az általuk leírt spektrummal jellemezhető fény alapján történik), de én az összes logaritmukus zajt rózsaszínnek fogom nevezni, mivel a jellegük hasonló. Visszatérve a zongorás hasonlathoz, gyakorlatilag bármilyen algoritmus, ami bejárja a zongora billentyűit, megfelelő közelítő algoritmus lehet.

3.3. Véletlen közelítések

Gyakorlatilag a fenti lineáris közelítésekhez hasonló, ha különböző véletlen eloszlások által szolgáltatott frekvenciaértékekből építkezek. Nyilván a véletlen eloszlás határozza majd meg, hogy milyen típusú zajt kapok. Gyakorlatilag az egyetlen fontos paramétert, hogy egyszerre hány véletlen-frekvencia szólal meg, és ennek a határnak a növelésével érhető el a kellően sűrű zajspektrum.

3.4. Iteratív módszerek

Nyilván azok a módszerek érdekesek, ahol az egyes iterált lépések után kapott új frekvenciák nem számolhatóak könnyen pusztán annak ismeretében, hogy hányadik iterációnál tartunk (pl. Fibonacci-arányokban összeadott jeleknél nem csak iterációs úton lehet megmondani a soron következő frekvenciát). Például a kaotikus tulajdonságokkal rendelkező iteratív rendszerek biztosan érdekesek lehetnek.

3.5. Dinamikus eljárások

Bár érdekes egy konkrét zajt hosszan hallgatni, még érdekesebb, ha ez a zaj az időben változik! Azonban ekkor fellép az a nehézség, hogy ugyanazt a hangzó anyagot többféle módon is le tudom írni. Például, egy egyszerű FM szintézist le lehet írni, mint egyetlen modulált szinuszjel (ennek frekvenciája a moduláció miatt az időben nyilván változó), de ugyanúgy leírható statikus jelként is, amennyiben a kapott modulált hullámot sorbafejtem (emlékeim szerint valami Bessel-függvényes megoldás jön ki). Így tehát érdemes a végeredmény helyett inkább a módszerre koncentrálni (amúgy eddig is inkább ez történt), vagyis a hangzó anyag elképzelése helyett inkább azt feltérképezni, hogy milyen különböző megvalósítási megoldások vannak. Nyilván a legegyszerűbb eset, ha van valami rögzített számú generátor, és a generátorok frekvenciája valamilyen adiabatikusnak tekinthető módon változik. Így lehet a legegyszerűbben lassú átmenetet csinálni két (statikus) zaj között. A másik "extremális" eset az, amikor egyetlen generátorom van, viszont ezt olyan jelsorozattal modulálom, hogy a hangzó végeredmény zajszerű lesz. Utóbbi megoldásnál érdekes lenne kipróbálnom, hogy mi van, ha egy egyszerű szinuszgenerátort különböző eloszlású véletlenszám-generátorokkal hajtok meg. Szintén érdekes lenne tanulmányozni, hogy a két véglet között milyen egyéb megoldások vannak (például, hogyan lehetne olyan átmeneteket kitalálni, ahol az idő során valami "bifurkációs" jelleggel szaporodnának a jelgenerátorok, és így egyetlen generátorból elindulva végül – egyre több jelforrás bekapcsolásával, miközben az egyes generátorok moduláltsága egyre csökkenne – valamelyik statikus zajt lehetne elérni, vagy ugyanez fordított irányban).

4. Hangszeres alkalmazás

Az eddigiek főleg elektronikusan valósíthatóak meg. Az akusztikus hangszereknek három korlátját is figyelembe kell venni:

  1. Nem tiszta jelforrások.
  2. A forrásfrekvenciák erősen kvantáltak.
  3. Szűk alaphang-tartomány (zenekaron kb. 40 Hz – 4-5 kHz).

Ezek a tények leginkább abban jelentenek korlátot, hogy a zajokat a fenti kategóriák szerint megtervezzem. További probléma, hogy a valódi hangszerek sosem szólnak egyenletesen, mindig kisebb-nagyobb fluktuációk vannak mind az alaphang, mind az hangszer által kiadott felhangsor tekintetében, és ez tovább bonyolítja a hangszínek tervezését, illetve a számítógépes ötletek adaptálását. Azonban ebből (megspékelve azzal, hogy a hangszerek a mikrofluktuációból adódóan természetes módon biztosítják a források inkoherenciáját) könnyen tőkét lehet kovácsolni, és olyan zaj-utánzatokat, illetve a fent említett zaj-szigeteket lehet kialakítani, amik adott esetben sokkal színesebbek, mint a számítógépes megfelelőik. Emellett a hangszerekből sokkal könnyebb mindenféle, önmagában is gazdag zajos effektust kicsikarni, és ezeket természetes módon keverni akusztikus elemekkel. (Lásd Les Espaces Acoustiques, akár a Prologue. Ez akár még arra is példa lehetne, hogy hogyan lehet a gyorsan változó, ám egyetlen generátort tartalmazó modulált jelből zajszerű színt csinálni.)


Teendők:

  1. Minél előbb elkészíteni lehetőleg minél több Max/MSP objectet, amivel a fenti zajokat és algoritmusokat tesztelhetem (ezek egy része már megtörtént).
  2. Tovább gondolkodni az iteratív módszereken és a dinamikus eljárásokon.
  3. Foglalkozni az egyes hangszerek hangszínének spektrálfelbontásával, elemezni, hogy hogyan lehet illeszteni őket a fenti zajokhoz.
  4. Tanulmányozni a szűrőket és a szűrési technikákat (gyakorlatilag az lehetne a másik megközelítés a mostani mellett).

Ezt az oldalt ma találtam, a különböző szabványos zajokat foglalja össze (sajnos szinte semmit nem ír, de legalább meg lehet hallgatni néhányat és fel vannak sorolva a szabvány szerinti zajok): http://en.wikipedia.org/wiki/Colors_of_noise

Utoljára módosította SAdam 2008.II.05 16:34-n
PermaLink

Hozzászólások (3)

Descant hozzászólása 2008-02-06 16:00-kor

; Fehér zajt akkor hallottam amikor a TV vagy a rádió olyan frekvencián van ahol nincs adás.
; A rózsaszín, de inkább a barna olyan mint az utcai zaj, amikor nem megy éppen közvetlenül meletted el autó de azért zajos. Vagy a földrengés, vagy csapatvonulás csatában(bár utóbbinak van ritmusa).
; Kék meg ibolya számítógépnél rosz helyre dugott fülhalgallgatóban halottam már.
; A szürke meg egyszerűen csak egymás melleti barna és ibolya.

A cintányér nem diracdelta szerű? Bár, a fázisát véletlenszerüsíteni :)


Descant hozzászólása 2008-02-06 16:06-kor

Cintányér ütsz 1 forgós cipőtisztó kefével, hangszeres fehér zaj.

az előző hozászólásomat nem így akartam, hogy kinézzen

SAdam hozzászólása 2008-02-06 18:59-kor

A diracdelta inkább tipikusan ahhoz hasonlít, amikor előbb kapcsolod ki az áramot, mint hogy letekerd a keverőpultot :-) Vagyis inkább kattanásszerű. Valóban, a cintányér közelíti legjobban a fehér zajt. Csak az a baj, hogy időben nem állandó, ami kijön belőle, és nem is olyan tiszta, mint egy számítógépes zaj. Viszont sztem az nem oldja meg a dolgot, ha fogkefével, vagy ilyesmivel folyamatosan gerjeszted, mert akkor fluktuál a jel. A pink zaj viszont sztem nagyon nem hasonlít az utcára, legalábbis eddigi tapasztalataim szerint... :-)

Igazából a probléma inkább az, hogy ezek csak nagyon durva közelítések mind, közel sem érik el azt a zajminőséget, mint amit géppel lehet szintetizálni, leginkább azért sem, mert minden hangszeres zene erősen fluktuál időben, én meg "tiszta" jelekkel akarok dolgozni, illetve olyanokkal, amelyek valamilyen átmenetet képeznek az akusztikus hangszerek által megvalósított hangzás és a "szokásos" tiszta elektronikus hangok között.

Tagek: