How to: Change Voice Pitch

This topic shows you how you can raise or lower the pitch of audio data by changing its rate of playback using the SetFrequencyRatio function on a source voice.

To change the pitch of a source voice

  1. Determine the desired frequency ratio for the source voice.

    See XAudio2 Volume and Pitch Control for more information about calculating the frequency ratio.

    float frequencyRatio = sourceRate / targetRate;
    
  2. Use the SetFrequencyRatio function to set the frequency ratio of the source voice.

    pSourceVoice->SetFrequencyRatio(frequencyRatio);
    

XAudio2 Programming Guide

How to: Build a Basic Audio Processing Graph

XAudio2 Volume and Pitch Control