Files
godot-docs/classes/class_audioeffectspectrumanalyzer.rst
2022-02-01 16:35:13 +01:00

125 lines
5.6 KiB
ReStructuredText

:github_url: hide
.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the AudioEffectSpectrumAnalyzer.xml source instead.
.. The source is found in doc/classes or modules/<name>/doc_classes.
.. _class_AudioEffectSpectrumAnalyzer:
AudioEffectSpectrumAnalyzer
===========================
**Inherits:** :ref:`AudioEffect<class_AudioEffect>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
Audio effect that can be used for real-time audio visualizations.
Description
-----------
This audio effect does not affect sound output, but can be used for real-time audio visualizations.
See also :ref:`AudioStreamGenerator<class_AudioStreamGenerator>` for procedurally generating sounds.
Tutorials
---------
- `Audio Spectrum Demo <https://godotengine.org/asset-library/asset/528>`__
- `Godot 3.2 will get new audio features <https://godotengine.org/article/godot-32-will-get-new-audio-features>`__
Properties
----------
+----------------------------------------------------------+--------------------------------------------------------------------------------+----------+
| :ref:`float<class_float>` | :ref:`buffer_length<class_AudioEffectSpectrumAnalyzer_property_buffer_length>` | ``2.0`` |
+----------------------------------------------------------+--------------------------------------------------------------------------------+----------+
| :ref:`FFTSize<enum_AudioEffectSpectrumAnalyzer_FFTSize>` | :ref:`fft_size<class_AudioEffectSpectrumAnalyzer_property_fft_size>` | ``2`` |
+----------------------------------------------------------+--------------------------------------------------------------------------------+----------+
| :ref:`float<class_float>` | :ref:`tap_back_pos<class_AudioEffectSpectrumAnalyzer_property_tap_back_pos>` | ``0.01`` |
+----------------------------------------------------------+--------------------------------------------------------------------------------+----------+
Enumerations
------------
.. _enum_AudioEffectSpectrumAnalyzer_FFTSize:
.. _class_AudioEffectSpectrumAnalyzer_constant_FFT_SIZE_256:
.. _class_AudioEffectSpectrumAnalyzer_constant_FFT_SIZE_512:
.. _class_AudioEffectSpectrumAnalyzer_constant_FFT_SIZE_1024:
.. _class_AudioEffectSpectrumAnalyzer_constant_FFT_SIZE_2048:
.. _class_AudioEffectSpectrumAnalyzer_constant_FFT_SIZE_4096:
.. _class_AudioEffectSpectrumAnalyzer_constant_FFT_SIZE_MAX:
enum **FFTSize**:
- **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:`FFTSize<enum_AudioEffectSpectrumAnalyzer_FFTSize>` enum.
Property Descriptions
---------------------
.. _class_AudioEffectSpectrumAnalyzer_property_buffer_length:
- :ref:`float<class_float>` **buffer_length**
+-----------+--------------------------+
| *Default* | ``2.0`` |
+-----------+--------------------------+
| *Setter* | set_buffer_length(value) |
+-----------+--------------------------+
| *Getter* | get_buffer_length() |
+-----------+--------------------------+
The length of the buffer to keep (in seconds). Higher values keep data around for longer, but require more memory.
----
.. _class_AudioEffectSpectrumAnalyzer_property_fft_size:
- :ref:`FFTSize<enum_AudioEffectSpectrumAnalyzer_FFTSize>` **fft_size**
+-----------+---------------------+
| *Default* | ``2`` |
+-----------+---------------------+
| *Setter* | set_fft_size(value) |
+-----------+---------------------+
| *Getter* | get_fft_size() |
+-----------+---------------------+
The size of the `Fast Fourier transform <https://en.wikipedia.org/wiki/Fast_Fourier_transform>`__ buffer. Higher values smooth out the spectrum analysis over time, but have greater latency. The effects of this higher latency are especially noticeable with sudden amplitude changes.
----
.. _class_AudioEffectSpectrumAnalyzer_property_tap_back_pos:
- :ref:`float<class_float>` **tap_back_pos**
+-----------+-------------------------+
| *Default* | ``0.01`` |
+-----------+-------------------------+
| *Setter* | set_tap_back_pos(value) |
+-----------+-------------------------+
| *Getter* | get_tap_back_pos() |
+-----------+-------------------------+
.. |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.)`
.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`