Арганізацыя якаснага вываду гуку на кампутары (foobar2000 1.3.x, Windows XP, Vista / 7/8/10)

  1. 2.1 Дэкодар
  2. 2.2 Постпроцессор
  3. 2.3 Апрацоўнікі
  4. 2.3.1 ReplayGain
  5. 2.3.2 DSP
  6. 2.3.3 Рэгулятар гучнасці (Volume Сontrol)
  7. 2.3.4 Канвэртар глыбіні біт
  8. 2.4 Выснова
  9. 2.4.1 Windows XP
  10. 2.4.2 Windows Vista / 7/8/10

Зараз разгледзім падрабязней усё, што тычыцца foobar2000. Адным з вартасцяў гэтага плэера з'яўляецца вельмі прадуманы і празрысты тракт. Каб наглядна гэта прадэманстраваць я намаляваў блок-схему (націснуць для прагляду):

нататкі:
1. Як відаць з схемы, прысутнасць ўсіх кампанентаў неабавязкова - некаторыя можна адключаць, а некаторыя ўключаюцца толькі пры неабходнасці. Так, напрыклад, дэкодэр патрэбен толькі для сціснутых фарматаў, а канвэртар глыбіні біт ўключаецца пры неадпаведнасці фармату ўваходных дадзеных налад высновы (output data format).
2. Для Windows 7+ магчымы выснову ў фармаце з якая плавае кропкай (32-bit выснову праз DS).

2.1 Дэкодар

Дэкадуе ўваходныя дадзеныя, у выніку чаго атрымліваем несціснуты гукавы струмень у выглядзе імпульсна-кодавай мадуляцыі. Большасць lossy дэкодараў працуюць у рэжыме з якая плавае кропкай (32-біт). На выхадзе дэкодараў lossless атрымліваюцца дадзеныя з параметрамі аналагічнымі зыходнага аўдыё (якое сціскалася). Звярніце ўвагу, што паток DSD (калі SACD / DSD дэкодэр працуе ў рэжыме DSD) варта на выснову, абыходзячы ўсе звёны, праз якія праходзіць PCM.

2.2 Постпроцессор

Гэты элемент быў уключаны распрацоўшчыкам ў тракт параўнальна нядаўна. Выконвае ролю дэкодэра фарматаў HDCD і DTS (Толькі lossless крыніцы - пакуль толькі CDDA, WAV, FLAC, ALAC і WV). Бо для паспяховага дэкадавання гэтых фарматаў дадзеныя з звычайнага дэкодэра павінны перадавацца біт-в-біт, постпроцессор знаходзіцца ў тракце адразу пасля яго.

2.3 Апрацоўнікі

Здзяйсняюць лічбавую апрацоўку гукавога патоку. Трэба адзначыць, што выкарыстоўваць іх трэба толькі пры неабходнасці, бо практычна любая апрацоўка гуку - няхай гэта будзе нават змена гучнасці - абавязкова ўносіць пэўныя скажэнні. Усе апрацоўшчыкі па змаўчанні працуюць у рэжыме з якая плавае кропкай. Да лічбавым апрацоўшчыкам foobar2000 адносяцца:

2.3.1 ReplayGain

Перш за ўсё трэба адзначыць, што любы lossy аўдыё файл не ўтрымлівае лічбавага аўдыёструменю як такога. Ён змяшчае яго апісанне з дапамогай розных функцый і г.д., па якіх можна аднавіць прыкладную форму зыходнай хвалі (што і робяць дэкодэры lossy фарматаў). І вось, пры дэкадаванні ўзнікае адзін нюанс: т.к. кадаванне адбываецца з стратамі (паўтаруся: дадзеныя ў lossy аўдыё-файле дазваляюць аднавіць толькі прыкладную форму зыходнай хвалі), сэмплы на выхадзе маюць узровень адрозны ад таго што быў на ўваходзе.

Чым жа гэта пагражае? Дэкодэр foobar2000 працуе ў фармаце з якая плавае кропкай, што дазваляе яму апрацоўваць і апісваць хвалю не толькі ў межах нейкага дыяпазону. Напрыклад, для 16 біт з фіксаванай кропкай (16-bit signed integer): 2 ^ 16 = 65536 магчымых значэнняў ўзроўню, а менавіта, лікі ад -32768 да 32767. Але справа ў тым, што пасля таго як сігнал перадаецца плэерам на выснову, ён аўтаматычна пераўтвараецца ў фармат з фіксаванай кропкай.

