Bagikan melalui


Arsitektur Objek Pemrosesan Audio

Objek pemrosesan audio (API), menyediakan pemrosesan sinyal digital berbasis perangkat lunak yang dapat disesuaikan untuk aliran audio Windows.

Gambaran Umum Objek Pemrosesan Audio

Windows memungkinkan OEM dan produsen perangkat keras audio pihak ketiga untuk menyertakan efek pemrosesan sinyal digital kustom sebagai bagian dari fitur bernilai tambah driver audio mereka. Efek ini di kemas sebagai efek sistem mode pengguna Objek Pemrosesan Audio (API).

Objek pemrosesan audio (APO), menyediakan pemrosesan sinyal digital berbasis perangkat lunak untuk aliran audio Windows. APO adalah objek host COM yang berisi algoritma yang ditulis untuk memberikan efek Pemrosesan Sinyal Digital (DSP) tertentu. Kemampuan ini dikenal secara informal sebagai "efek audio." Contoh API termasuk equalizer grafis, gaung, tremolo, Pembatalan Gema Akustik (AEC) dan Kontrol Keuntungan Otomatis (AGC). API adalah objek berbasis COM, real-time, dalam proses.

Catatan Deskripsi dan terminologi dalam dokumentasi ini sebagian besar mengacu pada perangkat output, seperti speaker. Namun, teknologi ini simetris dan pada dasarnya bekerja secara terbalik untuk perangkat input.

API Perangkat Lunak vs. DSP Perangkat Keras

Prosesor sinyal digital perangkat keras (DSP) adalah mikroprosesor khusus (atau blok SIP), dengan arsitekturnya dioptimalkan untuk kebutuhan operasional pemrosesan sinyal digital. Mungkin ada keuntungan signifikan untuk mengimplementasikan pemrosesan audio dalam perangkat keras bawaan tujuan vs. menggunakan APO perangkat lunak. Salah satu keuntungannya adalah penggunaan CPU dan konsumsi daya terkait mungkin lebih rendah dengan DSP yang diterapkan perangkat keras.

Ada kelebihan dan kekurangan lain yang perlu dipertimbangkan, khusus untuk tujuan dan batasan proyek Anda yang ingin Anda pertimbangkan sebelum menerapkan APO berbasis perangkat lunak.

Efek berbasis perangkat lunak dimasukkan dalam pipa perangkat lunak pada inisialisasi aliran. Solusi ini melakukan semua pemrosesan efek mereka pada CPU utama dan tidak bergantung pada perangkat keras eksternal. Jenis solusi ini paling cocok untuk solusi audio Windows tradisional seperti perangkat HDAudio, USB, dan Bluetooth ketika driver dan perangkat keras hanya mendukung pemrosesan RAW. Untuk informasi selengkapnya tentang pemrosesan RAW, lihat Mode Pemrosesan Sinyal Audio.

APO Proksi untuk DSP Perangkat Keras

Efek apa pun yang diterapkan dalam DSP perangkat keras perlu diiklankan melalui APO proksi. Microsoft menyediakan APO proksi default (MsApoFxProxy.dll). Untuk menggunakan APO yang disediakan Microsoft, properti dan properti ini harus didukung.

Secara opsional, Anda dapat menerapkan APO proksi Anda sendiri.

API yang Disediakan Windows (Sistem)

Windows menginstal sekumpulan API default, yang menyediakan sejumlah efek audio yang berbeda. Untuk daftar efek APO yang disediakan sistem, lihat Mode Pemrosesan Sinyal Audio.

OEM dapat mencakup semua API yang disediakan sistem atau mengganti beberapa atau semuanya dengan API kustom.

API Kustom

Dimungkinkan untuk membuat API kustom untuk meningkatkan pengalaman audio Windows dengan menambahkan efek audio tambahan.

OEM dapat mencakup kombinasi API Windows yang disediakan dan API kustom saat mengirim Windows.

APO kustom dapat diinstal oleh OEM atau pihak ketiga untuk meningkatkan pengalaman audio setelah perangkat dibeli. Saat pengguna menginstal driver perangkat audio dengan menggunakan file INF standar, mereka secara otomatis memiliki akses ke API sistem. Vendor perangkat keras independen (IHV) dan produsen peralatan asli (OEM) dapat memberikan efek sistem kustom tambahan saat masih menggunakan driver kelas Microsoft. Mereka melakukannya dengan mengemas algoritma DSP mereka sebagai API dan memodifikasi file INF standar untuk memasukkan API mereka ke dalam grafik pemrosesan sinyal mesin audio.

Untuk informasi selengkapnya tentang membuat API kustom, lihat Menerapkan Objek Pemrosesan Audio.

Aplikasi Dukungan APO Kustom

Untuk memungkinkan pengguna mengonfigurasi pengaturan yang terkait dengan APO kustom Anda, pendekatan yang disarankan adalah membuat Aplikasi Dukungan Perangkat Keras. Untuk informasi selengkapnya, lihat Aplikasi Dukungan Perangkat Keras (HSA): Langkah-langkah untuk Pengembang Driver.

Pengujian dan Persyaratan APO Kustom

