Bagikan melalui


Mode Pemrosesan Sinyal Audio

Driver mendeklarasikan mode pemrosesan sinyal audio yang didukung untuk setiap perangkat.

Mode Pemrosesan Sinyal yang Tersedia

Kategori audio (dipilih oleh aplikasi) dipetakan ke mode audio (ditentukan oleh driver). Windows mendefinisikan tujuh mode pemrosesan sinyal audio. OEM dan IHV dapat menentukan mode mana yang ingin mereka terapkan. Disarankan agar IHV/OEM menggunakan mode baru untuk menambahkan efek audio yang mengoptimalkan sinyal audio untuk memberikan pengalaman pengguna terbaik. Mode dirangkum dalam tabel yang ditunjukkan di bawah ini.

Mode Render/Capture Deskripsi
Mentah Keduanya Mode mentah menentukan bahwa seharusnya tidak ada pemrosesan sinyal yang diterapkan ke aliran. Aplikasi dapat meminta aliran mentah yang sepenuhnya tidak tersentuh dan melakukan pemrosesan sinyalnya sendiri.
Default Keduanya Mode ini menentukan pemrosesan audio default.
Film* Render Pemutaran audio film
Media* Keduanya Pemutaran audio musik (default untuk sebagian besar aliran media)
Pidato* Tangkap Penangkapan suara manusia (misalnya input ke asisten pribadi)
Komunikasi* Keduanya Penyajian dan pengambilan VOIP (misalnya Teams, Skype, Lync)
Pemberitahuan* Render Nada dering, alarm, peringatan, dll.

* Baru di Windows 10.

Persyaratan Driver Mode Pemrosesan Sinyal

Driver perangkat audio perlu mendukung setidaknya mode Mentah atau Default . Mendukung mode tambahan bersifat opsional.

Ada kemungkinan bahwa tidak semua mode mungkin tersedia untuk sistem tertentu. Driver menentukan mode pemrosesan sinyal mana yang mereka dukung (yaitu jenis API apa yang diinstal sebagai bagian dari driver) dan menginformasikan OS yang sesuai. Jika mode tertentu tidak didukung oleh driver, maka Windows akan menggunakan mode pencocokan terbaik berikutnya.

Diagram berikut menunjukkan sistem yang mendukung beberapa mode:

Diagram yang menunjukkan sistem yang mendukung beberapa mode audio, dengan beberapa efek SFX, dan MFX.

Kategori Aliran Audio Windows

Untuk menginformasikan sistem tentang penggunaan aliran audio, aplikasi memiliki opsi untuk menandai aliran dengan kategori aliran audio tertentu. Aplikasi dapat mengatur kategori audio, menggunakan SALAH SATU API audio, tepat setelah membuat aliran audio. Di Windows, ada sembilan kategori aliran audio.

Kategori Deskripsi
Film Film, video dengan dialog (Mengganti ForegroundOnlyMedia)
Media Kategori default untuk pemutaran media (Menggantikan BackgroundCapableMedia)
Obrolan Permainan Komunikasi dalam game antara pengguna (Kategori baru di Windows 10)
Ucapan Input ucapan (misalnya asisten pribadi) dan output (misalnya aplikasi navigasi) (Kategori baru di Windows 10)
Komunikasi VOIP, obrolan real time
Peringatan Alarm, nada dering, pemberitahuan
Efek Suara Bip, ding, dll.
Media Permainan Dalam musik permainan
Efek Permainan Bola memantul, suara mesin mobil, peluru, dll.
Lainnya Aliran yang tidak dikategorikan

Seperti disebutkan sebelumnya, kategori audio (dipilih oleh aplikasi) dipetakan ke mode audio (ditentukan oleh driver). Aplikasi dapat menandai masing-masing aliran mereka dengan salah satu dari 10 kategori audio.

