.                                                               .   
                              Modelování 3D zvuku                          
       .                                                               .   

    0. Úvod

      Tento  článek  představuje   velmi  stručný   úvod  do   problematiky
    modelování prostorového zvuku. První  kapitola  je  věnována  akustice,
    druhá stručně (ale velmi stručně) shrnuje funkci ucha a třetí se věnuje
    popisům metod modelování zvuku.

    1. Základní fyzikální pojmy

      Každý z nás asi ví, že  zvuk je chvění částic pevného, tekutého  nebo
    plynného prostředí kolem  jejich  rovnovážných  poloh.  Pokud  je  toto
    chvění v rozsahu zhruba 10  až 20000 Hz,  mluvíme o slyšitelném  zvuku.
    Rychlost takového chvění se nazývá akustická rychlost.
      Zvuk se může šířit prostřednictvím  pružných vazeb mezi částicemi  ve
    formě zvukových vln. Rychlost tohoto  šíření se nazývá rychlost  zvuku.
    Ve vzduchu je zhruba 330 metrů za vteřinu (pedant by sem připsal, že za
    sekundu, za normálního atmosferického tlaku  a že je zde menší  tepelná
    závislost (asi tak 0.6 metrů na stupen Celsia), ale autor není pedant).
      Částice, jak se chvějí,  generují malé změny  v tlaku, kterým  říkáme
    akustický tlak. Intenzita zvuku  je  množství  zvukové  energie,  která
    projde jednotkou plochy. Dá  se  rovněž  vyjádřit  vektorovým  součinem
    akustické  rychlosti  a  tlaku  a  její  velikost  klesá  s   kvadrátem
    vzdálenosti od zdroje zvuku.
      Minimální akustické tlaky slyšitelného zvuku dosahují hodnot 1E-5 Pa,
    ale ucho není poničeno, pokud je vystaveno rychlým změnám tlaku  menším
    než 20 Pa. Protože  človek je  tvor myslící  a vnímající  logaritmicky,
    zavedl veličinu hladina  intenzity,  která  je  v  decibelech  [dB],  a
    definoval ji jako 10.log (I/I0), kde I0 stanovil na 10E-12 W.m^-2.

      Šíření zvuku popsal pan Huygens  svým principem šíření vlnění.  Každý
    bod vlnoplochy se chová jako  bodový zdroj  vlnění a  výsledná vlna  je
    určena obálkou všech takto vzniklých vln.

      Když zvuk narazí na překážku,  je jeho část  odražena zpět do  scény,
    část je pohlcena  stěnou, která  přemění zvukovou  na tepelnou  energii
    (taky vám je horko, když na  vás někdo začne křičet?  :-) ), a část  se
    ohne za překážku.
      Odrazy jsou zrcadlové a difúzní, jako u světla. Zrcadlové vznikají na
    hladkých površích. Hrubé povrchy odráží difúzně.
      Jak již bylo řečeno, zvuk se umí  i ohnout za překážku. Tento jev  je
    daleko snáze pozorovatelný zde, než u světla, vzhledem ke  srovnatelným
    velikostem vlnových délek s běžnými překážkami (jako například slon  či
    jezevec) a je přísně frekvenčně závislý. Čím nižší frekvence zvuku, tím
    se lépe ohýbá. Roh budovy tak vlastně připomíná low-pass filtr.
      Schopnost pohlcovat  zvuk je  u různých  materiálů různá.  Koeficient
    zvukové pohltivosti (mimochodem - také frekvenčně závislý) je definován
    jako podíl pohlcené a  celkové  energie  zvukové  vlny.  Např.  zvuková
    pohltivost koberce je zhruba 0,05 pro  128 Hz a až 0,9 při  frekvencích
    přes 4096 Hz (v knížce sice  bylo 100  a 4000,  ale to  jsou moc  fádní
    čísla).

      Zvuk je vyzářen ze zdroje  a zachycen posluchačovýma ušima. Pokud  ve
    scéně nefigurují žádné stěny ani překážky, slyší posluchač pouze  přímý
    zvuk. Stěny, jak již známo,  vyvolávají odrazy, které posluchač  rovněž
    registuje. Takovému zvuku  se říká  ozvěna (echo).  Je zpožděna  oproti
    přímému zvuku a utlumena  stěnami. Dozvuk místnosti (reverberation)  je
    soubor takovýchto ozvěn  a jeho délka  (interval mezi koncem  zvukového
    signálu vysílaným  zdrojem a  koncem posledního  slyšitelného echa)  se
    nazývá doba dozvuku (reverberation time). Pro mluvené slovo je  ideální
    pod půl vteřiny, symfonická  hudba  vyžaduje  dozvuk  delší.  Tleskejte
    někdy na  různých  místech  Hlavního  nádraží  v  Praze  a  jestli  vás
    neokradou místní lupičské gangy  (dychtící  po  penězích)  a  neseberou
    psychiatři (dychtící po bodech), vytvoříte si celkem hezkou představu o
    délce dozvuku.

    2. Ucho a určení polohy zvuku

      Periferní sluchový systém  je  tlakový  receptor  pracující  v  oboru
    akustických tlaků a  slyšitelných frekvencí.  Jedná se  o orgán,  který
    provádí frekvenční analýzu zvukového signálu v reálném čase.
      Skládá se ze tří částí, vnější, střední a vnitřní ucho.Vnější (boltec
    a zvukovod) pracuje jako zvukový  kolektor a složitý frekvenční  filtr,
    střední (bubínek,  kladívko,  kovadlinka  a  třmínek)  jako  mechanický
    zesilovač  a  vnitřní  (hlemýžď  s  Cortiho  orgánem)  jako  frekvenční
    analyzátor.
      Funkci hlemýždě popisují  teorie slyšení.  Nejznámější je  rezonanční
    teorie: Cortiho orgán  obsahuje  vlákna  napojená  na  citlivá  nervová
    zakončení. Poloměr hlemýždě se vzdáleností od vstupu do vnitřního  ucha
    zmenšuje, takže vlákna nejsou stejně dlouhá. Každé vlákno je "naladěno"
    na určitou frekvenci.  Je-li tato  obsažena ve  zvuku přicházejícím  do
    ucha, rozkmitá se v rezonanci  a podráždí příslušné nervové  zakončení.
    Do mozku se dle této  teorie  přenáší  po  sluchovém  nervu  frekvenční
    spektrum signálu. (Napojit sluchový nerv na komp a máme velmi  kvalitní
    hardwarový akcelerátor encoderu MP3 :-).)

      Podobně jako  binokulární efekty  v prostorovém  vidění se  uplatňují
    binaurální efekty v prostorovém  slyšení.  Princip  je  velmi  podobný:
    Analýza  rozdílů  přijímaných  zvukových  signálů  v  mozku   poskytuje
    informace o vzdálenosti a poloze zvuku a zároveň o prostoru, ve  kterém
    se posluchač nalézá.
      Lokalizaci zdroje (informaci  o jeho poloze)  je možné extrahovat  ze
    vstupních signálů analýzou následujících jevů (cues):
      Meziušní prodleva (Interaural  time  difference;  ITD)  je  způsobena
    malou rychlostí zvuku. Vzdálenost, kterou musí zvuk urazit ze zdroje do
    obou uší, není stejná a  mozek je schopen interpretovat vzniklý  časový
    rozdíl jako  lateralizaci  zdroje  zvuku,  t.j.  informaci,  zda  např.
    troubící slon je spíše vlevo nebo spíše vpravo od nás.
      Za meziušní rozdíl  intenzit (Interaural  intensity difference;  IID)
    může tzv. stín  hlavy (zvuk prošlý  skrze hlavu je  utlumen) a v  menší
    míře rozdíl vzdáleností uší  od  zdroje,  kdy  se  projeví  kvadratická
    závislost intenzity na převrácené  hodnotě  vzdálenosti.  IID  je  také
    složka lateralizace.
      Odezva boltce je velmi důmyslný  aparát,  který  nás  informuje,  jak
    vysoko (myšleno polohově) je zdroj zvuku. (Troubí-li např. zmíněný slon
    ze stromu nebo ze sklepa.) Zmíněný jev je možné aproximovat pomocí tzv.
    head related transfer  functions  (HRTF),  sadou  frekvenčních  filtrů,
    které byly  experimentálně naměřeny  pomocí malých  mikrofonů v  uších.
    Zpřesňující informaci o výšce zdroje poskytuje také odraz od ramen.

      Následující jevy nám přináší  informaci  o  tvaru  prostoru,  kde  se
    nalézáme: jedná se o blízké  ozvěny a  dobu dozvuku.  Mozek je  schopen
    rozlišit složky slyšeného zvuku  na  přímé  a  odražené.  Podle  časové
    vzdálenosti mezi  přímým  a  odraženým  zvukem  určí  mozek  vzdálenost
    překážky. Doba dozvuku je úměrná velikosti místnosti a materiálu jejích
    stěn.

    3. Metody modelování

      Naším hlavním úkolem je vypočítat sadu ozvěn (jejich časové polohy  a
    utlumení) a složit z nich výsledný zvuk.
      Bez ztráty obecnosti můžeme zvuk  ze  zdroje  rozložit  do  nekonečně
    mnoha paprsků  vycházejících ze  zdroje, pokud  vyplní celý  prostorový
    úhel.  Všechny  takové  paprsky  se  chovají  tak,  jak  bylo   popsáno
    v kapitole  1: odráží  se, jsou  pohlcovány etc.  Pro všechny  paprsky,
    které dopadnou  do některého  z uší,  si zapamatujeme,  do jakého  ucha
    dopadly, o kolik se zpozdily, jak  se utlumily a jakým směrem  zavítaly
    do  ucha.  Tento  soubor  hodnot  je  tzv.  akustická  impulsní  odezva
    prostoru.
      Mějme na paměti, že kvalitní 3D  Sound  Engine  by  měl  při  výpočtu
    odezvy zohledňovat všechny jevy zmíněné  v kap.2. Proto je nezbytné  do
    scény  také  zařadit  posluchačovo  tělo.  Nejjednodušší   reprezentace
    posluchače je koule o velikosti  hlavy a  další dvě  koule po  stranách
    hlavy reprezentující obě uši.
      Zvuk, který  by  slyšel  posluchač  na  příslušném  místě  ve  scéně,
    spočítáme jako konvoluci zvukového  signálu zdroje  a impulsní  odezvy.
    Vytvoříme prázdný buffer  a  podle  impulsní  odezvy  do  něj  mixujeme
    signál. Výsledný stereofonní signál pustíme do sluchátek a kocháme se.

      Jednotlivé metody modelování  zvuku se liší  od sebe metodou  výpočtu
    impulsní  odezvy.  Metoda  zrcadlových  odrazů  se  hodí  pro  simulaci
    jednoduchých prostorů. Předpokladá  vytvoření virtuálních zdrojů  zvuku
    za všemi stěnami (viz  obrázek ). Je možné vyšetřovat odrazy i  vyšších
    řádů, ale jejich počet exponenciálně narůstá s požadovaným řádem.
      Předchozí odstavce evokovaly myšlenku raytracingu. Je to metoda velmi
    jednoduchá, její popis  bychom všichni  zcela jistě  nalezli v  některé
    z  předchozích  Výhní.  Jediné,  co  musíme  udělat,  je   předefinovat
    generátor paprsků  a  nadefinovat  všem  povrchům  odrazivost.  Paprsky
    můžeme  generovat  náhodně  (Monte  Carlo  raytracing),  podle  vrcholů
    geodetické koule etc.  Jediné,  co  musíme  dodržet,  je,  aby  paprsky
    homogenně vyplnily prostor.
      Nevýhodou těchto metod je,  že se  velmi obtížně kalkuluje  s  ohybem
    zvuku. Jisté zlepšení přináší metoda cone tracingu, trasování  obecného
    kužele. Zdroj zvuku je generátor  kuželů, u nichž je vyšetřován  průnik
    podstavy s překážkami. Po kolizi s překážkou je kužel rozdělen na  jiné
    dva  kužele  s  navzájem  komplementárními  podstavami.  Jeden  z  nich
    pokračuje dále,  druhý  je  odražen  zpět.  Ohyb  zvuku  je  zde  možné
    simulovat přidáním určité části kužele. (Viz  obrázek )
      Nejpřesnější modely akustické reality  vystupují  z  aplikací  metody
    konečných prvků, ale tu již odsuňme nad rámec tohoto článku.

    4. Závěr

      Autor se pokusil  o popis základních  skutečností, které musíme  brát
    v úvahu při návrhu  3D zvukového enginu.  Jestli nevyschne pramen  jeho
    inspirace, pokusil by se v dalším čísle na toto téma navázat.
      Dopisy případných zájemců o další  informace vřele přivítá na  adrese
    AdamJ@tfc.cz nebo sporkaa@cs.felk.cvut.cz.

      Autor děkuje Doc. Slavíkovi, Ing. Havranovi a Ing. Mikšíčkovi  (ČVUT,
    FEL) za mnoho velmi cenných rad.

                                                          AdamJ / SQC & WSS

    Odkazy na literaturu

    [1] F. Kolmer, J. Kyncl - Prostorová akustika, SNTL, Praha 1980
    [2] R. E. Berg,  D. G.  Stork -  The Physics  of Sound,  Prentice-Hall,
        Inc., 1982
    [3] J. Žára, B. Beneš, P. Felkel - Moderní počátačová grafika, Computer
        Press, Praha 1998
    [4] N. Tsingos, J.-D.Gasquel  - Fast rendering  of sound occlusion  and
        diffration effects for virtual acoustic environments
    [5] T. Funkhouser, I. Carlbom, G. Elko, G. Pingali, M. Sondhi, J.  West
        - A Beam Trancing Aproach  to  Acoustic  Modeling  for  Interactive
        Virtual Environments, SIGGRAPH '98
    [6] J. Jelen, J. Lego - Fyzika II Vydavatelství ČVUT, Praha 1997
    [7] A. Farina, P. Galaverna, G. Truffelli - "Ramsete" un nuovo software
        per la previsione del campo sonoro in teatri, ambienti  industriali
        ed ambiente esterno.
    [8] Jízdní řád ČD 1998/1999

                                            


            výheň