Úvod do bežných zvukových rozhraní API
Introduction Common Audio Apis
V počítačových systémoch, ak potrebujete na výstup zvuku, musíte použiť konkrétny spôsob riadenia zvukových čipov, ako sú napríklad kodek a DAC. V procese mobilizácie zvukového čipu musíte použiť špeciálne programovacie rozhranie aplikácie, ktorým je zvukové rozhranie API. Pomocou zvukových rozhraní API môže zvukový softvér, ako sú prehrávače, navrhovať výstupné programy priamo pre rozhranie API bez toho, aby museli používať rôzne pokyny pre rôzne čipy.
Medzi bežné zvukové rozhrania API patria MME, DS, WDM, KS, WASAPI, ASIO atď.
MRS (WaveIn / WaveOut)
MME je najbežnejšie zvukové rozhranie Windows a nazýva sa MutiMedia Extensions, čo je technológia multimediálnych rozšírení. Má dlhú históriu a dobrú kompatibilitu a možno podporiť všetko základné vybavenie na trhu. Je to pokročilé API a nekomunikuje priamo s hardvérom. Na prístup k audio hardvéru vyžaduje vrstvené rozhranie, ktoré tiež prináša vysokú latenciu. Aj keď toto oneskorenie nespôsobuje zhoršenie kvality zvuku pri prehrávaní zvuku, má veľký negatívny vplyv na spracovanie a nahrávanie zvuku.
MME používa na dokončenie spracovania zvuku sériu API waveIn **** / waveOut ****. Po spustení programu použite funkciu série waveIn **** na otvorenie vstupnej funkcie zvukovej karty, nastavte vyrovnávaciu pamäť na dostatočne malú hodnotu a potom začnite nahrávať zvukové dáta do nastavenej medzipamäte. Keď je vyrovnávacia pamäť plná, vyrovnávacia pamäť sa vyrovná. (WAVHDR) je možné pridať priamo do výstupného frontu série funkcií waveOut ****. Táto metóda sa implementuje jednoduchšie. Nevýhodou je, že MME je API na vysokej úrovni. Trvá teda veľa etáp spracovania systému v celom procese, čo vedie k veľkému oneskoreniu. Ak je vyrovnávacia pamäť príliš malá, zvuk bude prerušovaný. Minimálne oneskorenie je zvyčajne okolo 120 milisekúnd.
WaveOut je prvá metóda výstupu audio streamu spoločnosti Microsoft, takže jej kompatibilita je dobrá. Podporujú ho takmer všetky operačné systémy a zvukové karty spoločnosti Microsoft, ale nedokáže podporiť funkciu „zmiešania viacerých zvukových tokov“ bez použitia hardvérovej akcelerácie. Všetky miešacie akcie sa vykonávajú v softvéri.
DirectSound (DS)
Po vydaní systému Windows 95 Microsoft zistil, že hráči sú stále ochotní používať DOS ako hernú platformu, pretože vývojári hier zistili, že Windows 95 nie je vhodný na video a zvukové úlohy, pretože multimediálne funkcie obsiahnuté vo WinAPI32 sú príliš pomalé. Spoločnosť Microsoft predstavila slávny DirectX, súbor API audio videa a DSP (efektor) API videa a zvuku. DirectSound je jeho súčasťou. DirectSound má 2D / 3D body. DirectSound má efektovú funkciu, takže pri jeho výstupe môžete pridať efekty, napríklad echo, aby ste simulovali skutočné zvukové prostredie. DirectSound slúži predovšetkým hrám. DirectSound sa tiež používa ako API efektov v reálnom čase na niektorých prehrávačoch a zvukových editoroch. DirectSound sa zameriava na výstup a nemá žiadne vstupné funkcie. Pokiaľ to hardvér podporuje, dokáže DirectSound výrazne urýchliť výstupnú odozvu. Rýchlosť odozvy zvukového výstupu systému Windows sa zvýšila na novú úroveň. Okrem niektorých starodávnych zvukových kariet takmer všetky zvukové karty podporujú DirectSound, prinajmenšom DirectSound 2D.
V novembri 2006 spoločnosť Microsoft vydala systém Windows Vista, systém Vista sa neočakávane vzdal podpory pre hardvérovú vrstvu DirectSound 3D (HAL), to znamená, že zvukové karty, ktoré podporujú hardvérovú akceleráciu DirectSound 3D, stratili schopnosť akcelerovať. Posledné vydanie systému Windows 7 zdedilo túto vlastnosť systému Vista a hardvér DirectSound 3D sa akceleruje pri opustení historickej arény.
DirectX Sound sa zameriava na zvukový výstup, priamy prístup k hardvéru a výrazne vylepšenú rýchlosť odozvy. Nastavte pracovný režim DirectSound na najvyššiu úroveň, spravidla môže byť minimálne oneskorenie až 60 milisekúnd.
WDM
WDM je skratka pre Windows Driver Module s nízkou latenciou a podporou viacerých zvukových streamov. Toto je nová funkcia systému Windows 98 SE / ME / 2000. Po zavedení ovládača WDM ľudia zistili, že zvukové karty, ktoré nepodporujú viacero zvukových tokov, môžu prehrávať viac zvukových prúdov. WDM možno tiež považovať za skupinu API. Komunikačným objektom je ovládač namiesto bežnej aplikácie. Pokiaľ ovládač podporuje WDM, pridá veľa funkcií, napríklad všeobecnú tabuľku mäkkých vĺn. Pokiaľ ide o vstup a výstup, WDM je lepší ako MultiMedia Extensions a DirectSound a teraz takmer všetky zvukové karty, ktoré neboli vylúčené, podporujú WDM. WDM môže výrazne znížiť oneskorenie zvukovej karty, niekedy dokonca porovnateľné s ASIO. V niektorých profesionálnych softvéroch na úpravu a tvorbu zvuku bol podporovaný formát WDM.
Latencia MME je vysoká a Direct Sound nie je určený pre profesionálne audio a vznik WDM je dobrým doplnkom týchto nedostatkov. WDM komunikuje priamo s ovládačmi zvukového čipu, znižuje množstvo medzičlánkov a redukuje oneskorenie na novú úroveň. V súčasnosti mnoho profesionálnych zvukových softvérov poskytuje rozhrania WDM.
Takzvaná technológia WDM spočíva v tom, že aplikácia priamo volá základnú systémovú službu. Celkový tok má tiež najskôr prijať dáta z vyrovnávacej pamäte a potom ich odoslať. V prostredí WinXP je zvuk WDM známy aj ako streamovanie jadra. Výhodou tejto schémy je, že oneskorenie môže byť veľmi malé. Spravidla môže byť minimálne oneskorenie od 1 milisekundy do 10 milisekúnd. Za určitých okolností je možné na monopolizáciu všetkých zdrojov zvukovej karty použiť nestránkovanú pamäť, priamy hardvér IRP a RT.
Streamovanie jadra (KS)
Kernel Streaming Chinese znamená stream jadra, čo je spôsob priameho prístupu k základným údajom. Môže obísť systémový mixér jadra systému Windows a komunikovať priamo so zvukovou kartou, čo zvyšuje efektivitu výstupu a znižuje latenciu výstupu. . Streamovanie jadra neprechádza cez Kmixer a priamo vykonáva spracovanie zvukových údajov v režime jadra, aby sme počuli pôvodný zvuk.
Streamovanie jadra má však aj svoje obmedzenia. Po prvé, použitie tohto API bude priamo obsadzovať zvukový hardvér. Pri počúvaní skladby nie je počuť zvonenie QQ. Po druhé, toto API nemá funkciu zvukového vstupu a nemôže používať mikrofón.
Je potrebné poznamenať, že keďže systémy Vista a Win7 začali zastarávať vstupné a výstupné zvukové kanály závislé od kmixer a dma, streamovanie jadra nie je pre systémy Vista a Win7 k dispozícii.
UAA WASAPI)
UAA je najnovšia zvuková architektúra systému Windows, ktorá je k dispozícii v čase uvedenia systému Vista na trh. UAA sa nazýva Universal Audio Architecture, čo je univerzálna zvuková architektúra. Rozhranie API na správu zvukových konverzácií je WASAPI (Windows Audio Session API). WASAPI dokáže spracovať každú sadu zvukových konverzácií osobitne, čo je dôležité.
Napríklad pri používaní WASAPI, ak prehrávate hudbu so vzorkovacou frekvenciou 44,1 kHz, ale QQ so vzorkovacou frekvenciou zvuku 48 kHz opäť zvoní, nemusíte to riešiť dozvukom a žiadna vzorkovacia frekvencia dôjde ku konverzii (SRC). Znížená kvalita zvuku. V skutočnosti je zvukové rozhranie WASAPI štandardom pre mnohých hudobných nadšencov.
WASAPI (Windows Audio Session API) je API pre zvukovú architektúru UAA (Universal Audio Architecture), ktoré bolo pridané od Windows Vista. WASAPI umožňuje prenos nemodifikovaných bitových tokov do zvukových zariadení a obchádza tak rušenie SRC (Sample Rate Conversion). Pre Windows XP je kanálom podobným WASAPI vyššie uvedené streamovanie jadra. WASAPI je možné použiť iba na systémoch Vista a Win7.
Microsoft tvrdí, že vista / 7 začal upúšťať od zvukových vstupov a výstupov závislých od kmixerov a dma a vyvinul to, čo nazývajú WaveRT (Wave RealTime). Ich WASAPI, MMCSS atď. Používajú ako jadro WaveRT a WaveRT ho má. Váš vlastný mixér, ale pokiaľ spustíte exkluzívny režim, môžete tento mixér obísť, vypnúť zvuk všetkých ostatných programov, MMCSS vám umožní vylepšiť audio vstupno-výstupný prenos na najvyššiu prioritu hodín, čo chce spoločnosť Microsoft urobiť skutočne používajú riadenie časovača hodín v reálnom čase. Zvukový stream bez DMA komunikuje priamo s hardvérom zvukových zariadení UAA a umožňuje dokonca aj hareware hodiny zvukovej karty alebo zvukového rozhrania na priame riadenie zvukových údajov. Efekt má byť podobný ASIO, aj keď je to režim zdieľania WASAPI. Neexistuje žiadny SRC, ale v konzole môžete po zdieľaní mixu voľne nastaviť bežnú vzorkovaciu frekvenciu, veľkosť bitov a kanály, takže si môžete ponechať pôvodný signál 44100 Hz, už nie SRC a teraz všetky základné dosky alebo čipy Intel už mám HPET (High Precision Event Timer), ktorý umožňuje v Spracovanie idea a zvuku zvláda vysoké vzorkovacie frekvencie v reálnom čase a s nízkou latenciou zbernice, takže je možné výrazne zvýšiť počet udalostí dátového toku za sekundu, ale ja neviem či to AMD má.
ASIO
Celé meno ASIO je „Audio Stream Input Output“, špecifikácia zvukovej technológie navrhnutá Steinbergom v Nemecku, ktorá je jedným zo štandardov audio API. Hlavnými vlastnosťami ASIO sú nízka latencia a viacstopový viackanálový prenos. ASIO úplne eliminuje centralizovanú kontrolu hardvéru v operačnom systéme Windows. Umožňuje viackanálový prenos medzi softvérom na spracovanie zvuku a hardvérom pri minimalizácii doby odozvy systému na zvukový tok.
Vlastný ovládač MME pre Windows má čas oneskorenia 200 ~ 500 milisekúnd, DirectSound 50 ~ 100 milisekúnd a Mac OS Sound Manager 20 ~ 50 milisekúnd. V prípade ASIO je možné vyrovnávaciu pamäť upraviť podľa nastavenia. Pod 10 milisekúnd existujú prípady, keď je prostredie lepšie ako 1 milisekundu. Preto je možné spracovanie v reálnom čase dosiahnuť pri záznamových operáciách a hudobnej produkcii.
Nízka latencia má veľké dôsledky na záznam zvuku a postprodukciu, ale vplyv na prehrávanie zvuku je kontroverzný. Niektorí nadšenci sa domnievajú, že nízka latencia ASIO môže výrazne znížiť chvenie zvuku (jitter), a tým zlepšiť kvalitu zvuku, ale dá sa povedať, že ASIO je náročnejšie na hardvérové a softvérové prostredie, ak je zvukový ovládač napísaný na úrovni, že je ľahké vyrobiť problémy, ako sú praskanie a studené zvuky.
EAX
EAX je sada environmentálnych zvukových rozšírení, sada na rozširovanie environmentálneho zvuku. Nejde o množinu nezávislých API. Je to sada 3D API založená na DirectSound 3D. Jeho vývojárom je slávny Creative. Spoločnosť Creative uviedla na trh EAX, aby mohla konkurovať A3D a nakoniec zvíťaziť na trhu. Po získaní Aureal sa do EAX importovali niektoré pokročilé algoritmy A3D.
OpenAL
OpenAL je bezplatné multiplatformové zvukové 3D API vyvinuté spoločnosťou Loki Software, ale spoločnosť Loki Software čoskoro skončila s podnikaním a komunita slobodného softvéru prevzala ďalší vývoj. Aktuálnym skutočným hráčom je Creative. Keď sa Vista vzdá podpory hardvérovej akcelerácie DirectSound 3D, je spoločnosť Creative tiež v nepríjemnej situácii. Ak chcete udržať EAX v chode, iba to posilní podporu pre OpenAL. Creative dúfa, že EAX bude znovu postavený na základe OpenAL. Nie je ťažké dosiahnuť tento krok, ale výrobcovia hier ho musia široko podporovať. Podpora OpenAL dnes ešte stále nie je taká dobrá ako podpora DirectSound 3D. Spoločnosť Creative bude musieť svoju slávu zopakovať. Bude to trvať nejaký čas. Ak sa však budete usilovne snažiť uspieť, môžete získať veľké výhody, pretože OpenAL je jediné API pre rôzne platformy.
Žiadne súvisiace príspevky.