Aplikasi tidak memiliki opsi untuk mengubah pemetaan antara kategori audio dan mode pemrosesan sinyal. Aplikasi tidak memiliki kesadaran tentang konsep "mode pemrosesan audio". Mereka tidak dapat mengetahui mode apa yang digunakan untuk setiap aliran mereka.

Sampel Kode WASAPI

Kode WASAPI berikut dari sampel WASAPIAudio menunjukkan cara mengatur kategori audio yang berbeda.

// The ActivateAudioInterfaceAsync is a replacement for IMMDevice::Activate
IActivateAudioInterfaceAsyncOperation *asyncOp = nullptr;
HRESULT hr = S_OK;

String ^defaultRender = Windows::Media::Devices::MediaDevice::GetDefaultAudioRenderId( Windows::Media::Devices::AudioDeviceRole::Default );

hr = ActivateAudioInterfaceAsync( defaultRender->Data(), __uuidof( IAudioClient3 ), nullptr, this, &asyncOp );
if ( FAILED( hr ) ) { … }
…

// the app’s implementation of IActivateAudioInterfaceCompetionHandler is invoked asynchronously
HRESULT ActivateAudioInterfaceCompletionHandler::ActivateCompleted( IActivateAudioInterfaceAsyncOperation *activateOperation ) {
    HRESULT hr = S_OK;
    HRESULT hrActivateResult = S_OK;
    IUnknown *pUnknown = nullptr;
    IAudioClient3 *pAudioClient3 = nullptr;

    hr = activateOperation->GetActivateResult( &hrActivateResult, &pUnknown );
    if ( FAILED( hr ) )  { … }
    if ( FAILED( hrActivateResult ) ) { … }

    hr = pUnknown->QueryInterface( IID_PPV_ARGS( &pAudioClient3 ) );
    if ( FAILED( hr ) ) { … }

    // The IAudioClient3::SetClientProperties call needs to happen after activation completes,
    // but before the call to IAudioClient3::Initialize or IAudioClient3::InitializeSharedAudioStream.
    AudioClientProperties props = {};
    props.cbSize = sizeof(props);
    props.eCategory = AudioCategory_GameEffects;
    pAudioClient3->SetClientProperties( &props );
    if ( FAILED( hr ) ) { … }

    hr = pAudioClient3->InitializeSharedAudioStream( … );
    if ( FAILED( hr ) ) { … }

    …

Mode dan Efek Pemrosesan Sinyal

OEM menentukan efek apa yang akan digunakan untuk setiap mode. Windows mendefinisikan daftar tujuh belas jenis efek audio.

Untuk informasi tentang cara mengaitkan API dengan mode, lihat Menerapkan Objek Pemrosesan Audio.

Dimungkinkan bagi aplikasi untuk menanyakan efek apa yang akan diterapkan pada aliran tertentu untuk pemrosesan RAW atau non-RAW. Aplikasi juga dapat meminta untuk diberi tahu ketika efek atau status pemrosesan mentah berubah. Aplikasi dapat menggunakan informasi ini untuk menentukan apakah kategori streaming tertentu seperti komunikasi tersedia, atau jika hanya mode RAW yang digunakan. Jika hanya mode RAW yang tersedia, aplikasi dapat menentukan berapa banyak pemrosesan audionya sendiri untuk ditambahkan.

Jika System.Devices.AudioDevice.RawProcessingSupported benar, aplikasi juga memiliki opsi untuk mengatur bendera "gunakan RAW" pada aliran tertentu. Jika System.Devices.AudioDevice.RawProcessingSupported salah, aplikasi tidak dapat mengatur bendera "gunakan RAW".

Aplikasi tidak memiliki visibilitas tentang berapa banyak mode yang ada, dengan pengecualian RAW/non-RAW.

Aplikasi harus meminta pemrosesan efek audio yang optimal, terlepas dari konfigurasi perangkat keras audio. Misalnya, menandai aliran sebagai Komunikasi akan memberi tahu Windows untuk menjeda musik latar belakang.

Untuk informasi selengkapnya tentang kategori aliran audio statis, lihat enumerasi AudioCategory dan properti MediaElement.AudioCategory.

CLSID untuk Efek Sistem

FX_DISCOVER_EFFECTS_APO_CLSID

Ini adalah CLSID untuk MsApoFxProxy.dll "efek proksi", yang meminta driver untuk mendapatkan daftar efek aktif;

FX_DISCOVER_EFFECTS_APO_CLSID  = "{889C03C8-ABAD-4004-BF0A-BC7BB825E166}"

KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE

KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE adalah pengidentifikasi ke Kernel Streaming yang mengidentifikasi bahwa atribut tertentu yang sedang direferensikan, adalah atribut mode pemrosesan sinyal.

Pernyataan #define yang ditampilkan di sini, tersedia dalam file header KSMedia.h.

#define STATIC_KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE 0xe1f89eb5, 0x5f46, 0x419b, 0x96, 0x7b, 0xff, 0x67, 0x70, 0xb9, 0x84, 0x1
DEFINE_GUIDSTRUCT("E1F89EB5-5F46-419B-967B-FF6770B98401", KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE);
#define KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE DEFINE_GUIDNAMED(KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE)

KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE digunakan oleh driver sadar mode dengan struktur KSDATARANGE yang berisi KSATTRIBUTE_LIST. Daftar ini memiliki satu elemen di dalamnya, yang merupakan KSATTRIBUTE. Anggota Atribut dari struktur KSATTRIBUTE diatur ke KSATTRIBUTEID_AUDIOSIGNALPROCESSING_MODE.

Efek Audio

Efek audio berikut tersedia untuk digunakan di Windows 10.

Efek audio Deskripsi
Pembatalan Gema Akustik (AEC) Pembatalan Gema Akustik (AEC) meningkatkan kualitas audio dengan menghapus gema, setelah itu sudah ada di aliran audio.
Supresi Kebisingan (NS) Simple Noise Suppression (NS) menekan kebisingan seperti bersenandung dan berdengung, ketika ada di aliran audio.
Penekanan Kebisingan Mendalam Deep Noise Suppression menggunakan teknik AI / pembelajaran mesin tingkat lanjut untuk menekan kebisingan terutama dalam panggilan suara.
Kontrol Perolehan Otomatis (AGC) Kontrol Perolehan Otomatis (AGC) - dirancang untuk menyediakan amplitude sinyal terkontrol pada outputnya, meskipun ada variasi amplitude dalam sinyal input. Tingkat sinyal output rata-rata atau puncak digunakan untuk menyesuaikan perolehan input-ke-output secara dinamis dengan nilai yang sesuai, memungkinkan tingkat output yang stabil, bahkan dengan berbagai tingkat sinyal input.
Beam Forming (BF) Beam Forming (BF) adalah teknik pemrosesan sinyal yang digunakan untuk transmisi sinyal arah atau penerimaan. Hal ini dicapai dengan menggabungkan elemen dalam array bertahap sedih sehingga sinyal pada sudut tertentu mengalami gangguan konstruktif sementara yang lain mengalami gangguan yang merusak. Peningkatan dibandingkan dengan penerimaan/transmisi omnidirectional dikenal sebagai keuntungan penerimaan/transmisi (atau kerugian).
Penghapusan Nada Konstan Penghapusan nada konstan digunakan untuk meredakan kebisingan latar belakang yang konstan seperti selotip, kipas listrik atau hum.
Equalizer Efek Equalizer digunakan untuk mengubah respons frekuensi sistem audio menggunakan filter linier. Ini memungkinkan berbagai bagian sinyal didorong, mirip dengan pengaturan treble atau bass.
Equalizer Kenyaringan Efek equalizer kenyaringan mengurangi perbedaan volume yang dirasakan dengan meratakan output audio sehingga suara yang lebih keras dan lebih tenang lebih dekat ke tingkat kenyaringan rata-rata.
Peningkatan Bass Dalam sistem seperti laptop yang memiliki speaker dengan kemampuan bass terbatas, terkadang mungkin untuk meningkatkan kualitas audio yang dirasakan dengan meningkatkan respons bass dalam rentang frekuensi yang didukung oleh speaker. Peningkatan Bass meningkatkan suara pada perangkat seluler dengan speaker yang sangat kecil dengan meningkatkan keuntungan di rentang mid-bass.
Keliling Virtual Virtual surround menggunakan metode digital sederhana untuk menggabungkan sinyal multisaluran menjadi dua saluran. Ini dilakukan dengan cara yang memungkinkan sinyal yang diubah untuk dipulihkan ke sinyal multisaluran asli, menggunakan dekode Pro Logic yang tersedia di sebagian besar penerima audio modern. Keliling virtual sangat ideal untuk sistem dengan perangkat keras suara dua saluran dan penerima yang memiliki mekanisme peningkatan suara di sekitarnya.
Headphone Virtual Suara surround virtual memungkinkan pengguna yang mengenakan headphone untuk membedakan suara dari depan ke belakang serta dari sisi ke sisi. Ini dilakukan dengan mentransmisikan isyarat spasial yang membantu otak melokalisasi suara dan mengintegrasikannya ke dalam bidang suara. Ini memiliki efek membuat suara terasa seperti melampaui headphone, menciptakan pengalaman mendengarkan "di luar kepala". Efek ini dicapai dengan menggunakan teknologi canggih yang disebut Head Related Transfer Functions (HRTF). HRTF menghasilkan isti akustik yang didasarkan pada bentuk kepala manusia. Isti ini tidak hanya membantu pendengar untuk menemukan arah dan sumber suara tetapi juga meningkatkan jenis lingkungan akustik yang mengelilingi pendengar.
Isi Pembicara Sebagian besar musik hanya diproduksi dengan dua saluran dan, oleh karena itu, tidak dioptimalkan untuk peralatan audio multisaluran dari penggemar audio atau video yang khas. Jadi memiliki musik yang berasal dari pengeras suara kiri depan dan kanan depan adalah pengalaman audio yang kurang ideal. Pengisian speaker mensimulasikan penyiapan loudspeaker multisaluran. Ini memungkinkan musik yang jika tidak akan didengar hanya pada dua speaker untuk diputar di semua pengeras suara di ruangan, meningkatkan sensasi spasial.
Koreksi Kamar Koreksi kamar mengoptimalkan pengalaman mendengarkan untuk lokasi tertentu di ruangan, misalnya, bantalan tengah sofa Anda, dengan secara otomatis menghitung kombinasi optimal penundaan, respons frekuensi, dan penyesuaian perolehan. Fitur koreksi ruangan lebih cocok dengan suara pada gambar di layar video dan juga berguna dalam kasus di mana speaker desktop ditempatkan di lokasi yang tidak biasa. pemrosesan koreksi ruangan adalah peningkatan atas fitur serupa di penerima kelas atas karena lebih baik memperhitungkan cara proses telinga manusia terdengar. Kalibrasi dilakukan dengan bantuan mikrofon, dan prosedur dapat digunakan dengan sistem stereo dan multisaluran. Pengguna menempatkan mikrofon tempat pengguna ingin duduk dan kemudian mengaktifkan wizard yang mengukur respons ruangan. Wizard memainkan serangkaian nada yang dirancang khusus dari setiap loudspeaker secara bergantian, dan mengukur jarak, respons frekuensi, dan perolehan keseluruhan setiap pengeras suara dari lokasi mikrofon.
Manajemen Bass Ada dua mode manajemen bass: manajemen bass maju dan manajemen bass terbalik. Manajemen bass penerusan memfilter konten frekuensi rendah aliran data audio. Algoritma manajemen bass maju mengalihkan output yang difilter ke subwoofer atau ke saluran loudspeaker kiri depan dan kanan depan, tergantung pada saluran yang dapat menangani frekuensi bass mendalam. Keputusan ini didasarkan pada pengaturan bendera LRBig. Untuk mengatur bendera LRBig, pengguna menggunakan applet Suara di Panel Kontrol untuk mengakses kotak dialog Pengaturan Manajemen Bass. Pengguna memilih kotak centang untuk menunjukkan, misalnya, bahwa speaker kanan depan dan kiri depan adalah rentang penuh dan tindakan ini mengatur bendera LRBig. Untuk menghapus bendera ini, pilih kotak centang. Manajemen bass terbalik mendistribusikan sinyal dari saluran subwoofer ke saluran output lainnya. Sinyal diarahkan baik ke semua saluran atau ke saluran kiri depan dan kanan depan, tergantung pada pengaturan bendera LRBig. Proses ini menggunakan pengurangan keuntungan yang substansial saat mencampur sinyal subwoofer ke saluran lain. Mode manajemen bass yang digunakan tergantung pada ketersediaan subwoofer dan kemampuan penanganan bass speaker utama. Di Windows, pengguna menyediakan informasi ini melalui applet Suara di Panel Kontrol.
Efek Lingkungan Efek lingkungan bekerja untuk meningkatkan realitas pemutaran audio dengan lebih akurat mensimulasikan lingkungan audio dunia nyata. Ada sejumlah lingkungan berbeda yang dapat Anda pilih, misalnya "stadion" mensimulasikan akustik stadion olahraga.
Perlindungan Pembicara Tujuan perlindungan pembicara adalah untuk menekan frekuensi resonansi yang akan menyebabkan speaker melakukan kerusakan fisik pada salah satu komponen sistem PC. Misalnya, beberapa hard drive fisik dapat rusak dengan memainkan suara keras hanya pada frekuensi yang tepat. Sekunder, perlindungan speaker berfungsi untuk meminimalkan kerusakan pada speaker, dengan meredakan sinyal, ketika melebihi nilai tertentu.
Kompensasi Pembicara Beberapa speaker lebih baik dalam mereproduksi suara daripada yang lain. Misalnya, pembicara tertentu dapat meredakan suara di bawah 100 Hz. Terkadang driver audio dan solusi DSP firmware memiliki pengetahuan tentang karakteristik performa spesifik speaker yang mereka mainkan, dan mereka dapat menambahkan pemrosesan yang dirancang untuk mengimbangi keterbatasan pembicara. Misalnya, efek titik akhir (EFX) dapat dibuat yang menerapkan perolehan ke frekuensi di bawah 100 Hz. Efek ini, ketika dikombinasikan dengan pelambatan di speaker fisik, menghasilkan peningkatan keakuratan audio.
Pemadatan Rentang Dinamis Kompresi rentang dinamis memperkuat suara yang tenang dengan mempersempit atau "mengompresi" rentang dinamis sinyal audio. Kompresi audio memperkuat suara tenang yang berada di bawah ambang tertentu sementara suara keras tetap tidak terpengaruh.

Pernyataan #define yang ditampilkan di sini, tersedia dalam file header KSMedia.h.

DEFAULT

#define STATIC_AUDIO_SIGNALPROCESSINGMODE_DEFAULT 0xc18e2f7e, 0x933d, 0x4965, 0xb7, 0xd1, 0x1e, 0xef, 0x22, 0x8d, 0x2a, 0xf3
DEFINE_GUIDSTRUCT("C18E2F7E-933D-4965-B7D1-1EEF228D2AF3", AUDIO_SIGNALPROCESSINGMODE_DEFAULT);
#define AUDIO_SIGNALPROCESSINGMODE_DEFAULT DEFINE_GUIDNAMED(AUDIO_SIGNALPROCESSINGMODE_DEFAULT)

RAW

#define STATIC_AUDIO_SIGNALPROCESSINGMODE_RAW 0x9e90ea20, 0xb493, 0x4fd1, 0xa1, 0xa8, 0x7e, 0x13, 0x61, 0xa9, 0x56, 0xcf
DEFINE_GUIDSTRUCT("9E90EA20-B493-4FD1-A1A8-7E1361A956CF", AUDIO_SIGNALPROCESSINGMODE_RAW);
#define AUDIO_SIGNALPROCESSINGMODE_RAW DEFINE_GUIDNAMED(AUDIO_SIGNALPROCESSINGMODE_RAW)

PEMBATALAN GEMA AKUSTIK

#define STATIC_AUDIO_EFFECT_TYPE_ACOUSTIC_ECHO_CANCELLATION 0x6f64adbe, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adbe-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_ACOUSTIC_ECHO_CANCELLATION);
#define AUDIO_EFFECT_TYPE_ACOUSTIC_ECHO_CANCELLATION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_ACOUSTIC_ECHO_CANCELLATION)

PENINDASAN KEBISINGAN

#define STATIC_AUDIO_EFFECT_TYPE_NOISE_SUPPRESSION          0x6f64adbf, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adbf-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_NOISE_SUPPRESSION);
#define AUDIO_EFFECT_TYPE_NOISE_SUPPRESSION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_NOISE_SUPPRESSION)

KONTROL PEROLEHAN OTOMATIS

#define STATIC_AUDIO_EFFECT_TYPE_AUTOMATIC_GAIN_CONTROL     0x6f64adc0, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc0-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_AUTOMATIC_GAIN_CONTROL);
#define AUDIO_EFFECT_TYPE_AUTOMATIC_GAIN_CONTROL DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_AUTOMATIC_GAIN_CONTROL)

BEAMFORMING

#define STATIC_AUDIO_EFFECT_TYPE_BEAMFORMING                0x6f64adc1, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc1-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_BEAMFORMING);
#define AUDIO_EFFECT_TYPE_BEAMFORMING DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_BEAMFORMING)

PENGHAPUSAN NADA KONSTAN

#define STATIC_AUDIO_EFFECT_TYPE_CONSTANT_TONE_REMOVAL      0x6f64adc2, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc2-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_CONSTANT_TONE_REMOVAL);
#define AUDIO_EFFECT_TYPE_CONSTANT_TONE_REMOVAL DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_CONSTANT_TONE_REMOVAL)

EQUALIZER

#define STATIC_AUDIO_EFFECT_TYPE_EQUALIZER                  0x6f64adc3, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc3-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_EQUALIZER);
#define AUDIO_EFFECT_TYPE_EQUALIZER DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_EQUALIZER)

PENYAMA KENYARINGAN

#define STATIC_AUDIO_EFFECT_TYPE_LOUDNESS_EQUALIZER         0x6f64adc4, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc4-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_LOUDNESS_EQUALIZER);
#define AUDIO_EFFECT_TYPE_LOUDNESS_EQUALIZER DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_LOUDNESS_EQUALIZER)

PENINGKATAN BASS

#define STATIC_AUDIO_EFFECT_TYPE_BASS_BOOST                 0x6f64adc5, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc5-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_BASS_BOOST);
#define AUDIO_EFFECT_TYPE_BASS_BOOST DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_BASS_BOOST)

KELILING VIRTUAL

#define STATIC_AUDIO_EFFECT_TYPE_VIRTUAL_SURROUND           0x6f64adc6, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc6-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_VIRTUAL_SURROUND);
#define AUDIO_EFFECT_TYPE_VIRTUAL_SURROUND DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_VIRTUAL_SURROUND)

HEADPHONE VIRTUAL

#define STATIC_AUDIO_EFFECT_TYPE_VIRTUAL_HEADPHONES         0x6f64adc7, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc7-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_VIRTUAL_HEADPHONES);
#define AUDIO_EFFECT_TYPE_VIRTUAL_HEADPHONES DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_VIRTUAL_HEADPHONES)

KOREKSI KAMAR

#define STATIC_AUDIO_EFFECT_TYPE_ROOM_CORRECTION            0x6f64adc9, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adc9-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_ROOM_CORRECTION);
#define AUDIO_EFFECT_TYPE_ROOM_CORRECTION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_ROOM_CORRECTION)

MANAJEMEN BASS

#define STATIC_AUDIO_EFFECT_TYPE_BASS_MANAGEMENT            0x6f64adca, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adca-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_BASS_MANAGEMENT);
#define AUDIO_EFFECT_TYPE_BASS_MANAGEMENT DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_BASS_MANAGEMENT)

EFEK LINGKUNGAN

#define STATIC_AUDIO_EFFECT_TYPE_ENVIRONMENTAL_EFFECTS      0x6f64adcb, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adcb-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_ENVIRONMENTAL_EFFECTS);
#define AUDIO_EFFECT_TYPE_ENVIRONMENTAL_EFFECTS DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_ENVIRONMENTAL_EFFECTS)

PERLINDUNGAN PEMBICARA

#define STATIC_AUDIO_EFFECT_TYPE_SPEAKER_PROTECTION         0x6f64adcc, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adcc-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_SPEAKER_PROTECTION);
#define AUDIO_EFFECT_TYPE_SPEAKER_PROTECTION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_SPEAKER_PROTECTION)

KOMPENSASI PEMBICARA

#define STATIC_AUDIO_EFFECT_TYPE_SPEAKER_COMPENSATION       0x6f64adcd, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adcd-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_SPEAKER_COMPENSATION);
#define AUDIO_EFFECT_TYPE_SPEAKER_COMPENSATION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_SPEAKER_COMPENSATION)

PEMADATAN RENTANG DINAMIS

#define STATIC_AUDIO_EFFECT_TYPE_DYNAMIC_RANGE_COMPRESSION  0x6f64adce, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa
DEFINE_GUIDSTRUCT("6f64adce-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_DYNAMIC_RANGE_COMPRESSION);
#define AUDIO_EFFECT_TYPE_DYNAMIC_RANGE_COMPRESSION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_DYNAMIC_RANGE_COMPRESSION)

Penekanan Kebisingan Mendalam

Mulai dari Windows 11, versi 24H2, GUID baru tersedia untuk mengaktifkan Deep Noise Suppression.

Ada dua pengidentifikasi untuk efek penindasan kebisingan. Ada pengidentifikasi yang ada untuk Supresi Kebisingan dan pengidentifikasi baru yang ditambahkan untuk Deep Noise Suppression. Yang pertama adalah untuk penindasan kebisingan 'rendah' (sederhana) sementara yang terakhir 'tinggi' dan diimplementasikan sebagai solusi pembelajaran mesin/AI. Seperti semua efek audio yang tersedia, terserah aplikasi untuk memilih mana yang mungkin ingin mereka gunakan, tergantung pada kebutuhan mereka dan skenario tertentu.

#define STATIC_AUDIO_EFFECT_TYPE_DEEP_NOISE_SUPPRESSION 0x6f64add0, 0x8211, 0x11e2, 0x8c, 0x70, 0x2c, 0x27, 0xd7, 0xf0, 0x01, 0xfa

DEFINE_GUIDSTRUCT("6f64add0-8211-11e2-8c70-2c27d7f001fa", AUDIO_EFFECT_TYPE_DEEP_NOISE_SUPPRESSION);

#define AUDIO_EFFECT_TYPE_DEEP_NOISE_SUPPRESSION DEFINE_GUIDNAMED(AUDIO_EFFECT_TYPE_DEEP_NOISE_SUPPRESSION)

Efek audio, seperti Deep Noise Suppression, diimplementasikan sebagai Audio Processing Object - APO. Untuk informasi selengkapnya, lihat Objek Pemrosesan Audio Windows.

APO perlu mengimplementasikan IAudioSystemEffects3 antarmuka jika akan mengekspos efek yang statusnya dapat diaktifkan atau dinonaktifkan secara dinamis. Untuk informasi selengkapnya, lihat Antarmuka IAudioSystemEffects3 (audioengineextensionapo.h).