Bagikan melalui


Audio Resampler DSP

Audio Resampler melakukan salah satu atau kedua tindakan berikut pada aliran audio.

  • Ubah laju pengambilan sampel.
  • Ubah jumlah saluran.

CLSID

CLSID_CResamplerMediaObject

Antarmuka

Format

TITIK mengambang PCM atau IEEE

Jenis media harus menentukan PCM yang tidak dikompresi atau format audio floating-point.

Properti

Atribut yang Diperlukan

Resampler mengharuskan atribut berikut diatur di dalamnya:

Pemetaan Saluran Kustom

Resampler audio memetakan saluran audio input ke saluran audio output, berdasarkan informasi berikut:

  • Jumlah saluran. Ini diberikan dalam atribut MF_MT_AUDIO_NUM_CHANNELS dari jenis media, atau anggota nChannels dari struktur WAVEFORMATEX .
  • Masker saluran, yang menetapkan saluran ke posisi pembicara. Masker saluran diberikan dalam atribut MF_MT_AUDIO_CHANNEL_MASK jenis media, atau anggota dwChannelMask dari struktur WAVEFORMATEXTENSIBLE .
  • Matriks bobot pemetaan.

Matriks berisi serangkaian bobot, sehingga setiap saluran output adalah rata-rata tertimbang saluran input.

Anda dapat menentukan matriks kustom untuk pemetaan saluran dengan memanggil IWMResamplerProps::SetUserChannelMtx atau dengan mengatur properti MFPKEY_WMRESAMP_CHANNELMTX . Jika matriks kustom tidak disediakan, Audio Resampler menggunakan sekumpulan matriks default.

Pemetaan Saluran Default

Jika Anda tidak menentukan matriks kustom, DSP Audio Resampler menggunakan nilai default untuk pemetaan saluran.

Dalam tabel berikut, saluran disingkat:

  • L: Kiri
  • R: Kanan
  • C: Tengah
  • LFE: Efek Frekuensi Rendah
  • BL: Belakang Kiri
  • BR: Kanan Belakang
  • SL: Kelilingi Kiri
  • SR: Kelilingi Kanan

Tabel berikut menunjukkan koefisien default untuk memetakan 6 saluran (mask 0x3F) ke 2 saluran.

L R C LFE BL BR
L 0.314 0 0.222 0.031 0.268 0.164
R 0 0.314 0.222 0.031 0.164 0.268

Tabel berikut menunjukkan koefisien default untuk memetakan 6 saluran (mask 0x60F) ke 2 saluran.

L R C LFE SL SR
L 0.320 0 0.226 0.032 0.292 0.130
R 0 0.320 0.226 0.032 0.130 0.292

Tabel berikut menunjukkan koefisien default untuk memetakan 6 saluran (mask 0x3F atau 0x60F) ke 1 saluran.

L R C LFE BL(SL) BR(SR)
C 0.192 0.192 0.192 0.038 0.192 0.192

Tabel berikut menunjukkan koefisien default untuk memetakan 8 saluran (mask 0x63F) ke 2 saluran.

L R C LFE BL BR SL SR
L 0.222 0 0.157 0.022 0,189 0.116 0.203 0.090
R 0 0.222 0.157 0.022 0.116 0,189 0.090 0.203

Tabel berikut menunjukkan koefisien default untuk memetakan 8 saluran (mask 0x63F) ke 1 saluran.

L R C LFE BL BR SL SR
C 0.139 0.139 0.139 0.028 0.139 0.139 0.139 0.139

Tabel berikut menunjukkan koefisien default untuk memetakan 8 saluran (mask 0x63F) ke 6 saluran (mask 0x3F).

L R C LFE BL BR SL SR
L 0.518 0 0 0 0 0 0,189 0
R 0 0.518 0 0 0 0 0 0,189
C 0 0 0.518 0 0 0 0 0
LFE 0 0 0 0.518 0 0 0 0
BL 0 0 0 0 0.518 0 0.482 0
BR 0 0 0 0 0 0.518 0 0.482

Tabel berikut menunjukkan koefisien default untuk memetakan 8 saluran (mask 0x63F) ke 6 saluran (mask 0x60F).

L R C LFE BL BR SL SR
L 0.447 0 0 0 0 0 0 0
R 0 0.447 0 0 0 0 0 0
C 0 0 0.447 0 0 0 0 0
LFE 0 0 0 0.447 0 0 0 0
SL 0 0 0 0 0.429 0.124 0.447 0
SR 0 0 0 0 0.124 0.429 0 0.447

Untuk memahami cara menginterpretasikan tabel koefisien, pertimbangkan tabel pertama, yang memetakan 6 saluran ke 2. Baris pertama tabel (0,314, 0, 0,222, 0,031, 0,268, 0,164) adalah vektor bobot yang menentukan seberapa besar setiap saluran input berkontribusi pada saluran kiri output. Baris kedua tabel (0, 0,314, 0,222, 0,031, 0,164, 0,268) adalah vektor bobot yang menentukan seberapa besar setiap saluran input berkontribusi pada saluran output yang tepat.

Rumus berikut menunjukkan bagaimana saluran output dihitung.

L_out = L*0.314 + C*0.222 + LFE*0.031 + BL*0.268 + BR*0.164 
R_out = R*0.314 + C*0.222 + LFE*0.031 + BL*0.164 + BR*0.268

Catatan

Jika Anda menggunakan DSP Audio Resampler untuk menambah jumlah saluran, saluran yang ditambahkan akan diberi nilai 0.

Kualitas Output

Anda dapat menentukan kualitas output DSP Audio Resampler dengan memanggil IWMResamplerProps::SetHalfFilterLength atau dengan mengatur properti MFPKEY_WMRESAMP_FILTERQUALITY . Jika Anda tidak menentukan kualitas output, DSP Audio Resampler menggunakan nilai kualitas default 30.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung
Windows Server 2008 [hanya aplikasi desktop]
Header
Wmcodecdsp.h
DLL
Resampledmo.dll

Lihat juga

Prosesor Sinyal Digital