DirectSound - DirectSound

DirectSound ning eskirgan dasturiy qismidir Microsoft DirectX uchun kutubxona Windows operatsion tizim tomonidan almashtirildi XAudio2. Bu kam kechikish interfeysi bilan ta'minlaydi ovoz kartasi Windows 95 uchun Windows XP orqali yozilgan drayverlar va bir nechta audio oqimlarni aralashtirish va yozib olish bilan shug'ullanishi mumkin. DirectSound dastlab Microsoft tomonidan yozilgan Jon Maylz.[1]

DirectSound ovozli ma'lumotni ovoz kartasiga uzatishning muhim xizmatidan tashqari, ovozni yozib olish va aralashtirish, effektlarni qo'shish kabi boshqa muhim imkoniyatlarni taqdim etadi (masalan, reverb, aks sado, yoki gardish ), Windows 95 dan XP gacha bo'lgan tezlashtirilgan buferlardan foydalangan holda va tovushlarni 3D bo'shliqda joylashtirish. DirectSound shuningdek, mikrofondan tovushlarni yozib olish yoki boshqa kirish va audio yozib olish paytida effektlarni boshqarish vositalarini taqdim etadi.[2]

Ko'p yillik rivojlanishdan so'ng, bugungi kunda DirectSound etuk API va boshqa ko'pgina foydali imkoniyatlarni taqdim etadi, masalan, ko'p kanalli tovushlarni yuqori aniqlikda ijro etish qobiliyati. DirectSound o'yinlar tomonidan ishlatilishi uchun yaratilgan bo'lsa, bugungi kunda u ko'plab audio dasturlarda audio ijro etish uchun ishlatiladi. DirectShow DirectSound-ning apparat audio tezlashtirish qobiliyatidan foydalanadi, agar ovoz kartasining apparat audio tezlashtirish imkoniyatlari mavjud bo'lsa va audio drayver tomonidan ta'sirlansa.[3]

Xususiyatlari

DirectSound - bu foydalanuvchi rejimi O'rtasida interfeysni ta'minlovchi API ilovalar va ovoz kartasi drayver, ilovalarga tovushlarni chiqarish va musiqani tinglash imkoniyatini beradi.

DirectSound 1995 yilda paydo bo'lganida inqilobiy hisoblanadi, chunki u bir vaqtning o'zida bir nechta audio oqimlarni namoyish qildi va bir nechta dasturlarga bir vaqtning o'zida ovoz kartasiga kirish huquqini berdi. Bungacha o'yinni ishlab chiquvchilar dasturiy ta'minotda o'zlarining audio-ko'rsatish mexanizmlarini tatbiq etishlari kerak edi.

DirectSound beradi namunaviy stavkani konvertatsiya qilish va ovoz aralashtirish (hajmi va pan ) cheklanmagan miqdordagi audio manbalar uchun; ammo, amaliy chegaralar - bu apparat audio manbalarining soni va dastur mikserlarining ishlashi.

DirectSound arxitekturasida tsiklda doimiy ravishda ijro etiladigan "halqa buferi" tushunchasi mavjud. Ilova dasturchisi tovush tamponini yaratadi, so'ngra doimiy ravishda "o'qish kursori" orqali uning holatini so'raydi va uni "yozish kursori" bilan yangilaydi. Buferlarning ikki turi mavjud - fon musiqasi kabi doimiy tovushlarni ushlab turuvchi "oqim" buferi va qisqa tovushlarni ushlab turuvchi "statik" bufer.

Qo'llab-quvvatlanadigan ovoz kartalarida DirectSound "apparat tezlashtirilgan" buferlardan foydalanishga harakat qiladi, ya'ni mahalliy ovoz kartasi xotirasiga joylashtiriladigan yoki tizim kartasidan ovoz kartasi bilan kirish mumkin bo'lgan. Agar apparat tezlashuvi mavjud bo'lmasa, DirectSound tizim xotirasida audio buferlarni yaratadi va faqat dasturiy ta'minot aralashtirishdan foydalanadi.

