Sdílet prostřednictvím


Převody vzorkovací frekvence XAudio2

Hlasy XAudio2 mohou provádět automatické převody vzorkovací frekvence, pokud se jejich vstupní vzorkovací frekvence liší od vstupní vzorkovací frekvence jejich výstupních hlasů.

Převody vzorkovací frekvence se řídí těmito pravidly:

  • Vzorkovací frekvence hlasového vstupu je pevná.

    Hlasy můžou zpracovávat pouze vstupní vzorkovací frekvenci zadanou při jejich vytvoření. Pro mastering voices a submix voicesje zadaná vstupní vzorkovací frekvence pomocí argumentu InputSampleRate argumentu IXAudio2::CreateMasteringVoice a IXAudio2::CreateSubmixVoice funkcí. U zdrojových hlasů je vstupní vzorkovací frekvence hlasu určena argumentem pSourceFormat IXAudio2::CreateSourceVoice funkce.

  • Všechny hlasy výstupu hlasu musí mít stejnou vstupní vzorkovací frekvenci.

    Hlasy můžou převést ze vstupní vzorkovací frekvence na libovolnou výstupní vzorkovací frekvenci, ale všechny hlasy výstupu hlasu musí mít stejnou vstupní vzorkovací frekvenci. Například hlas může výstupem libovolného počtu hlasů se vstupní vzorkovací rychlostí 22 kHz. Pokud ale stejný hlas obsahoval několik výstupních hlasů, každý z nich měl jinou vzorkovací frekvenci vstupu, zvukový graf by nebyl platný.

  • Zpracování převodu vzorkovací frekvence nastane pouze v případě potřeby.

    Převodzvukových Pokud vstupní vzorkovací frekvence hlasu odpovídá vstupní vzorkovací frekvenci jeho výstupních hlasů, převod se neprovede a doba zpracování se zkracuje.

  • Výstupní vzorkovací frekvence se může v průběhu hlasu lišit.

    Výstupní vzorkovací frekvence hlasu není pevná. Pokud mají všechny výstupní hlasy stejnou vzorkovací frekvenci vstupu, bude zvukový graf platný. Pokud se hlas změní na výstup na nové hlasy s jinou vzorkovací frekvencí vstupu, hlas se převede na vstupní vzorkovací frekvenci nových hlasů.

Existují některé scénáře, ve kterých je nutné přidat submixní hlas k provádění převodu vzorkovací frekvence mezi hlasy. Pokud hlas potřebuje výstup pro hlasy s různými vstupními vzorkovacími rychlostmi, může být přímým výstupem původního hlasu jenom jeden hlas. Vzhledem k tomu, že všechny hlasy výstupu hlasu musí mít stejnou vstupní vzorkovací frekvenci, ostatní hlasy přijímají výstup nepřímo. Musí existovat submixní hlas se správnou vstupní vzorkovací rychlostí, která přichází mezi původním hlasem a zamýšleným výstupním hlasem.

Představte si například zdrojový hlas se vstupní vzorkovací frekvencí 22 kHz, který potřebuje výstup do submixního hlasu se vstupní vzorkovací frekvencí 11 kHz a hlasem masteringu se vstupní vzorkovací frekvencí 44,1 kHz. Vzhledem k tomu, že dva výstupní hlasy mají různé vzorkovací frekvence vstupu, musíte vložit více submixových hlasů mezi původní a zamýšlený výstupní hlas. Pokud chcete zachovat věrnost zdrojového hlasu a vyhnout se zbytečným drahým převodům na vyšší vzorkovací frekvence, musíte do grafu vložit dva submixní hlasy se vstupními rychlostmi vzorku 22 khz. Jeden submixní hlas by se výstupem 11 khz na submixní hlas s efektem reverb a druhý submixní hlas by výstupem do mastering hlasu při 44,1 khz.

Příklady převodu vzorkovací frekvence ve zvukových grafech

Všechny hlasy mají stejnou vzorkovací vstupní frekvenci; v zvukovém grafu se neprovedne žádný převod vzorkovací frekvence.se ve zvukovém grafu neprovedne žádný převod vzorkovací frekvence.

Všechny hlasy mají stejnou vzorkovací vstupní frekvenci s výjimkou hlasu masteringu; Převod vzorkovací frekvence se provádí pouze u dat, která přejdou na hlas masteringu. převod vzorkovací frekvence se provádí pouze u dat, která přejdou na hlas masteringu.

Hlasy mají různé vzorkovací vstupní frekvence a vyžadují více submixních hlasů k provádění převodů vzorkovací frekvence; Převod vzorkovací frekvence se provádí na více místech ve zvukovém grafu. převodu vzorkovací frekvence se provádí na několika místech ve zvukovém grafu.

hlasy

Průvodce programováním v XAudio2