Пређи на садржај

Корисник:Tomkela/песак 5

С Википедије, слободне енциклопедије

OpenAL (Open Audio Library) je višeplatformski audio programski interfejs (API). Namenjen je efikasnom obradjivanju trodimenzionalnog prostornog zvuka kroz više kanala. Njegov stil API-ja i konvencije namerno na OpenGL podsećaju. OpenAL je biblioteka za prostorni 3D zvuk, koja može dodati realizam igri simuliranjem slabljenja zvuka (na daljinu), Doplerovog efekta (promena frekvencije kao rezultat kretanja) i gustine materijala.

OpenAL je prvobitno imao cilj biti otvoreni standard i open-source zamena za vlasničke softvere (i uopšte međusobno nespojive) 3D audio API-jeve, poput DirectSounda i Core Audio-a, iako se u praksi uglavnom implementira na raznim platformama kao "omotač" oko spomenutih vlasničkih API-ja ili kao vlasnički i specifičan za određene proizvođače. Iako se referentna implementacija kasnije pretvorila u vlasničku i neodržavanu verziju, postoje otvorene implementacije koje su dostupne kao što je OpenAL Soft.

Početak[уреди | уреди извор]

OpenAL je prvobitno razvijen 2000. godine od strane kompanije Loki Software za portovanje Windows igara na Linux.[1] Nakon propasti Loki Software-a, projekat je održavan od strane open source zajednice i implementiran na NVIDIA nForce zvučnim karticama. Creative Technology je bio domaćin projekta sve do 2012. godine.

Od verzije 1.1 (2009), uzorak implementacije od strane Creative-a postao je vlasnički. Međutim, OpenAL Soft je široko korišćena otvorena alternativa koja se i dalje aktivno održava.

Iako u povelji OpenAL-a je bilo planirano formiranje "Architecture Review Board" (ARB) organizacije slične OpenGL ARB-u, ona nikada nije formirana, a specifikacija se uglavnom diskutuje putem e-pošte na javnoj mejling listi.

Originalna lista, OpenAl-devel, koju je vodila kompanija Creative, bila je aktivna od marta 2003. do otprilike avgusta 2012. godine.[2] Ryan C. Gordon, veteran kompanije Loki - koji je nastavio razvoj Simple DirectMedia Layer-a, započeo je novu mailing listu i veb sajt na adresi OpenAL.org , u januaru 2014. godine.[3]

Struktura[уреди | уреди извор]

OpenAL koristi objekte izvora, audio bafere i jednog slušaoca. Izvor sadrži podatke o zvuku, kao što su bafer, brzina, pozicija i smer. Slušalac sadrži podatke o slušanju, uključujući brzinu, poziciju i smer slušaoca, kao i opšte pojačanje zvuka. Baferi sadrže audio podatke u PCM formatu, uključujući 8-bitne ili 16-bitne, mono ili stereo formate. Render engine vrši sve potrebne izračune za efekte kao što su slabljenje zvuka sa daljinom, Doplerov efekat, itd.

U pravilno napisanoj OpenAL aplikaciji, zvuci se ponašaju prirodno kako korisnik prolazi kroz trodimenzionalni prostor virtuelnog sveta. OpenAL specifikacija obuhvata jezgro API-ja koje sadrži funkcionalne pozive, kao i ALC (Audio Library Context) API koji se koristi za upravljanje rendering kontekstima, resursima i zaključavanjem na prenosiv način. Tu je i biblioteka "ALUT" (Audio Library Utility Toolkit) koja pruža korisne funkcije, slično kao "GLUT" u OpenGL-u.

OpenAL koristi mehanizam proširenja kako bi omogućio dodatnu funkcionalnost u budućnosti. Proizvođači mogu uključiti svoja sopstvena proširenja u distribucije OpenAL-a, obično kako bi izložili dodatne funkcije na svojem vlasničkom hardveru. Proširenja mogu biti promovisana u ARB (Architecture Review Board) status, što ukazuje na standardno proširenje koje će se održavati radi obrnutu kompatibilnost . Za naprednu obradu signala i hardverski ubrzane zvučne efekte, mogu se koristiti EFX (Effects Extension) ili proširenja za prostorni zvuk (EAX).

Mane[уреди | уреди извор]

Model jednog slušaoca u OpenAL-u je prilagođen jednom ljudskom korisniku i nije pogodan za veštačku inteligenciju, simulacije robota ili više ljudskih učesnika, kao što je to slučaj u kolaborativnim muzičkim izvođenjima.[4] U tim slučajevima je potreban model sa više slušalaca. OpenAL takođe ne uzima u obzir kašnjenje širenja zvuka (brzina zvuka se koristi samo za Doplerov efekat). Rastojanje do izvora zvuka samo se prevodi u efekat amplitude (slabljenje), a ne i kašnjenje. Stoga, OpenAL se ne može koristiti za izračunavanje razlike dolaznog vremena, osim ako ta funkcionalnost nije posebno dodata.[5]

Dostupne platforme[уреди | уреди извор]

API je dostupan na sledećim platformama i operativnim sistemima: Android (podržava OpenSL ES), AmigaOS 3.x i 4.x, Bada, BlackBerry 10, BlackBerry PlayBook, BSD, iOS (podržava Core Audio), IRIX, Linux (podržava ALSA, OSS, PortAudio i PulseAudio), Mac OS 8, Mac OS 9 i Mac OS X (Core Audio), Microsoft Windows (podržava DirectSound, Windows Multimedia API i Windows Multimedia Device (MMDevice) API), MorphOS, OpenBSD, Solaris, QNX i AROS.[6]

Podržani gejming uređaji su, na primer: GameCube, PlayStation 2, PlayStation 3, Xbox, Xbox 360, Wii i PlayStation Portable.

Reference[уреди | уреди извор]

  1. ^ OpenAL (на језику: енглески), 2023-04-27, Приступљено 2023-05-30 
  2. ^ „Wayback Machine”. web.archive.org. Приступљено 2023-05-30. 
  3. ^ „The openal January 2014 Archive by thread”. openal.org. Приступљено 2023-05-30. 
  4. ^ OpenAL (на језику: енглески), 2023-04-27, Приступљено 2023-05-30 
  5. ^ „Open Source FPS Game Alien Arena 2009 Released - Slashdot”. games.slashdot.org (на језику: енглески). Приступљено 2023-05-30. 
  6. ^ OpenAL (на језику: енглески), 2023-04-27, Приступљено 2023-05-30