DOS davri oxiriga kelib "to'lqinli stol "kabi ovoz kartalari Ovozli Blaster AWE32 va Gravis ultratovush bag'ishlangan DSP-lar dan qarzga olingan raqamli musiqa asboblari. Ushbu kartalarda mahalliy xotira mavjud bo'lib, ular bir nechta audio oqimlarni tamponlash va ularni bortda aralashtirish uchun ishlatilishi mumkin, shu bilan protsessorni yuklaydi va ovoz sifatini ancha yaxshilaydi. Biroq, bu faqat DOS-da apparatni to'g'ridan-to'g'ri dasturlash orqali mumkin edi va mahalliy xotiradan to'liq xususiyatli "apparat tezlashtirish" ushbu kartalarda hech qachon amalga oshirilmadi, chunki ikki tamponlash. Kabi keyingi kartalar Sound Blaster Live!, Audigy va X-Fi tizim xotirasi buferlariga to'g'ridan-to'g'ri kirish imkoniyatiga ega.

DirectSound3D

DirectSound3D (DS3D) - bu standartlashtirish maqsadida 1996 yilda DirectX 3 bilan kiritilgan DirectSound-ning kengaytmasi 3D audio Windows-da. DirectSound3D dasturiy ta'minot ishlab chiquvchilariga bitta audio uchun bir marta yozish orqali ovozdan foydalanish imkoniyatini beradi API har bir audio karta sotuvchisi uchun ishlash uchun kodni ko'p marta qayta yozish o'rniga.

DirectX 5-da DirectSound3D uchinchi tomon 3D audio algoritmlarini ishlatadigan ovoz kartalarini qo'llab-quvvatladi tezlashtirmoq Microsoft tomonidan tasdiqlangan usullar orqali DirectSound3D to'g'ri.

DirectX 8-da DirectSound va DirectSound3D (DS3D) rasmiy ravishda birlashtirilib, ularga nom berildi DirectX audioammo, API hali ham odatda DirectSound deb nomlanadi.

EAX

EAX - bu DirectSound va DirectSound3D-ning kengaytmasi bo'lib, u tezlashtirilgan buferlarga ovoz effektlarini qayta ishlashni ta'minlaydi.

Operatsion tizimni qo'llab-quvvatlash

Windows 95

Windows 95, 98 va Me-da DirectSound mikser komponenti va ovoz kartalari drayverlari ikkalasi ham a sifatida amalga oshirildi yadro rejimi VxD drayver (Dsound.vxd), audio apparat tomonidan ishlatiladigan asosiy buferga to'g'ridan-to'g'ri kirishga imkon beradi va shu bilan foydalanuvchi rejimi API va asosiy apparat o'rtasida mumkin bo'lgan eng past kechikishni ta'minlaydi, lekin ba'zi hollarda beqarorlikni keltirib chiqaradi va ko'k ekran xatolar.

Windows 98 WDM Audio va Kernel audio mikser haydovchi (KMixer ), bu raqamli aralashtirish, marshrutlash va bir vaqtning o'zida audio oqimlarni qayta ishlashga imkon berdi, bu yuqori sifatli namuna tezligini konversiyalash bilan, shuningdek yadro oqimi. WDM ostida DirectSound ma'lumotlarni dasturiy ta'minotga asoslangan KMixer-ga yuboradi. Windows 98 Second Edition DirectSound apparati buferi, DirectSound3D apparati abstraktsiyasi, tortishish oqimlari uchun KMixer namuna tezligini konvertatsiya qilish (SRC), ko'p kanalli audio qo'llab-quvvatlash va joriy etish DirectMusic. Agar audio apparat qo'llab-quvvatlasa apparatni aralashtirish (shuningdek, apparat buferi yoki DirectSound apparati tezlashishi deb ham ataladi), DirectSound to'g'ridan-to'g'ri ko'rsatuvchi qurilmaga bufer qiladi.[4] Agar DirectSound oqimlari apparatni aralashtirishdan foydalansa, KMixer va uning kechikish kechikishi chetlab o'tiladi.[5] Windows 98 va Windows Me-da WDM audio drayverlarga afzallik berildi, ammo VxD drayver modeli bilan mosligi saqlanib qoldi.

