left click Ghinea

mai ales despre jocuri

AUDIO_ASIO_Bridge_featured

Audiție bit perfect în orice aplicație

 

Imediat după ce am publicat prima parte a articolului „foobar2000 – cîteva idei”, prietenul meu de pe Facebook Rlr Luchian (of Racing League Romania fame), mă întreba ce părere am despre calitatea sunetului pe Spotify, dat fiind că este vorba despre un format lossy, chiar și configurat pe opțiunea sa de maximă calitate, ce corespunde unui format de 320 kbps. I-am răspuns că nu știu ce să-i răspund, pentru că nu folosisem Spotify niciodată pînă atunci. Dar, pentru că deja tot aud de cîțiva ani de Spotify în sus și Spotify în jos, plus alte platforme, gen Tidal sau Deezer, am decis să fac primul pas în lumea platformelor de streaming audio. Așa că m-am înscris la Spotify Premium și am început să utilizez această pagină cu o intensitate relativ ridicată.

În primul rînd, despre calitatea sunetului am o părere foarte bună la folosirea opțiunii de calitate maximă. Dacă iei în considerare faptul că ai acces imediat la o bibliotecă audio imensă, devine acceptabilă utilizarea în regim de streaming a unui format lossy de 320 kbps. În plus, sentimentul că mă aflu în legalitate, la audiția anumitor albume, este de natură să aducă liniște în sufletul meu adînc brăzdat de siajele atîtor corăbii de pirați ce au ancorat în porturile mele LAN.

În al doilea rînd, întocmai precum am explicat în prima parte a articolului „foobar2000 – cîteva idei (partea I)”, mă deranjează felul în care percep reeșantionarea fișierelor audio, pe care Windows-ul o aplică asupra fluxurilor audio din sistem. Soluția pentru evitarea acestei reeșantionări, în cazul unei aplicații precum foobar2000, este aceea de a apela la driverele Wasapi sau ASIO. Dar, ce te faci atunci cînd aplicația pe care o folosești pentru rularea fișierelor audio este una care nu oferă posibilitatea alegerii driverelor audio pe care le utilizează? Acesta este cazul aplicației Spotify, care folosește implicit și neconfigurabil driverele audio sistem default – exact precum se întîmplă și atunci cînd rulezi Spotify din browser.

Ei bine, cele cîteva dintre soluțiile apărute de-a lungul timpului par să nu mai funcționeze, ori nu mai sînt actualizate de foarte multă vreme. Cu toate acestea, nu este cazul să deznădăjduim, deoarece există un mic producător de software, VB-Audio, care oferă o modalitate de a ocoli reeșantionarea audio sistem a Windows-ului. Este vorba despre un pachet destinat Windows 7, dar care merge foarte bine și sub Windows 10. Acest pachet conține un set de drivere și o aplicație de control, numită ASIO Bridge.

Conexiunea software

Setul de drivere, numit „Hi-Fi Cable”, funcționează precum un cablu virtual ce conectează ieșirea audio a oricărei aplicații cu intrarea audio a aplicației ASIO Bridge. Dacă configurăm ca ieșirea audio a aplicației ASIO Bridge să se facă printr-un driver ASIO instalat în sistem, practic, facem ca orice aplicație conectată audio la ASIO Bridge prin intermediul Hi-Fi Cable să iasă prin driverele ASIO respective, ocolind reeșantionarea sistem a Windows-ului.

Cum se face asta la modul practic? După instalarea pachetului ASIO Bridge, deschideți Windows Sound Settings și configurați ca la Output să fie „Hi-Fi Cable Input (VB-Audio Hi-Fi Cable)”. Apoi porniți aplicația ASIO Bridge. Dacă nu sînteți obișnuiți cu astfel de programe care fac conexiuni virtuale între aplicații, veți avea o problemă la început, pentru că amețești de la cît de derutantă este folosirea termenilor de Input și Output în diverse contexte, atît la Hi-Fi Cable, cît și la ASIO Bridge. Mai mult decît atît, nu ajută deloc absența unui manual serios al aplicației și cablului virtual, puținele indicații date de către autor fiind dramatic grevate de prea puțina cunoaștere de către acesta a limbii engleze. Așa că vă voi explica foarte simplu cum să faceți.

