:github_url: hide .. Generated automatically by doc/tools/make_rst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the AudioEffectPitchShift.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_AudioEffectPitchShift: AudioEffectPitchShift ===================== **Inherits:** :ref:`AudioEffect` **<** :ref:`Resource` **<** :ref:`Reference` **<** :ref:`Object` Adds a pitch-shifting audio effect to an Audio bus. Raises or lowers the pitch of original sound. Description ----------- Allows modulation of pitch independently of tempo. All frequencies can be increased/decreased with minimal effect on transients. Properties ---------- +------------------------------------------------------+------------------------------------------------------------------------+---------+ | :ref:`FFT_Size` | :ref:`fft_size` | ``3`` | +------------------------------------------------------+------------------------------------------------------------------------+---------+ | :ref:`int` | :ref:`oversampling` | ``4`` | +------------------------------------------------------+------------------------------------------------------------------------+---------+ | :ref:`float` | :ref:`pitch_scale` | ``1.0`` | +------------------------------------------------------+------------------------------------------------------------------------+---------+ Enumerations ------------ .. _enum_AudioEffectPitchShift_FFT_Size: .. _class_AudioEffectPitchShift_constant_FFT_SIZE_256: .. _class_AudioEffectPitchShift_constant_FFT_SIZE_512: .. _class_AudioEffectPitchShift_constant_FFT_SIZE_1024: .. _class_AudioEffectPitchShift_constant_FFT_SIZE_2048: .. _class_AudioEffectPitchShift_constant_FFT_SIZE_4096: .. _class_AudioEffectPitchShift_constant_FFT_SIZE_MAX: enum **FFT_Size**: - **FFT_SIZE_256** = **0** --- Use a buffer of 256 samples for the Fast Fourier transform. Lowest latency, but least stable over time. - **FFT_SIZE_512** = **1** --- Use a buffer of 512 samples for the Fast Fourier transform. Low latency, but less stable over time. - **FFT_SIZE_1024** = **2** --- Use a buffer of 1024 samples for the Fast Fourier transform. This is a compromise between latency and stability over time. - **FFT_SIZE_2048** = **3** --- Use a buffer of 2048 samples for the Fast Fourier transform. High latency, but stable over time. - **FFT_SIZE_4096** = **4** --- Use a buffer of 4096 samples for the Fast Fourier transform. Highest latency, but most stable over time. - **FFT_SIZE_MAX** = **5** --- Represents the size of the :ref:`FFT_Size` enum. Property Descriptions --------------------- .. _class_AudioEffectPitchShift_property_fft_size: - :ref:`FFT_Size` **fft_size** +-----------+---------------------+ | *Default* | ``3`` | +-----------+---------------------+ | *Setter* | set_fft_size(value) | +-----------+---------------------+ | *Getter* | get_fft_size() | +-----------+---------------------+ The size of the `Fast Fourier transform `__ buffer. Higher values smooth out the effect over time, but have greater latency. The effects of this higher latency are especially noticeable on sounds that have sudden amplitude changes. ---- .. _class_AudioEffectPitchShift_property_oversampling: - :ref:`int` **oversampling** +-----------+-------------------------+ | *Default* | ``4`` | +-----------+-------------------------+ | *Setter* | set_oversampling(value) | +-----------+-------------------------+ | *Getter* | get_oversampling() | +-----------+-------------------------+ The oversampling factor to use. Higher values result in better quality, but are more demanding on the CPU and may cause audio cracking if the CPU can't keep up. ---- .. _class_AudioEffectPitchShift_property_pitch_scale: - :ref:`float` **pitch_scale** +-----------+------------------------+ | *Default* | ``1.0`` | +-----------+------------------------+ | *Setter* | set_pitch_scale(value) | +-----------+------------------------+ | *Getter* | get_pitch_scale() | +-----------+------------------------+ The pitch scale to use. ``1.0`` is the default pitch and plays sounds unaltered. :ref:`pitch_scale` can range from ``0.0`` (infinitely low pitch, inaudible) to ``16`` (16 times higher than the initial pitch). .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`