Разгледзім прыклад. Калі мы будзем ператвараць сэмпл з узроўнем 1.000000 (плаваючая кропка) у фармат 16 біт з фіксаванай кропкай, то атрымаем лік 32767 - гэта максімальны ўзровень для 16-bit integer. Але не будзем забываць, што пры дэкадаванні lossy зыходны сігнал аднаўляецца набліжана, і мы можам атрымаць сэмплы з больш высокімі ўзроўнямі, напрыклад 1.124325. І правільна апісаць гэта значэнне ў рэжыме фіксаванай пункту ўжо не атрымаецца, г.зн. ўзровень гэтага семплов ён аўтаматычна прыраўнялі да максімальнага - 32767.

І што ж мы атрымліваем? Такім чынам усе ўчасткі хвалі (якая складаецца з кропак-семплов), якія выходзяць за максімальны ўзровень, «абразаюцца», з прычыны чаго замест сінусоіды напрыклад мы атрымаем нешта падобнае на прастакутныя імпульсы (калі «вярхушкі» сінусоіды апынуцца вышэй максімуму, яны будуць «зрэзаныя »), а гэта азначае, што мы маем дадатковыя нелінейныя скажэнні (узровень скажэнняў залежыць ад таго, якая частка гукавой хвалі выходзіць за максімум). Нешта падобнае можна пачуць пры «замыканні» калонак - калі падаеш на калонкі сігнал з магутнасцю якая перавышае максімальную дапушчальную - дыфузары не могуць рухацца далей максімальнага ўзроўню адхіленні, атрымліваюцца такія ж скажэнні як і ў нашым выпадку. Першае аб'яўленне (з лічбавым аўдыёструменю) - гэта софтавых клиппинг (Англ. Clipping - абразанне), другое (з дыфузарамі) - апаратны клиппинг (у некаторых іншых выпадках гэта з'ява называюць «перагрузкай»).

Для чаго ж у нашым выпадку патрэбен ReplayGain?

а) Каб вызначыць, ці выходзіць ўзровень дэкадаваць сігналу за дапушчальныя межы, а менавіта вызначыць пікавы ўзровень запісу - гэта робіць ReplayGain Scanner.

б) Панізіць ўзровень трэка так, каб ён ўпісваўся ў рамкі дапушчальнага - пасля таго як сканар вырабіў сканаванне, ён запісвае ReplayGain тэгі (з інфармацыяй пра пікавым узроўні), а плэер пры прайграванні счытвае гэтыя тэгі і заніжае ўзровень гучнасці ўсёй запісу (менавіта ўсёй - каб не мяняць баланс гучнасці паміж асобнымі ўчасткамі) так, што пік аказваецца на максімальным узроўні (0 dB на пикметре), а ўсё астатняе - вядома ж, не вышэй за гэты ўзровень.

налада:
налада:

Source mode: track, калі вы хочаце захоўваць баланс гучнасці толькі ў межах аднаго трэка, album - калі вам важны баланс гучнасці паміж трэкамі усяго альбома.

Processing: Prevent clipping according to peak - лепшы ў большасці выпадкаў варыянт, пры якім будзе толькі прадухіляе clipping (узровень, на які будзе прыніжаць гучнасць, будзе разлічвацца з дапамогай тэга track peak або album peak - у залежнасці ад абранага source mode).

Apply gain - у гэтым рэжыме ReplayGain дапаможа выраўнаваць ўспрыманую гучнасць праслухоўваецца Вамі трэкаў (часта ўспрыманая гучнасць не звязаная з пікавым ўзроўнямі, бо яна вызначаецца метадам псіхакустычнай аналізу); дадзены варыянт не рэкамендуецца, бо пры гэтым можа моцна змяняцца гучнасць трэкаў, што толькі пагаршае становішча ў плане якасці.

