WaveLoss

object WaveLoss extends ProductReader[WaveLoss]

A UGen which uses zero-crossings to divide an input signal into tiny segments. It simply discards a fraction of the segments (replacing them with silence).

The technique was described in a lecture by Trevor Wishart.

===Examples===

// sine plus noise
play {
 val sig  = (SinOsc.ar + PinkNoise.ar) * 0.5
 val mode = MouseY.kr(1, 2).roundTo(1)
 WaveLoss.ar(sig, drop = MouseX.kr(0, 40), chunk = 40, mode = mode) * 0.1
}

This is a third-party UGen (MCLDUGens).

Companion
class
trait Product
trait Mirror
trait ProductReader[WaveLoss]
class Object
trait Matchable
class Any

Type members

Inherited types

type MirroredElemLabels <: Tuple

The names of the product elements

The names of the product elements

Inherited from
Mirror
type MirroredLabel <: String

The name of the type

The name of the type

Inherited from
Mirror

Value members

Concrete methods

def ar(in: GE, drop: GE, chunk: GE, mode: GE): WaveLoss
Value Params
chunk

the number of wave segments that are grouped, so that drop elements from it are removed.

drop

the number of wave segments to drop in each group of size chunk .

in

input signal to be distorted

mode

1 for deterministic mode, in which always the first drop segments within a chunk are dropped, 2 for randomized mode, where drop segments at random indices within a chunk are dropped.

def kr(in: GE, drop: GE, chunk: GE, mode: GE): WaveLoss
Value Params
chunk

the number of wave segments that are grouped, so that drop elements from it are removed.

drop

the number of wave segments to drop in each group of size chunk .

in

input signal to be distorted

mode

1 for deterministic mode, in which always the first drop segments within a chunk are dropped, 2 for randomized mode, where drop segments at random indices within a chunk are dropped.

def read(in: RefMapIn, key: String, arity: Int): WaveLoss