Module sample::signal [] [src]

Use the Signal trait for working with Iterators that yield Frames. To complement the Iterator trait, Signal provides methods for adding, scaling, offsetting, multiplying, clipping and generating frame iterators and more.

You may also find a series of Signal source functions, including:

  • equilibrium for generating "silent" frames.
  • phase for a stepping phase, useful for oscillators.
  • sine for generating a sine waveform.
  • saw for generating a sawtooth waveform.
  • square for generating a square waveform.
  • noise for generating a noise waveform.
  • noise_simplex for generating a 1D simplex noise waveform.
  • gen for generating frames of type F from some Fn() -> F.
  • gen_mut for generating frames of type F from some FnMut() -> F.
  • from_iter for converting an iterator yielding frames to a signal.
  • from_interleaved_samples_iter for converting an iterator yielding interleaved samples to a signal.

Working with Signals allows for easy, readable creation of rich and complex DSP graphs with a simple and familiar API.

Structs

AddAmp

An iterator that yields the sum of the frames yielded by both other and self in lock-step.

Bus

A type which allows for sending a single Signal to multiple outputs.

ClipAmp

Clips samples in each frame yielded by signal to the given threshhold amplitude.

ConstHz

A constant phase step size.

Delay

Delays the signal by the given number of frames.

Equilibrium

An iterator that endlessly yields Frames of type F at equilibrium.

FromInterleavedSamplesIterator

An iterator that converts an iterator of Samples to an iterator of Frames.

FromIterator

A type that wraps an Iterator and provides a Signal implementation for it.

Gen

A signal that generates frames using the given function.

GenMut

A signal that generates frames using the given function which may mutate some state.

Hz

An iterator that yields the step size for a phase.

Inspect

A signal that calls its enclosing function and returns the original value. The signal may mutate state.

IntoInterleavedSamples

Converts a Signal to a type that yields the individual interleaved samples.

IntoInterleavedSamplesIterator

Converts the IntoInterleavedSamples into an Iterator that always returns Some.

Map

A signal that maps from one signal to another

MulAmp

An iterator that yields the product of the frames yielded by both other and self in lock-step.

MulHz

Multiplies the rate at which frames of self are yielded by the given signal.

Noise

A noise signal generator.

NoiseSimplex

A 1D simplex-noise generator.

OffsetAmp

Provides an iterator that offsets the amplitude of every channel in each frame of the signal by some sample value and yields the resulting frames.

OffsetAmpPerChannel

An Iterator that scales the amplitude of every Frame in self by the respective amplitudes in each channel of the given amp Frame.

Output

An output node to which some signal S is Outputing its frames.

Phase

An iterator that yields a phase, useful for waveforms like Sine or Saw.

Rate

The rate at which phrase a Signal is sampled.

Saw

A saw wave signal generator.

ScaleAmp

An Iterator that scales the amplitude of the sample of each channel in every Frame yielded by self by the given amplitude.

ScaleAmpPerChannel

An Iterator that scales the amplitude of every Frame in self by the respective amplitudes in each channel of the given amp Frame.

Sine

A sine wave signal generator.

Square

A square wave signal generator.

Take

An iterator that yields n number of Frames from the inner signal.

ZipMap

A signal that iterates two signals in parallel and combines them with a function

Traits

Signal

Types that yield Frames as a multi-channel PCM signal.

Step

Types that may be used to give a phase step size based on some hz / sample rate.

Functions

equilibrium

Provides an iterator that endlessly yields Frames of type F at equilibrium.

from_interleaved_samples_iter

Create a new Signal from the given Frame-yielding Iterator.

from_iter

Create a new Signal from the given Frame-yielding Iterator.

gen

A signal that generates frames using the given function.

gen_mut

A signal that generates frames using the given function which may mutate some state.

noise

Produces a Signal that yields random values between -1.0..1.0.

noise_simplex

Produces a 1-dimensional simplex noise Signal.

phase

Creates a Phase that continuously steps forward by the given step size yielder.

rate

Creates a frame Rate (aka sample rate) representing the rate at which a signal may be sampled.

saw

Produces a Signal that yields a saw wave oscillating at the given hz.

sine

Produces a Signal that yields a sine wave oscillating at the given hz.

square

Produces a Signal that yields a square wave oscillating at the given hz.