Audio-Resampler-DSP
Der Audio-Resampler führt eine oder beide der folgenden Aktionen für einen Audiostream aus.
- Ändern Sie die Samplingrate.
- Ändern Sie die Anzahl der Kanäle.
CLSID
CLSID _ CResamplerMediaObject
Schnittstellen
Formate
PCM oder IEEE-Gleitkomma
Der Medientyp muss ein nicht komprimiertes PCM- oder Gleitkommaaudioformat angeben.
- Initialisieren Sie für die INTERFACESTransform-Schnittstelle den Medientyp wie unter Uncompressed Audio Media Types (Unkomprimierte Audiomedientypen)beschrieben.
- Für die IMediaObject-Schnittstelle muss der Medientyp ein FORMAT _ WaveFormatEx-Typ sein. Weitere Informationen finden Sie unter DMO _ MEDIA _ TYPE.
Eigenschaften
- MFPKEY _ WMRESAMP _ FILTERQUALITY
- MFPKEY _ WMRESAMP _ CHANNELMTX
- MFPKEY _ WMRESAMP _ LOWPASS _ BANDWIDTH
Erforderliche Attribute.
Für den Resampler müssen die folgenden Attribute festgelegt werden:
- MF _ MT _ AUDIO _ CHANNEL _ MASK
- MF _ MT _ AUDIO _ AVG _ BYTES _ PER _ SECOND
- MF _ MT _ AUDIO _ BLOCK _ ALIGNMENT
Benutzerdefinierte Kanalzuordnung
Der Audio-Resampler ordnet die Eingabeaudiokanäle den Ausgabeaudiokanälen basierend auf den folgenden Informationen zu:
- Die Anzahl der Kanäle. Dies wird im MF MT AUDIO NUM _ _ _ _ CHANNELS-Attribut des Medientyps oder im nChannels-Member der WAVEFORMATEX-Struktur angegeben.
- Die Kanalmaske, die Kanäle der Sprecherposition zuweist. Die Kanalmaske wird im MF _ MT _ AUDIO CHANNEL _ _ MASK-Attribut des Medientyps oder im dwChannelMask-Member der WAVEFORMATEXTENSIBLE-Struktur angegeben.
- Eine Matrix von Zuordnungsgewichtungen.
Die Matrix enthält eine Reihe von Gewichtungen, sodass jeder Ausgabekanal ein gewichteter Durchschnitt der Eingabekanäle ist.
Sie können eine benutzerdefinierte Matrix für die Kanalzuordnung angeben, indem Sie IWMResamplerProps::SetUserChannelMtx aufrufen oder die MFPKEY _ WMRESAMP _ CHANNELMTX-Eigenschaft festlegen. Wenn keine benutzerdefinierte Matrix bereitgestellt wird, verwendet der Audio-Resampler einen Satz von Standardmatrizen.
Standardkanalzuordnung
Wenn Sie keine benutzerdefinierte Matrix angeben, verwendet der Audio-Resampler-DSP Standardwerte für die Kanalzuordnung.
In den folgenden Tabellen werden die Kanäle abgekürzt:
- L: Links
- R: Rechts
- C: Center
- LFE: Low Frequence Effects
- BL: Zurück links
- BR: Zurück rechts
- SL: Umschließen links
- SR: Umrandung rechts
Die folgende Tabelle zeigt die Standardkoeffizienten für die Zuordnung von 6 Kanälen (maskieren 0x3F) zu 2 Kanälen.
| 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 |
Die folgende Tabelle zeigt die Standardkoeffizienten für die Zuordnung von 6 Kanälen (maskieren 0x60F) zu 2 Kanälen.
| 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 |
Die folgende Tabelle zeigt die Standardkoeffizienten für die Zuordnung von 6 Kanälen (maskieren 0x3F oder 0x60F) zu 1 Kanal.
| L | R | C | Lfe | BL(SL) | BR(SR) | |
|---|---|---|---|---|---|---|
| C | 0.192 | 0.192 | 0.192 | 0.038 | 0.192 | 0.192 |
Die folgende Tabelle zeigt die Standardkoeffizienten für die Zuordnung von 8 Kanälen (maskieren 0x63F) zu 2 Kanälen.
| 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 |
Die folgende Tabelle zeigt die Standardkoeffizienten für die Zuordnung von 8 Kanälen (maskieren 0x63F) zu 1 Kanal.
| 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 |
Die folgende Tabelle zeigt die Standardkoeffizienten für die Zuordnung von 8 Kanälen (maskieren 0x63F) zu 6 Kanälen (maskieren 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 |
Die folgende Tabelle zeigt die Standardkoeffizienten für die Zuordnung von 8 Kanälen (mask 0x63F) zu 6 Kanälen (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 |
Um zu verstehen, wie die Tabellen von Koeffizienten interpretiert werden, betrachten Sie die erste Tabelle, die 6 Kanäle 2 zu ordnet. Die erste Zeile der Tabelle (0,314, 0, 0,222, 0,031, 0,268, 0,164) ist ein Gewichtungsvektor, der angibt, wie stark jeder Eingabekanal zum linken Kanal der Ausgabe beiträgt. Die zweite Zeile der Tabelle (0, 0,314, 0,222, 0,031, 0,164, 0,268) ist ein Gewichtungsvektor, der angibt, wie stark jeder Eingabekanal zum richtigen Kanal der Ausgabe beiträgt.
Die folgenden Formeln zeigen, wie die Ausgabekanäle berechnet werden.
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
Hinweis
Wenn Sie den Audio Resampler-DSP verwenden, um die Anzahl von Kanälen zu erhöhen, werden den hinzugefügten Kanälen Werte von 0 zugewiesen.
Ausgabequalität
Sie können die Ausgabequalität des Audio Resampler-DSP angeben, indem Sie IWMResamplerProps::SetHalfFilterLength aufrufen oder die MFPKEY _ WMRESAMP _ FILTERQUALITY-Eigenschaft festlegen. Wenn Sie die Ausgabequalität nicht angeben, verwendet der Audio Resampler-DSP einen Standardwert von 30.
Requirements (Anforderungen)
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) |
Nur Windows [ Vista-Desktop-Apps] |
| Unterstützte Mindestversion (Server) |
Nur Windows Server [ 2008-Desktop-Apps] |
| Header |
|
| DLL |
|