Module symphonia_core::audio[][src]

The audio module provides primitives for working with multi-channel audio buffers of varying sample formats.

Structs

AudioBuffer

AudioBuffer is a container for multi-channel planar audio sample data. An AudioBuffer is characterized by the duration (capacity), and audio specification (channels and sample rate). The capacity of an AudioBuffer 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

AudioPlanes provides immutable slices to each audio channel (plane) contained in a signal.

AudioPlanesMut

AudioPlanesMut provides mutable slices to each audio channel (plane) contained in a signal.

Channels

Channels is a bit mask of all channels contained in a signal.

RawSampleBuffer

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.

SampleBuffer

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.

SampleWriter

A SampleWriter allows for the efficient writing of samples of a specific type to a RawSampleBuffer. A SampleWriter can only be instantiated by a StreamBuffer.

SignalSpec

SignalSpec describes the characteristics of a Signal.

Enums

AudioBufferRef

AudioBufferRef is a copy-on-write reference to an AudioBuffer of any type.

Layout

Layout describes common audio channel configurations.

Traits

AsAudioBufferRef

AsAudioBufferRef is a trait implemented for AudioBuffers that may be referenced in an AudioBufferRef.

Signal

The Signal trait provides methods for rendering and transforming contiguous buffers of audio data.

WriteSample

WriteSample provides a typed interface for converting a sample from it’s in-memory type to its StreamType.