Apply gain and prevent clipping according to peak. у выніку аналізу трэка ўтыліта ReplayGain можа палічыць яго занадта ціхім і прапісаць у тэгах станоўчае значэнне ўзмацнення, гучнасць пры прайграванні такога трэк будзе завышацца, у выніку чаго пікі выніковага сігналу могуць апынуцца вышэй максімальнага ўзроўню. Гэты рэжым дазваляе утыліце пры прайграванні аналізаваць не толькі тэг track (або album - у залежнасці ад source mode) gain, але і track (album) peak і разлічваць максімальную дапушчальнае ўзмацненне, каб прадухіліць клиппинг.
Pre-amp: Дадатковае ўзмацненне на выбар карыстальніка. Працуе толькі пры ўключаным Apply gain (або apply gain and prevent clipping), сумуецца з узмацненнем з тэга Track (Album) gain. Выкарыстанне дадзенай функцыі не рэкамендуецца, бо, зноў жа, можа негатыўна паўплываць на якасць.
With RG Info - для трэкаў з тэгамі ReplayGain
Without RG info - для трэкаў без тэгаў Replay Gain.

Заўвага: калі вы па нейкай прычыне не хочаце ці не можаце выкарыстоўваць ReplayGain, ёсць іншы варыянт - Advanced Limiter DSP (глядзіце ніжэй).

Больш падрабязную інфармацыю па гэтай тэме можна знайсці ў маім артыкуле «Аб паняцці гучнасці ў лічбавым прадстаўленні гуку і пра метады яе павышэння» .

2.3.2 DSP

Гэта лічбавыя апрацоўшчыкі гуку, неабходныя для выканання розных пераўтварэнняў гукавога патоку ў рэжыме рэальнага часу.

У ідэале любая апрацоўка гуку, вядома ж, павінна адсутнічаць, але ў некаторых выпадках для дасягнення больш высокай якасці даводзіцца выкарыстоўваць некаторыя апрацоўшчыкі. У прыватнасці, DSP пад назвай Resampler проста неабходны пры адсутнасці апаратнай падтрымкі гукавой картай частоты дыскрэтызацыі прайграванага сігналу (часцей за ўсё гэта матэрыял са гукавых кампакт-дыскаў з частатой дыскрэтызацыі 44.1 кГц) для выканання папярэдняга пераўтварэнні гукавога патоку ў выгляд адпаведны апаратным магчымасцям гукавой карты (часцей за ўсё гэта пераўтварэнне 44.1-> 48/96/192 кГц).

Заўвага: для ўбудаваных візуалізацыі паток здымаецца адразу пасля праходжання праз ланцужок DSP.

Выяўленне няякаснай передискретизации

На гэты выпадак існуе спецыяльны сэмпл:

udial.flac
[СПАМПАВАЦЬ] (0.18 MБ)

Гэты сэмпл складаецца з паслядоўнасці танальных сігналаў з накладзеным на яе сінусоідным сігналам, частата якога плавае ў межах 19-20 кГц:

У выпадку няякаснага софтавых ресемплинга пры прайграванні гэтага семплов вы пачуеце скрыгат, шум, або іншыя скажэнні.

Заўвага: для дакладнай праверкі ресемплинга спачатку варта ўсталяваць правільныя налады вываду (гл. П. 2.4.1 / 2.4.2).

Настройка

Разгледзім два варыянты для прайгравання матэрыялаў з частатой дыскрэтызацыі 44.1кГц:

a) Ваша карта апаратна падтрымлівае дадзеную частату дыскрэтызацыі. У гэтым выпадку для дасягнення максімальнага якасці на ўкладцы DSP павінны адсутнічаць якія-небудзь уключаныя апрацоўшчыкі (першы спіс, злева).

б) Ваша карта апаратна НЕ падтрымлівае дадзеную частату дыскрэтызацыі. Для дасягнення максімальнай якасці ўсталюеце убудова SoX Resampler і выстаўце ў яго наладах максімальную частату дыскрэтызацыі, якую апаратна падтрымлівае ваша гукавая карта. Пасля плагіна SoX resampler ў спіс актыўных убудоў абавязкова дадайце Advanced Limiter - гэты убудова дазволіць прадухіліць клиппинг, "на ляту" прыніжаючы ўзроўні участкаў гукавога патоку, якія ў выніку ресемплинга сігналу (або іншай апрацоўкі) могуць аказвацца вышэй максімальнага ўзроўню.

