OpenAL

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 16. února 2021; kontroly vyžadují 4 úpravy .
OpenAL
Typ API
Autor Software Loki
Vývojář kreativní technologie
Zapsáno v C [1]
Operační systém multiplatformní
První vydání června 2000
Nejnovější verze 1.1 (instalační program 2.1.0.0) ( listopad 2009 )
Licence proprietární
webová stránka openal.org

OpenAL ( anglicky  Open A udio L ibrary ) je multiplatformní aplikační programovací rozhraní (API) pro práci se zvukovými daty. Klíčovou funkcí je práce se zvukem ve 3D prostoru a používání EAX efektů . Podporováno společností Creative .

Historie

OpenAL vytvořila společnost Loki Software jako nástroj pro jejich obchodní přenosy her z Microsoft Windows na GNU/Linux . Po uzavření společnosti byl projekt nějakou dobu vyvíjen komunitou svobodného softwaru  – přidal funkcionalitu zvukového čipsetu zabudovaného do NVIDIA nForce . Dnes je projekt hostován na serveru Creative Technology a z velké části je vyvíjen.

Po vydání specifikace verze 1.1 byla původní implementace OpenAL uzavřena, místo toho se navrhuje použít proprietární implementaci vyvinutou společností Creative. V reakci na to komunita svobodného softwaru vytvořila vlastní implementaci založenou na dochovaném zdrojovém kódu původní implementace. [2]

Ačkoli charta OpenAL uvádí, že projekt by měl mít „Architecture Review Board“ (ARB), podobně jako projekt OpenGL ARB , zatím žádná organizace nepřevzala odpovědnost za vytvoření standardu technické specifikace OpenAL. Specifikace OpenAL existují ve formě konceptu, projednávané vývojáři prostřednictvím e-mailu a na veřejných e-mailových konferencích.

Struktura a funkčnost

Hlavní funkce knihovny OpenAL jsou zdrojové objekty , audio buffery a jediný posluchač . Zdrojové objekty zahrnují ukazatel vyrovnávací paměti, rychlost, polohu, směr a intenzitu zvuku. Posluchač obsahuje rychlost, polohu, směr a celkový zisk zvuku jako celku. Vyrovnávací paměti obsahují zvuková data ve formátu PCM v 8bitovém nebo 16bitovém formátu a také v mono nebo stereo . Funkce vykreslování zvuku provádí potřebné výpočty, jako je určování vzdálenosti, Dopplerův jev a tak dále.

Pro koncového uživatele dává výsledek zpracování těchto komponent OpenAL zcela přirozený zvuk při pohybu postav ve 3D virtuálním světě. A programátor může snadno použít OpenAL ve svém hotovém 3D OpenGL programu.

Na rozdíl od specifikací OpenGL zahrnují specifikace OpenAL dvě API : jádro, které zahrnuje volání funkcí OpenAL, a ALC (Audio Library Context), API používané ke správě kontextu vykreslování, řízení využití zdrojů a povolení zámků ve výpočtech s více vlákny. Existuje také ALUT - knihovna, která poskytuje funkce na vysoké úrovni pro zjednodušení psaní programu, je obdobou knihovny GLUT pro OpenGL.

OpenAL je rozšiřitelný: programátoři nebo společnosti, které nejsou vývojáři OpenAL, do něj mohou přidávat svá vlastní rozšíření. Například proto, aby „naučil“ knihovnu používat funkce jejich zařízení s uzavřenými specifikacemi. Rozšíření lze povýšit na úroveň ARB, to znamená zadat specifikace OpenAL v jeho nové verzi.

Pro pokročilé digitální zpracování signálu nebo hardwarovou akceleraci zvuku lze použít EFX (Effects Extension) nebo EAX .

Implementace

OpenAL SI OpenAL Sample Implementation - Původní implementace s otevřeným zdrojovým kódem (licence BSD), aktuálně není k dispozici. Creative OpenAL Creative OpenAL je implementace společnosti Creative, která nahrazuje OpenAL SI. OpenAL Soft OpenAL Soft je open source implementace (licence LGPL) spravovaná nezávislým vývojovým týmem. Založeno na OpenAL SI. [2]

Aplikace

Hry [3] :

Další aplikace:

Viz také

Poznámky

  1. Otevřený projekt Open Source na Open Hub: Stránka jazyků - 2006.
  2. 1 2 OpenAL Soft - Software 3D Audio (nedostupný odkaz) . Získáno 25. října 2008. Archivováno z originálu dne 20. června 2013. 
  3. Hry, které používají OpenAL . Získáno 6. března 2017. Archivováno z originálu dne 6. března 2017.

Literatura

Odkazy