Crate dsp [] [src]

A generic, fast, audio digital signal processing library.

There are two primary points of interest:

  1. The Graph type - a directed, acyclic audio DSP graph.

  2. The Node trait - to be implemented for types used within the Graph.

Modules

daggy

Structs

Connection

Describes a connection between two Nodes within the Graph: input -> connection -> output.

Graph

A directed, acyclic DSP graph.

Settings

Settings required for SoundStream.

VisitOrder

An iterator yielding a Graph's node indices in the order in which they will be visited when audio is requested from the Graph.

WalkInputs

A walker object for walking over nodes that are inputs to some node.

WalkOutputs

A walker object for walking over nodes that are outputs to some node.

WalkVisitOrder

A walker type for walking over a Graph's nodes in the order in which they will visited when audio is requested from the Graph.

WalkVisitOrderReverse

A walker type for walking over a Graph's nodes in the order in which they will visited when audio is requested from the Graph.

WouldCycle

The error returned when adding an edge that would create a cycle.

Traits

Node

Types to be used as a Node within the DSP Graph.

Sample

A trait for working generically across different sample types.

Type Definitions

Amplitude
Dag

An alias for the Dag used within our Graph.

EdgeIndex

An alias for our Graph's Edge Index.

Inputs

An iterator yielding indices to nodes that are inputs to some node.

NodeIndex

An alias for our Graph's Node Index.

NodesMut

An alias for the iterator yielding mutable access to all node weights.

Outputs

An iterator yielding indices to nodes that are outputs to some node.

Panning

The spacial positioning of the node. Currently only supports Stereo or Mono. -1.0 = Left. 0.0 = Center. 1.0 = Right.

PetGraph

An alias for the PetGraph used by our Graph's internal Dag.

RawEdges

Read only access to a Graph's internal edge array.

RawNodes

Read only access to a Graph's internal node array.

Volume

The amplitude multiplier.

Wave