Калі ў вас ёсць яшчэ адзін выпадак і вы выставілі рэкамендуемыя налады, то зараз з'явіцца магчымасць максімальна якасна (для гэтай гукавой карты) прайграваць не толькі запісы 44.1 кГц, але і запісы з любой іншай частатой дыскрэтызацыі. У выпадку, калі частата прайграванага матэрыялу супадзе з максімальнай падтрымліваецца вашай картай, ресемплер проста адключыцца (за непатрэбнасцю).

Ёсць і яшчэ адзін варыянт налады, які падыдзе для дарагіх высокатэхналагічных гукавых карт / ЛАП. Справа ў тым, што ў некаторых выпадках (а менавіта, пры вывадзе праз WASAPI Exclusive або ASIO - пра іх чытайце далей) такія прылады ўмеюць аўтаматычна падладжваць сваю апорную частату пад частату дыскрэтызацыі прайграванага патоку (т. Зв. Аўтамат частоты). У гэтых выпадках выкарыстанне ресемплера для тых частот, з якімі прылада можа працаваць на апаратным узроўні, залішне, і ідэальным рашэннем будзе выкарыстанне SoX Resampler mod:

У гэтых выпадках выкарыстанне ресемплера для тых частот, з якімі прылада можа працаваць на апаратным узроўні, залішне, і ідэальным рашэннем будзе выкарыстанне SoX Resampler mod:

Тут я паказаў усё частоты, якія падтрымліваюцца падлучаным цяпер у мяне ЛАП iFi nano iDSD. Цяпер пры падачы патоку з любой з названых частот ресемплер ўключацца не будзе, а ЛАП будзе сам вызначаць і падладжваць сваю частату:

Цяпер пры падачы патоку з любой з названых частот ресемплер ўключацца не будзе, а ЛАП будзе сам вызначаць і падладжваць сваю частату:

У выпадку нестандартнай частоты крыніцы (напрыклад, 32000 Гц) яна будзе ператварацца ў 384 кГц. Вядома, не кожная гукавая карта можа пахваліцца такой падтрымкай частот (у дадзеным выпадку SoX Resampler можна нават не ўключаць - запісы з іншымі частотамі дыскрэтызацыі практычна не сустракаюцца), для лінейкі Creative X-Fi 2004 года, напрыклад, аўтамат частоты працуе толькі пры вывадзе праз ASIO ў рэжыме Audio Creation і толькі з частотамі 44.1 / 48 / 88.2 / 96 кГц. Карыстацца апісаным метадам можна толькі калі вы ўпэўнены ў «роднай» падтрымцы названых частот і можаце праверыць бягучую апорную частату ў панэлі прылады або на лічбавым індыкатары.

2.3.3 Рэгулятар гучнасці (Volume Сontrol)

Уласны рэгулятар гучнасці плэера. У выпадку неабходнасці праграмнай рэгулявання гучнасці рэкамендуецца выкарыстоўваць менавіта яго (а не рэгулятары у наладах гукавой карты / мікшар Windows). Пры вывадзе праз WASAPI shared ( "DS: <гукавая карта>" у Windows Vista +) сінхранізуецца з рэгулятарам праграмы ў мікшар Windows.

2.3.4 Канвэртар глыбіні біт

Выкарыстоўваецца для пераўтварэнне дадзеных у фармат, які здольная ўспрыняць гукавая карта (звычайна гэта 16 ці 24-бітнае аўдыё ў фармаце PCM з фіксаванай кропкай). Магчымасці выбару фармату залежаць ад выкарыстоўванага плагіна высновы (глядзіце наступны пункт).

2.4 Выснова

Убудова вываду неабходны як злучнае звяно паміж плэерам і Windows / драйверам гукавой карты. Убудова вызначае якім чынам і праз які інтэрфейс будзе рабіцца выснова атрыманага (у выніку працы ўсіх папярэдніх звёнаў) аўдыёструменю з плэера на гукавую карту. Часта гэта звяно гуляе вырашальную ролю, бо выкарыстанне альтэрнатыўных інтэрфейсаў дазваляе абыйсці некаторыя няякасныя ўчасткі гасцінца. Трэба адзначыць, што на этапе вываду паток часцей за ўсё пераўтворыцца ў фармат з фіксаванай кропкай (глыбіня біт ад 8 да 32 біт - у залежнасці ад выбраных параметраў), да чаго гэта можа прывесці - ужо разглядалася ў раздзеле аб ReplayGain. На дадзены момант у foobar2000 існуюць наступныя спосабы вываду гуку: DirectSound, Kernel Streaming, ASIO, WASAPI Shared і WASAPI Exclusive (толькі для Vista / 7/8).

