class_audioeffectpitchshift.rst 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. :github_url: hide
  2. .. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
  3. .. DO NOT EDIT THIS FILE, but the AudioEffectPitchShift.xml source instead.
  4. .. The source is found in doc/classes or modules/<name>/doc_classes.
  5. .. _class_AudioEffectPitchShift:
  6. AudioEffectPitchShift
  7. =====================
  8. **Inherits:** :ref:`AudioEffect<class_AudioEffect>` **<** :ref:`Resource<class_Resource>` **<** :ref:`Reference<class_Reference>` **<** :ref:`Object<class_Object>`
  9. Adds a pitch-shifting audio effect to an Audio bus.
  10. Raises or lowers the pitch of original sound.
  11. Description
  12. -----------
  13. Allows modulation of pitch independently of tempo. All frequencies can be increased/decreased with minimal effect on transients.
  14. Properties
  15. ----------
  16. +------------------------------------------------------+------------------------------------------------------------------------+---------+
  17. | :ref:`FFT_Size<enum_AudioEffectPitchShift_FFT_Size>` | :ref:`fft_size<class_AudioEffectPitchShift_property_fft_size>` | ``3`` |
  18. +------------------------------------------------------+------------------------------------------------------------------------+---------+
  19. | :ref:`int<class_int>` | :ref:`oversampling<class_AudioEffectPitchShift_property_oversampling>` | ``4`` |
  20. +------------------------------------------------------+------------------------------------------------------------------------+---------+
  21. | :ref:`float<class_float>` | :ref:`pitch_scale<class_AudioEffectPitchShift_property_pitch_scale>` | ``1.0`` |
  22. +------------------------------------------------------+------------------------------------------------------------------------+---------+
  23. Enumerations
  24. ------------
  25. .. _enum_AudioEffectPitchShift_FFT_Size:
  26. .. _class_AudioEffectPitchShift_constant_FFT_SIZE_256:
  27. .. _class_AudioEffectPitchShift_constant_FFT_SIZE_512:
  28. .. _class_AudioEffectPitchShift_constant_FFT_SIZE_1024:
  29. .. _class_AudioEffectPitchShift_constant_FFT_SIZE_2048:
  30. .. _class_AudioEffectPitchShift_constant_FFT_SIZE_4096:
  31. .. _class_AudioEffectPitchShift_constant_FFT_SIZE_MAX:
  32. enum **FFT_Size**:
  33. - **FFT_SIZE_256** = **0** --- Use a buffer of 256 samples for the Fast Fourier transform. Lowest latency, but least stable over time.
  34. - **FFT_SIZE_512** = **1** --- Use a buffer of 512 samples for the Fast Fourier transform. Low latency, but less stable over time.
  35. - **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.
  36. - **FFT_SIZE_2048** = **3** --- Use a buffer of 2048 samples for the Fast Fourier transform. High latency, but stable over time.
  37. - **FFT_SIZE_4096** = **4** --- Use a buffer of 4096 samples for the Fast Fourier transform. Highest latency, but most stable over time.
  38. - **FFT_SIZE_MAX** = **5** --- Represents the size of the :ref:`FFT_Size<enum_AudioEffectPitchShift_FFT_Size>` enum.
  39. Property Descriptions
  40. ---------------------
  41. .. _class_AudioEffectPitchShift_property_fft_size:
  42. - :ref:`FFT_Size<enum_AudioEffectPitchShift_FFT_Size>` **fft_size**
  43. +-----------+---------------------+
  44. | *Default* | ``3`` |
  45. +-----------+---------------------+
  46. | *Setter* | set_fft_size(value) |
  47. +-----------+---------------------+
  48. | *Getter* | get_fft_size() |
  49. +-----------+---------------------+
  50. The size of the `Fast Fourier transform <https://en.wikipedia.org/wiki/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.
  51. ----
  52. .. _class_AudioEffectPitchShift_property_oversampling:
  53. - :ref:`int<class_int>` **oversampling**
  54. +-----------+-------------------------+
  55. | *Default* | ``4`` |
  56. +-----------+-------------------------+
  57. | *Setter* | set_oversampling(value) |
  58. +-----------+-------------------------+
  59. | *Getter* | get_oversampling() |
  60. +-----------+-------------------------+
  61. 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.
  62. ----
  63. .. _class_AudioEffectPitchShift_property_pitch_scale:
  64. - :ref:`float<class_float>` **pitch_scale**
  65. +-----------+------------------------+
  66. | *Default* | ``1.0`` |
  67. +-----------+------------------------+
  68. | *Setter* | set_pitch_scale(value) |
  69. +-----------+------------------------+
  70. | *Getter* | get_pitch_scale() |
  71. +-----------+------------------------+
  72. The pitch scale to use. ``1.0`` is the default pitch and plays sounds unaltered. :ref:`pitch_scale<class_AudioEffectPitchShift_property_pitch_scale>` can range from ``0.0`` (infinitely low pitch, inaudible) to ``16`` (16 times higher than the initial pitch).
  73. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
  74. .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
  75. .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`