Microsoft HLK menyediakan pengujian yang dapat digunakan dengan API. Untuk informasi selengkapnya tentang pengujian audio lihat, Pengujian Device.Audio dan Pengujian Device.Audio.

Kedua pengujian ini dapat sangat berguna saat bekerja dengan API.

Verifikasi Efek AudioPencarian (Manual) - Sertifikasi

Uji SysFX

Untuk informasi tentang persyaratan audio untuk mendukung API, lihat Persyaratan Device.Audio.

Alat dan Utilitas APO Kustom

Anda dapat menggunakan "Sampel Penemuan Efek Audio" untuk menjelajahi efek audio yang tersedia. Sampel ini menunjukkan cara mengkueri efek audio pada merender dan menangkap perangkat audio dan cara memantau perubahan dengan efek audio. Ini disertakan sebagai bagian dari sampel SDK dan dapat diunduh menggunakan tautan ini:

Sampel penemuan efek audio

Kesadaran Efek Audio Aplikasi

Aplikasi memiliki kemampuan untuk memanggil API untuk menentukan efek audio mana yang saat ini aktif pada sistem. Untuk informasi selengkapnya tentang API kesadaran efek audio, lihat kelas AudioRenderEffectsManager.

Arsitektur Objek Pemrosesan Audio

Penempatan Efek Audio

Ada tiga lokasi berbeda untuk efek audio yang diimplementasikan sebagai API. Mereka berada dalam Efek aliran (SFX), Efek mode (MFX), dan efek Titik Akhir (EFX).

Efek Aliran (SFX)

APO efek stream memiliki instans efek untuk setiap aliran. Efek streaming sebelum campuran (render) atau setelah tee (pengambilan) untuk mode tertentu dan dapat digunakan untuk mengubah jumlah saluran sebelum mixer. Efek aliran tidak digunakan untuk aliran mentah.

Beberapa versi Windows, sebagai pengoptimalan, tidak memuat API SFX atau MFX dalam mode RAW.

  • Windows 8.1 tidak memuat RAW SFX atau RAW MFX
  • Windows 10 memuat RAW MFX tetapi bukan RAW SFX

Efek Mode (MFX)

Efek mode (MFX) diterapkan ke semua aliran yang dipetakan ke mode yang sama. Efek mode diterapkan setelah campuran (render) atau sebelum tee (capture) untuk mode tertentu, tetapi sebelum campuran (render) atau setelah tee (capture) dari semua mode. Efek atau efek spesifik skenario apa pun yang tidak memerlukan spesifikasi efek aliran harus ditempatkan di sini. Lebih hemat daya untuk menggunakan efek mode karena ada satu instans untuk beberapa aliran yang memiliki karakteristik yang sama seperti periodisitas dan format.

Efek Titik Akhir (EFX)

Endpoint Effect (EFX) diterapkan ke semua aliran yang menggunakan titik akhir yang sama. Efek titik akhir selalu diterapkan, bahkan ke aliran mentah. Artinya, setelah campuran (render) atau sebelum tee (tangkap) dari semua mode. Efek titik akhir harus digunakan dengan hati-hati dan ketika ragu efek harus dilakukan di area Mode. Beberapa efek yang harus ditempatkan di area titik akhir adalah perlindungan pembicara dan kompensasi pembicara.

Diagram ini menunjukkan kemungkinan lokasi untuk efek stream (SFX), mode (MFX) dan titik akhir (EFX) untuk Windows 10.

Diagram yang mengilustrasikan penempatan efek aliran, mode, dan titik akhir dalam Windows 10.

Beberapa Efek APO Kustom

Dimungkinkan untuk mengonfigurasi beberapa efek berbasis APO untuk bekerja dengan aplikasi yang berbeda.

Diagram ini menggambarkan bagaimana beberapa aplikasi dapat mengakses beberapa kombinasi efek APO aliran, mode, dan titik akhir. Semua API berbasis COM dan berjalan dalam mode pengguna. Dalam skenario ini, tidak ada efek yang berjalan dalam perangkat keras atau dalam mode kernel.

Diagram memperlihatkan bagaimana beberapa aplikasi dapat mengakses berbagai kombinasi efek arus, mode, dan APO titik akhir.

Catatan Anda dapat menggunakan bilah gulir di bagian paling bawah halaman ini untuk melihat semua diagram ini.

Efek Mode Perangkat Lunak dan Efek Titik Akhir Perangkat Keras untuk Render dan Ambil

Diagram ini menggambarkan efek mode perangkat lunak dan efek titik akhir perangkat keras untuk render dan pengambilan.

Diagram yang menampilkan efek mode perangkat lunak dan efek titik akhir perangkat keras untuk proses render dan pengambilan.

DSP Dilengkapi Sistem dengan Efek Perangkat Keras

Diagram ini menggambarkan sistem yang dilengkapi DSP yang mengimplementasikan efek dalam perangkat keras. Dalam skenario ini, APO Proksi harus dibuat untuk menginformasikan aplikasi tentang efek yang diterapkan dalam perangkat keras.

Diagram yang menggambarkan sistem yang dilengkapi DSP yang menerapkan efek dalam perangkat keras.

Objek Pemrosesan Windows Audio

Implementasi Driver Audio Yang Dibongkar Perangkat Keras