З прычыны прынцыповых адрозненняў паміж архітэктурамі Windows XP і Windows Vista + разгледзім наладу вываду для іх асобна.

2.4.1 Windows XP

Вось прыкладная схема гукавой падсістэмы Windows XP:

Як бачна, пры вывадзе праз DirectSound або MME гук праходзіць праз мікшар Windows (Kmixer). Галоўнае адрозненне DirectSound складаецца ў шырокіх магчымасцях выкарыстання апаратных рэсурсаў гукавой прылады, у тым ліку апаратнага міксавання і нізкай затрымкі. Але справа ў тым, што гэтыя магчымасці наўпрост залежаць ад выкарыстоўваных драйвераў. Такім чынам, з-за няякасных драйвераў гукавы карты (гэта цяпер не рэдкасць, асабліва састарэлыя драйвера) у аўдыё могуць уносіцца скажэнні. Узнікаць яны могуць як у выніку працы рэгулятара Wave (ўваходзіць у Kmixer), так і ў выніку няякаснай праграмнай передискретизации ці іншай непажаданай апрацоўкі.

Вырашыць праблему дапамогуць два іншых вываду, якія здольныя абыйсці Kmixer - ASIO і Kernel Straming. Kernel Streaming - гэта сродак па-бітавага вываду гуку ад Microsoft, якое ўваходзіць у DirectSound (на схеме - струмень які абыходзіць Kmixer). ASIO (Audio Stream Input / Output) таксама дазваляе з'яўляецца прафесійным стандартам ўводу / высновы, закліканым мінімізаваць затрымкі (значэнне затрымак для простага прайгравання музыкі зусім не крытычна і на якасць не ўплывае), і таксама дазваляе абыйсці Kmixer.

Звярніце ўвагу: для шматлікіх сучасных гукавых карт з нармальнымі драйверамі, вынікі для ўсіх высноў (у foobar2000) пры рэгулятары Wave на максімум (мае значэнне толькі для DirectSound) супадаюць. А пры падтрымцы 24-бітнага (і вышэй) вываду наогул можна абыйсціся адным DirectSound, нават у выпадку калі ўзровень Wave нельга выставіць на максімум - якасць будзе такім жа, як і пры вывадзе праз KS. Каб канчаткова развеяць Вашы сумнення, рэкамендую да чытання артыкул foobar2000: Kernel Streaming супраць DirectSound .

налада:

Такім чынам, калі Ваша гукавая карта падтрымлівае ASIO, запампуйце і ўсталюеце са старонкі убудоў foobar2000 ASIO Output. Калі ж падтрымкі няма, усталюйце Kernel Streaming. Далей запусціце foobar2000 і на старонцы вываду выберыце ў Output device драйвер ASIO вытворцы Вашай карты (напрыклад: ASIO: Creative ASIO, ASIO: Xonar Essence STX ASIO) або жа KS: <ваша гукавая карта>:

Buffer Length - гэта рэгуляванне буфера плэера. Чым менш значэнне - тым хутчэй (лічачы ад моманту ўключэння / змены) будуць уступаць у сілу змены гучнасці, ўключэнне убудоў і т. Д. На якасць высновы дадзеная опцыя не ўплывае, змяняць стандартнае значэнне не рэкамендуецца (т. К. Пры высокай нагрузцы могуць з'явіцца пстрычкі і трэск).

Output format / Postprocessing

Output data format: усталюеце максімальную разраднасць, падтрымліваемую вашай гукавой картай. Фарматы 8 і 16 біт з'яўляюцца паўнавартаснымі фарматамі з фіксаванай кропкай. Фармат 24 біт адпавядае альбо i24v24 ( «integer 24 valid 24», 24 біта з фіксаванай кропкай, 24 ўважаецца біта) альбо i32v24 (32 біта, фіксаваная кропка, 24 ўважаецца біта) - у залежнасці ад падтрымкі драйверам гукавой карты. Фармат 32 біта адпавядае альбо 32 бітам з якая плавае кропкай (f32v32), альбо, у выпадку адсутнасці падтрымкі драйверам плавае кропкі - 32 бітам з фіксаванай кропкай (i32v32). У некаторых выпадках (для высновы ASIO і ў больш новых АС) разраднасць вываду плэер выбірае сам, на аснове атрыманых ад драйвера дадзеных.

Dither: ўключэнне dithering + noise shaping (падрабязна чытайце ў артыкуле «Сістэмы паніжэння разраднасці ў майстарынгу» . Дадзеная функцыя можа быць карысная толькі пры выкананні аднаго з наступных умоў:

а) Калі ваша гукавая карта апаратна НЕ падтрымлівае разраднасць гуку вышэй 16 біт і вы карыстаецеся адну з функцый: ReplayGain, DSP, Volume Control (рэгулятар гучнасці ў foobar2000).

б) ваша гукавая карта апаратна НЕ падтрымлівае разраднасць гуку вышэй 16 біт і вы прайграваць у foobar2000 матэрыял з разраднасцю больш за 16 біт.

