Module symphonia_core::audio
source · Expand description
The audio
module provides primitives for working with multi-channel audio buffers of varying
sample formats.
Structs§
AudioBuffer
is a container for multi-channel planar audio sample data. AnAudioBuffer
is characterized by the duration (capacity), and audio specification (channels and sample rate). The capacity of anAudioBuffer
is the maximum number of samples the buffer may store per channel. Manipulation of samples is accomplished through the Signal trait or direct buffer manipulation.AudioPlanes
provides immutable slices to each audio channel (plane) contained in a signal.AudioPlanesMut
provides mutable slices to each audio channel (plane) contained in a signal.- A bitmask representing the audio channels in an audio buffer or signal.
- An iterator over individual channels within a
Channels
bitmask. - A
RawSampleBuffer
, is a byte-oriented sample buffer. All samples copied to this buffer are converted into their packed data-type and stored as a stream of bytes.RawSampleBuffer
is mean’t for safely importing and exporting sample data to and from Symphonia as raw bytes. - A
SampleBuffer
, is a sample oriented buffer. It is agnostic to the ordering/layout of samples within the buffer.SampleBuffer
is mean’t for safely importing and exporting sample data to and from Symphonia using the sample’s in-memory data-type. SignalSpec
describes the characteristics of a Signal.
Enums§
AudioBufferRef
is a copy-on-write reference to anAudioBuffer
of any type.Layout
describes common audio channel configurations.
Traits§
AsAudioBufferRef
is a trait implemented forAudioBuffer
s that may be referenced in anAudioBufferRef
.RawSample
provides a typed interface for converting aSample
from it’s in-memory data type to actual binary type.- The
Signal
trait provides methods for rendering and transforming contiguous buffers of audio data.