Uitați-vă la aplicația ASIO Bridge. Primul lucru pe care trebuie să-l faceți este să apăsați butonul central, dacă pe acesta scrie „ASIO OFF” – el trebuie să indice „ASIO ON”. Evident, trebuie să aveți cel puțin o placă de sunet în sistem care să aibă drivere ASIO instalate la rîndul lor. De regulă, modelele mai noi de cipuri audio onboard ale Realtek – cele mai răspîndite la momentul actual – au drivere ASIO ce se instalează automat cu pachetul de drivere native ale respectivelor cipuri. De aceea, chiar și dacă aveți un Realtek onboard, este o mare probabilitate să aveți drivere ASIO la el. Dacă nu, încercați să vedeți dacă există drivere mai noi disponibile pentru acel cip pe pagina Realtek.

După aceea, pe ecranul LCD virtual de sub buton, se află afișate cuvintele „ASIO Device”. Dacă în dreptul lor nu este deja selectat driverul ASIO pe care vreți să îl folosiți, dați clic pe cuvintele „ASIO Device” și va apărea lista driverelor ASIO instalate în sistem, din care le puteți selecta pe cele dorite.

Acum ar putea apărea nedumerirea legată de Input, Output, ASIO Input și ASIO Output. Să o lămurim. În situația voastră, care nu vreți decît să ascultați ieșirea audio a unei aplicații sau browser, folosind un driver ASIO, de interes este doar jumătatea din stînga a aplicației ASIO Bridge. Acolo, în secțiunea Input, sînt afișate formatul fluxului audio ce intră în ASIO Bridge pe calea Hi-Fi Cable, cuprinzînd informațiile asupra frecvenței de eșantionare și adîncimii pe biți. De asemenea, tot acolo apare și nivelul volumului sonor pe cele două canale, Left/Right. Apoi, doar pentru lămurirea noastră, este bine să știm că în stînga ecranului LCD virtual al aplicației ASIO Bridge, sub inscripția „ASIO Out” este afișat nivelul de volum pe ieșirea ASIO selectată, sub formă de Vu-metru cu LED-uri. Ne mai interesează aici și inscripția centrală, „ASIO Panel”, pe care dacă dăm clic se deschide panoul de control sistem al driverelor ASIO selectate – lucru util dacă avem nevoie să alegem latența audio la care acestea să funcționeze. În rest, ce se află mai la dreapta în interfața aplicației ASIO Bridge nu ne interesează, pentru scopul în care am spus că utilizăm această soluție.

Pe scurt, deci: vă trebuie o placă de sunet cu drivere ASIO, apoi trebuie doar să selectați acele driverele ASIO pentru a fi folosite de către ASIO Bridge (clic pe inscripția „ASIO Device”) și să apăsați butonul „ASIO ON/OFF” pînă cînd acesta arată inscripția „ASIO ON”.

Un reglaj necesar

Este un lucru la care trebuie să fiți atenți: frecvența de eșantionare și adîncimea pe biți. Este necesar ca sistemul să fie configurat exact la frecvența de eșantionare și adîncimea pe biți folosite de aplicațiile ale căror fluxuri audio doriți să le treceți prin driverele ASIO, dacă urmăriți să aveți o audiție „bit perfect”. De cele mai multe ori paginile de streaming audio online oferă aceste date. În cazul Spotify, trebuie să configurăm sistemul la o frecvență de eșantionare de 44.100 Hz și o adîncime pe biți de 16 bit. În acest scop mergem la Sound Settings: Output Device Properties: Additional Device Properties: Advanced: Default Format, unde selectăm „16 bit, 44.100 Hz (CD Quality)”. Tot acolo putem selecta orice altă configurație suportată de dispozitivul audio pe care îl folosim, în așa fel încît această configurație să fie exact cea a fluxului audio oferit de pagina sau aplicația de streaming folosite de voi. Evident, în tot acest timp dispozitivul audio de ieșire activ („Output Device”) trebuie să fie „Hi-Fi Cable Input (VB-Audio Hi-Fi Cable)”.