Ва ўсіх астатніх выпадках (напрыклад, калі ўсё апрацоўшчыкі выключаны і вы прайграваць матэрыял з разраднасцю 16 біт) ўключэнне дадзенай функцыі толькі пагоршыць якасць.

Калі вы выкарыстоўваеце выснову ASIO, яго таксама неабходна наладзіць:

Калі вы выкарыстоўваеце выснову ASIO, яго таксама неабходна наладзіць:

Use 64-bit ASIO drivers - калі ў вас 64-бітная АС і маецца 64-бітны драйвер ASIO, вельмі пажадана ўключыць гэты параметр для павышэння прадукцыйнасці.

Run with high process priority - запускае апрацоўшчык ASIO (працэс ASIOHOst [64] .exe) з высокім прыярытэтам. Таксама дазваляе палепшыць прадукцыйнасць.

Акрамя таго, калі клікнуць два разы па назве ASIO драйвера ў ASIO drivers, з'явіцца акно налады ASIO драйвера:

Акрамя таго, калі клікнуць два разы па назве ASIO драйвера ў ASIO drivers, з'явіцца акно налады ASIO драйвера:

Разраднасць (калі Яна наладжваецца Ў вашым драйверы) рэкамендуецца ўсталяваць у 24 біта, аптымальнае значэнне буфера ASIO звычайны 20-40 мс. Звярніце ўвагу на тое, што буфер ASIO ўплывае на частату абнаўлення візуалізацыі плэера (чым менш - тым вышэй частата), пры гэтым малое значэнне можа прывесці да відавочным скажэнням, пстрычках і завісання.

2.4.2 Windows Vista / 7/8/10

У гэтых АС гукавая падсістэма мае зусім іншую структуру. Ніжэй прадстаўлена яе спрошчаная блок-схема:

API - Application Programming Interface   APO - Audio Processing Object   CPT - Cross Process Transport   KST - Kernel Streaming Transport
API - Application Programming Interface
APO - Audio Processing Object
CPT - Cross Process Transport
KST - Kernel Streaming Transport

Як відаць з схемы, ніякага DirectSound тут няма (ёсць толькі яго бачнасць для сумяшчальнасці са старымі праграмамі). Па-змаўчанні ўсе гукі выводзяцца праз інтэрфейс WASAPI (Windows Audio Session API) у т. Зв. Увогуле (shared) рэжыме, які ўключае ў сябе розныя службы, софтавых апрацоўшчыкі і мікшар. Таксама відавочна, што гук перадаецца драйверу прылады толькі прайшоўшы ўсе вышэйпаказаныя складнікі. Такім чынам, усе гукі прыводзяцца да адной частаце і бітнасцю, змешваюцца, (уся апрацоўка ідзе з выкарыстаннем вылічальных рэсурсаў ЦП), а на гукавую карту паток паступае ўжо ў гатовым выглядзе.

Як паказала практыка, у некаторых выпадках апрацоўшчыкі падсістэмы WASAPI могуць звужаць дынамічны дыяпазон запісу, прыўносячы ў яго некаторы шум. Гэта залежыць ад абранай разраднасці у наладах прылады, аднак, так ці інакш, атрымаць пабітава выснову пры выкарыстанні WASAPI shared атрымоўваецца не заўсёды.

