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. 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 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 an AudioBuffer of any type.
  • Layout describes common audio channel configurations.

Traits§

  • AsAudioBufferRef is a trait implemented for AudioBuffers that may be referenced in an AudioBufferRef.
  • RawSample provides a typed interface for converting a Sample 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.