Bagikan melalui


Grafik Audio XAudio2

Kumpulan semua suara, dengan efek yang terkandung dan interkoneksinya, disebut sebagai grafik pemrosesan audio. Grafik mengambil serangkaian aliran audio dari klien sebagai input, memprosesnya, dan memberikan hasil akhir ke perangkat audio. Semua pemrosesan audio berlangsung dalam utas terpisah dengan periodisitas yang ditentukan oleh kuantum grafik (saat ini 10 milidetik pada Microsoft Windows, dan 5 1/3 milidetik pada Xbox 360). Setiap milidetik kuantum, utas bangun dan menyebarkan data audio kuantum milidetik melalui seluruh grafik. Untuk contoh membangun grafik audio dasar, lihat Cara: Membangun Grafik Pemrosesan Audio Dasar.

Grafik audio sederhana:

grafik audio sederhana

Klien dapat mengontrol status grafik secara dinamis saat sedang berjalan. Tindakan kontrol mungkin termasuk menambahkan dan menghapus input dan output, mengubah efek internal dan interkoneksi, mengatur parameter pada efek, mengaktifkan dan menonaktifkan bagian grafik, dan sebagainya. Untuk contoh mengubah grafik audio secara dinamis, lihat Cara: Menambahkan atau Menghapus Suara Secara Dinamis Dari Grafik Audio.

Memproses Grafik

Setiap panggilan metode yang memengaruhi objek apa pun dalam grafik dianggap memengaruhi perubahan status grafik. Perubahan status grafik meliputi yang berikut ini:

  • Membuat dan menghancurkan suara
  • Memulai atau menghentikan suara
  • Mengubah tujuan suara
  • Memodifikasi rantai efek
  • Mengaktifkan atau menonaktifkan efek
  • Mengatur parameter pada efek atau pada SRC, filter, volume, dan mixer bawaan

Setiap set perubahan status grafik dapat digabungkan dan dilakukan sebagai transaksi atomik. Operasi atom ini dikenal sebagai set operasi. Mereka dibahas dalam gambaran umum XAudio2 Operation Sets .

Representasi Data Internal

Data audio dalam grafik XAudio2 selalu disimpan dan diproses dalam bentuk PCM floating-point 32-bit. Namun, jumlah saluran dan laju sampel dapat bervariasi dalam grafik. Format di mana audio proses suara tertentu ditentukan oleh jenis suara dan parameter yang digunakan untuk membuat suara.

Jenis Suara Parameter
IXAudio2SourceVoice Jumlah saluran dan laju sampel suara tempat suara sumber mengirim audio.
IXAudio2SubmixVoice dan IXAudio2MasteringVoice Argumen InputChannels dan InputSampleRate yang digunakan untuk membuat suara submix/mastering.

 

Konversi Format

XAudio2 menangani laju sampel atau konversi saluran apa pun yang diperlukan sebagai perjalanan audio dari satu suara ke suara lainnya, dengan batasan berikut:

  • Semua suara tujuan untuk suara tertentu harus berjalan pada laju sampel yang sama
  • Efek dalam rantai efek dapat mengubah jumlah saluran audio, tetapi bukan laju sampelnya
  • Jumlah saluran output rantai efek harus cocok dengan suara yang dikirimkannya
  • Tidak ada perubahan grafik dinamis yang dapat dilakukan yang akan melanggar aturan di atas

Di sisi input, suara sumber dapat membaca data dalam format PCM yang valid, atau dalam salah satu format terkompresi yang didukung oleh XAudio2. Jika data input dikompresi, data dikodekan ke PCM floating-point sebelum pemrosesan lebih lanjut dilakukan.

Di sisi output, suara master hanya dapat menghasilkan data PCM. Data ini akan selalu memenuhi batasan yang sama seperti yang dijelaskan di atas untuk input data PCM.

Grafik Audio

Panduan Pemrograman XAudio2

Cara: Membangun Grafik Pemrosesan Audio Dasar

Cara: Menambahkan atau Menghapus Suara Secara Dinamis Dari Grafik Audio

Cara: Menggunakan Suara Submix

Cara: Membuat Rantai Efek