De ce este necesară această operațiune de configurare? Dacă aplicația sau pagina de streaming folosită „emite” un flux audio la altă frecvență de eșantionare decît cea configurată în sistem după cum am arătat un pic mai sus, atunci Hi-Fi Cable va aplica un algoritm de reeșantionare pentru a aduce acel flux la frecvența de eșantionare activă în sistem – ori, noi tocmai de reeșantionare ne ferim. De asemenea, dacă, cumva, fluxul audio de la sursa de streaming este pe 24 bit adîncime pe biți, iar în sistem adîncimea pe biți este configurată la 16 bit, se pierde integritatea pe biți a fluxului audio. Așa se face că este necesară o asemenea configurare pentru fiecare aplicație sau pagină de streaming care folosește valori aparte ale acestor parametri. De obicei asta nu este o problemă, pentru că dominantă este configurația 16 bit/ 44.100 Hz.

Controlul latenței audio

În timpul utilizării acestei configurații software bazate pe ASIO Bridge și Hi-Fi Cable este posibil să întîlniți o problemă specifică sistemelor care folosesc drivere ASIO: este vorba de întreruperi în sunet, păcănituri, desincronizări. De cele mai multe ori cauza este una singură – driverele ASIO nu sînt configurate corect în ce privește parametrul „ASIO buffer size”. Dacă dimensiunea bufferului ASIO este prea mică, atunci se poate ivi problema de care vă spuneam.

Rezolvarea este una foarte simplă – trebuie mărită dimensiunea bufferului ASIO pînă cînd nu mai apar probleme. Cum facem asta? În interfața aplicației ASIO Bridge veți găsi, în zona centrală a ecranului LCD virtual, un buton pe care scrie „ASIO Panel”. Dați clic pe el și se va deschide panoul de control al driverelor ASIO ale dispozitivului audio pe care îl folosiți ca „ASIO Device” în ASIO Bridge. Acolo, undeva, de cele mai multe ori veți găsi o listă de dimensiuni de buffer ASIO, sub numele de „ASIO Buffer Size”, ori, eventual, ASIO Latency/ Audio Latency. De acolo puteți selecta valori, de la mic la mare, pînă veți ajunge la cea la care nu se mai manifestă problemele.

Dacă, totuși, problemele nu dispar, mai aveți o posibilitate. ASIO Bridge are propria sa latență audio internă, ce poate fi configurată din meniul „Latency”. Încercați și cu valorile afișate în acea listă, este posibil să aveți succes.

Trebuie să fiți atenți la ceva, însă. Cu cît creșteți dimensiunea bufferului ASIO, cu atît mai mare devine latența audio a sistemului, adică intervalul de timp dintre momentul în care un eveniment audio este declanșat de sistem și momentul în care acel eveniment audio este emis efectiv de sistem. Este ceva similar cu latența de controler, ori de mouse – este ca timpul scurs între apăsarea butonului controlerului și momentul în care comanda este efectiv executată de sistem.

Acuma, în utilizare normală, latențe audio de pînă în 100 ms nu pun niciun fel de probleme, cîtă vreme nu rulați procese de timp real critice (muzicienii și jucătorii știu la ce mă refer). Dar, dacă vreți să vă jucați un titlu care presupune viteză de reacție mare, mai ales dacă este vorba despre ceva de genul sporturilor electronice, orice astfel de latență este de evitat. În astfel de situații, sfatul meu este să selectați direct placa de sunet ca dispozitiv audio activ în sistem, folosindu-vă de driverele ei DirectX. Cu un simplu clic stînga pe difuzorul din task bar (aflat în dreapta), veți avea acces la lista dispozitivelor audio instalate în sistem, din care alegeți pe cel care poartă numele celui pe care vreți să îl folosiți. Astfel nu veți trece prin Hi-Fi Cable și ASIO Bridge și veți avea parte de latența minimă de care este capabilă placa voastră de sunet în mod normal. Totuși, nu exclud posibilitatea ca driverele ASIO să fie mai rapide, pe bune – dar asta presupune timp consumat pe experimente mai mult sau mai puțin utile. Anyway, este mai sigur ca în jocuri să apelați la driverele normale ale plăcii de sunet.

Știu că toate astea pot părea un pic covîrșitoare pentru utilizatorul fără experiență. Eventual chiar inutile. Ei bine, bucuria vieții constă în faptul că nu sînt și obligatorii. Dacă nu vă doare, nu vă legați.

Dacă vă doare, you are welcome.

 

Dacă doriți să mă citiți și auziți în continuare, vă rog frumos: patronați-mă! Și vedeți că acum am și o pagină de PayPal, dacă această metodă vă este mai la îndemînă. Mulțumesc.