Garchi Windows haydovchi modeli (WDM) Windows 98 dan boshlab sotuvga chiqarildi, kam sonli audio karta ishlab chiqaruvchilari uni ishlatishdi. Ichki buferlash tufayli KMixer sezilarli qayta ishlash kechikishini joriy qildi (o'sha paytdagi tizimlarda 30 ms). Windows 98, shuningdek, ushbu real vaqtda multimedia ma'lumotlar oqimini qayta ishlash talablarini qondirish uchun WDM oqim sinfining drayverini (Stream.sys) o'z ichiga oladi. Tovush kartasi tizim tomonidan taqdim etilgan port klassi drayveri bilan ishlash uchun maxsus drayverni ishlatganda PortCls.sys yoki oqim klassi drayveri bilan ishlash uchun mini-drayverni amalga oshirsa, dasturlar KMixer-ni to'liq chetlab o'tib, kechikishni kamaytirish uchun yadro oqim interfeyslaridan foydalanishi mumkin.

Windows 2000 / XP

Windows 2000-da, Microsoft ham xuddi shu WDM-ga asoslangan audio stekni amalga oshirdi Windows NT WDM audio drayverlarini va yadro aralashtiruvchi komponentini (KMixer ).[6] Windows XP-da, Microsoft yana bir takomillashtirilgan yadro oqimi sinfi drayverini taqdim etdi, AVStream. Windows XP-dan boshlab DirectSound ta'qib qilish effektlarini qayta ishlash uchun qo'shimcha tezlashtirish ham qo'shildi[7] kabi Akustik aks sadolarni bekor qilish USB mikrofonlari uchun, shovqinni to'xtatish va mikrofonni qo'llab-quvvatlash.

Windows Vista / Windows 7

Windows Vista-da to'liq qayta yozilgan audio stack mavjud Umumjahon audio arxitekturasi. Qayta ishlangan audio to'plamdagi me'moriy o'zgarishlar tufayli DirectSound-dan audio drayverlarga to'g'ridan-to'g'ri yo'l mavjud emas.[8] DirectSound, DirectMusic va boshqa API-lar MME kabi taqlid qilinadi WASAPI Sessiya instansiyalari. DirectSound Microsoft dastur mikserida emulyatsiya rejimida ishlaydi. Emulyatorda apparat abstraktsiyasi mavjud emas, shuning uchun DirectSound tezlashuvi mavjud emas, ya'ni DirectSound tezlashmasiga tayanadigan apparat va dasturiy ta'minot ishlashni yomonlashtirgan bo'lishi mumkin. Ehtimol, dastur va haqiqiy tizim apparatlariga qarab, taxmin qilingan ishlash zarbasi sezilmasligi mumkin. Uskuna bo'lsa 3D audio effektlar DirectSound3D yordamida ijro etilsa, ular ijro etilmaydi; bu shuningdek EAX kengaytmalari bilan moslikni buzadi.[9]

Kabi uchinchi tomon API-lari ASIO va OpenAL Windows Vista-dagi ushbu me'moriy o'zgarishlar ularga ta'sir qilmaydi, chunki ular foydalanadilar IOCtl to'g'ridan-to'g'ri audio drayveri bilan interfeys qilish uchun. Uskuna tezlashtirilgan yuqori sifatli 3D pozitsion audio imkoniyatlaridan foydalanishni xohlaydigan dasturlar uchun echim OpenAL-dan foydalanishdir. Biroq, bu faqat ishlab chiqaruvchi o'zlarining apparatlari uchun OpenAL drayverini taqdim qilgandagina ishlaydi.[10]

Windows 8

WASAPI audio to'plam Windows 8 Vista-da taqdim etilgan dasturiy ta'minotga qo'shimcha ravishda aralashtirish va effektlarni qayta ishlash uchun audio kartaga bir nechta audio oqimlarni "apparatni yuklashni" qo'llab-quvvatlaydi;[11][12] ammo funksionallik faqat ochiq Windows ish vaqti ilovalar.[13] DirectSound va DirectMusic Ovoz kartasi drayverlariga qo'shimcha interfeyslari amalga oshirilmadi.

Windows CE

DirectSound-ning qo'llab-quvvatlashi mavjud bo'lsa-da Windows CE 4.2 gacha bo'lgan versiyalar, 5.0 dan boshlab o'chirildi.[14] Windows CE 6.0 DirectSound-ni qo'llab-quvvatlamaydi, aksincha Waveform Audio API-dan foydalanish uchun dasturlarni qayta yozishni afzal ko'radi.

O'zgartirishni amalga oshirish

Windows Vista-da DirectSound o'chirilgandan so'ng, bir nechta almashtirish dasturlari paydo bo'ldi.

Sound Blaster's Ijodiy ALchemy (2007), EAX kabi DirectSound3D va Audio Effects dasturlarining tezlashishini ta'minlaydi.[15] Creative ALchemy DirectSound3D-ga qo'ng'iroqlarni to'xtatadi va ularni OpenAL qo'ng'iroqlariga aylantiradi, masalan, qo'llab-quvvatlanadigan qo'shimcha qurilmalar tomonidan qayta ishlanadi. Sound Blaster X-Fi va Sound Blaster Audigy. Dasturiy ta'minotga asoslangan Creative audio echimlari uchun ALchemy o'z ichiga o'rnatilgan 3D audio dvigatelidan OpenAL-dan umuman foydalanmaydi.

Realtek, o'rnatilgan ishlab chiqaruvchi HD audio kodeklari, 3D SoundBack deb nomlangan ALchemy-ga o'xshash mahsulotga ega. C-media, kompyuter ishlab chiqaruvchisi ovoz kartasi chipsetlar, shuningdek, Xear3D EX deb nomlangan echimga ega, ammo uning o'rniga DirectSound3D qo'ng'iroqlarini foydalanuvchi hech qanday aralashuvisiz shaffof fonda ushlab turish orqali ishlaydi.

IndirectSound - bu XAudio2 yordamida apparat tezlashtirishni ishlatmasdan DirectSound 3D-ni taqlid qiladigan bepul dastur kutubxonasi.[16]

Shuningdek qarang

Adabiyotlar

  1. ^ "DirectX evolyutsiyasi". Maksimal kompyuter. 3 (9): B8. 1998 yil oktyabr. Olingan 21 iyul, 2019.
  2. ^ DirectSound yozib olish effektlari: MSDN
  3. ^ DirectShow bo'yicha savollar
  4. ^ DirectSound haydovchi modellari
  5. ^ DirectSound apparat tezlashtirishiga umumiy nuqtai
  6. ^ CakeWalk - Windows Pro audio davra suhbati
  7. ^ Uskuna-tezlashtirilgan suratga olish effektlarini ochib berish
  8. ^ "Vista-ga asoslangan ovoz kartalari bo'yicha Techreport maqolasi". Olingan 2008-12-23.
  9. ^ Ijodiy texnologiyalar - qo'llab-quvvatlash - Windows Vista-da audio
  10. ^ "OpenAL va Windows Vista". Arxivlandi asl nusxasi 2008-01-02 da. Olingan 2008-01-10.
  11. ^ Ovozni o'chirish: Windows-da qo'shimcha qurilmalar tomonidan yuklangan audio ishlov berishni ochish
  12. ^ Windows Driver Kit - Windows Developer Preview - Ovoz drayverlari uchun yangi
  13. ^ http://msdn.microsoft.com/en-us/library/windows/hardware/dn265105(v=vs.85).aspx
  14. ^ Windows CE 5.0 funktsional imkoniyatlarni olib tashladi
  15. ^ "Creative ALchemy veb-sayti". Arxivlandi asl nusxasi 2008-12-17 kunlari. Olingan 2008-12-23.
  16. ^ IndirectSound

Tashqi havolalar