Skip to main content

Crate xpans_violet

Crate xpans_violet 

Source
Expand description

A spatial audio rendering engine for the xpans Ecosystem

§Connectors

Violet manages its inputs and output through composable data structures called Connectors. A Connector tells the renderer how many frames that it has available for reading or writing, which determines how many frames that Violet can safely render at a time. Upon rendering, the renderer communicates back to its connectors the number of frames it has rendered.

§Inputs and outputs

Violet provides several optional inputs and outputs through Cargo features. Custom inputs and outputs may also be built by implementing their respective traits.

§The renderer

Rendering can be done frame-by-frame or in chunks. When frames are rendered, audio samples are read from the audio input, spatial samples are read from the spatial input, and the rendered audio samples are written to the audio output.

The inputs and outputs can call methods on themselves at different stages of the rendering process to keep track of state, clean up before or after frames, etc.

Modules§

audio_input
Audio input traits and types
audio_output
Audio output traits and types
config
Extension for generating source interpreters and sample processors from render configurations
spatial_input
Spatial input traits and types

Structs§

Renderer
Renders spatial audio scenes.
RendererBuilder
Builds a renderer.
Source
Spatial data for an audio source.

Enums§

RendererBuildError

Traits§

Connector
An interface for all inputs and outputs to communicate to the renderer and keep track of its state.
SampleProcessor
Uses source interpretations to transform audio samples.
SourceInterpreter
Evaluates an audio source’s properties into values used by a sample processor.