Expand description
Everything related to sound in the engine.
Modules§
- Sound context.
- Contains various filter effects. For example, lowpass filter could be used to muffle sounds.
- Listener represents directional microphone-like device. It receives sound from surroundings and plays it through output device (headphones, speakers, etc.).
- Reverberation module
Structs§
- Allpass Filter - https://ccrma.stanford.edu/~jos/pasp/Allpass_Filters.html For details see - https://ccrma.stanford.edu/~jos/pasp/Allpass_Two_Combs.html
- Attenuation effect.
- Audio bus is a top-level audio processing unit. It takes data from multiple audio sources and passes their samples through a chain of effects. Output signal is then can be either sent to an audio playback device or to some other audio bus and be processed again, but with different sound effects (this can be done via
AudioBusGraph
. - Audio bus graph is a complex audio data processing entity; it allows you to route samples from audio sources through a chain of audio buses or directly to an audio playback device. To get a better understanding of how the audio graph works take a look the data flow diagram below:
- Generic second order digital filter. More info here: https://ccrma.stanford.edu/~jos/filters/BiQuad_Section.html
- See more info here https://ccrma.stanford.edu/~jos/pasp/Delay_Lines.html
- HRIR (Head-Related Impulse Response) spheres is a 3d mesh whose points contains impulse responses for left and right ears. It is used for interpolation of impulse responses.
- Resource loader for
HrirSphereResource
. - Wrapper for
HrirSphere
to be able to use it in the resource manager, that will handle async resource loading automatically. - See module docs.
- Lowpass-Feedback Comb Filter For details see - https://ccrma.stanford.edu/~jos/pasp/Lowpass_Feedback_Comb_Filter.html
- One-pole Filter. For details see - https://www.earlevel.com/main/2012/12/15/a-one-pole-filter/
- Sound source.
- Defines sound buffer resource import options.
- Default implementation for sound buffer loading.
- Sound builder, allows you to create a new
Sound
instance. - Sound engine manages contexts, feeds output device with data. Sound engine instance can be cloned, however this is always a “shallow” clone, because actual sound engine data is wrapped in Arc.
Enums§
- Exact kind of biquad filter - it defines coefficients of the filter. More info here: https://shepazu.github.io/Audio-EQ-Cookbook/audio-eq-cookbook.html
- Data source enumeration. Provides unified way of selecting data source for sound buffers. It can be either a file or memory block.
- Distance model defines how volume of sound will decay when distance to listener changes.
- Effects is a digital signal processing (DSP) unit that transforms input signal in a specific way. For example,
LowPassFilterEffect
could be used to muffle audio sources; to create “underwater” effect. - See module docs.
- Sound buffer is a data source for sound sources. See module documentation for more info.
- An error that can occur during loading of sound buffer.
- Generic error enumeration for each error in this engine.
- Status (state) of sound source.
Constants§
- Sample rate for output device. TODO: Make this configurable, for now its set to most commonly used sample rate of 44100 Hz.
Traits§
- A set of extension methods for
HrirSphereResource
Type Aliases§
- An alias to
Resource<HrirSphereResourceData>
. - Type alias for sound buffer resource.