У дадзеных АС таксама прысутнічае Kernel Streaming (KST), але на практыцы ён далёка не заўсёды працуе - часам прылада па незразумелых прычынах аказваецца «занята».

Калі паглядзець на схему, то можна заўважыць, што прамы доступ да драйверу маецца праз ASIO. Адсюль выснова: калі ваша карта апаратна падтрымлівае ASIO (і мае разумны драйвер ASIO 2.0) - выкарыстоўвайце гэты інтэрфэйс. Не забывайце, што для гэтага неабходны убудова ASIO Output .

Але што ж рабіць калі ў карты няма падтрымкі ASIO? Адразу скажу, што ASIO4ALL тут наўрад ці дапаможа, бо працуе праз той жа нестабільны Kernel Streaming.

На шчасце, выхад з гэтай непрыемнай сітуацыі ўсё ж існуе. Распрацоўшчыкі пакінулі нам шчыліну, і называецца яна WASAPI Exclusive. У гэтым рэжыме можна абыйсці ўсе непажаданыя складнікі WASAPI. Праўда, у эксклюзіўным рэжыме дзейнічаюць жорсткія абмежаванні - пры выкарыстанні прыкладаннем гэтага рэжыму гукі ўсіх астатніх прыкладанняў адключаюцца.

Настройка

Заўвага: апісанне налад вываду можна знайсці ў папярэднім раздзеле. Тут асветлены толькі спецыфічныя для новых АС моманты.

Як я ўжо сказаў, калі ў вашай карты ёсць падтрымка ASIO - выкарыстоўвайце яго (апісанне налад можна знайсці вышэй). У адваротным выпадку запампуйце са старонкі убудоў foobar2000 і ўсталюйце убудова WASAPI Output, пасля чаго выберыце яго для вываду:

У адваротным выпадку запампуйце са   старонкі убудоў foobar2000   і ўсталюйце убудова WASAPI Output, пасля чаго выберыце яго для вываду:

Звярніце ўвагу: у WASAPI exclusive існуе два рэжыму буферызацыі - Event і Push. Першы рэжым з'яўляецца тэхнічна больш дасканалым і лепш сумяшчальны з USB прыладамі. Аднак, рэжым event падтрымліваецца не ўсімі гукавымі картамі. Такім чынам, пераважным з'яўляецца рэжым event. Калі ж прайграванне ў ім працаваць адмаўляецца, неабходна пераключыцца на рэжым push.

У сувязі з частымі праблемамі пстрычак і трэска падчас прайгравання гуку ў Windows Vista і больш новых тут немалаважна згадаць дадатковыя налады прайгравання, якія знаходзяцца ў File-> Preferences-> Advanced-> Playback:

Hardware buffer in MS - апаратны буфер высновы для кожнага з рэжымаў WASAPI Exclusive. Калі назіраюцца hgj, ktvs са пстрычкамі, паспрабуйце павялічыць значэнне для выкарыстоўванага высновы.
High worker process priority - гэты параметр паказвае высокі прыярытэт выканання апрацоўшчыка WASAPI Exclusive, які запускаецца ў асобным працэсе WASAPIHost [64] .exe (аналагічна ASIO Host). Для дасягнення максімальнага эфекту можна ўсталяваць і гэтаму працэсу, і працэсу foobar2000.exe ў Дыспетчару задач Windows прыярытэт рэальнага часу.

Thread priority - усталёўвае прыярытэт для патоку, які адказвае за прайграванне. Пажадана ўсталяваць у максімум.
Use MMCSS - уключае узаемадзеянне са службай Multimedia Class Scheduler Service, якая займаецца размеркаваннем працэсарных рэсурсаў. Гэтую функцыя разглядаецца ў артыкуле па разбору гукавой падсістэмы WASAPI .
MMCSS mode - выбар рэжыму MMCSS. Для найлепшай прадукцыйнасці і стабільнасці рэкамендуецца значэнне Pro Audio.

За дапамогу ў «пошуках ісціны» вялікі дзякуй ўдзельнікам форумаў foobar2000.org, websound.ru, hydrogenaudio.org

Чым жа гэта пагражае?
Для чаго ж у нашым выпадку патрэбен ReplayGain?
Але што ж рабіць калі ў карты няма падтрымкі ASIO?