SuperCollider CLASSES
UGens>Generators>Chaotic

# CuspN

Cusp map chaotic generator
Source: /Applications/SuperCollider.app/Contents/Resources/SCClassLibrary/Common/Audio/Chaos.sc
Inherits from: ChaosGen : UGen : AbstractFunction : Object
Subclasses: CuspL
See also: CuspL

## Description

A non-interpolating sound generator based on the difference equation:

        x(n+1) = a - b * sqrt(|x(n)|)

sclang code translation:

    (
    var a = 1.0, b = 1.9, xi = 0, size = 64;
    plot(size.collect { xi = a - (b * sqrt(abs(xi))) });
    )

## Class Methods

### *ar (freq: 22050, a: 1, b: 1.9, xi: 0, mul: 1, add: 0)

#### Arguments:

freq | Iteration frequency in Hertz
a | Equation variable
b | Equation variable
xi | Initial value of x
mul |
add |

### Inherited class methods

### Undocumented class methods

### *equation

## Instance Methods

### Inherited instance methods

## Examples

    // vary frequency
    { CuspN.ar(MouseX.kr(20, SampleRate.ir), 1.0, 1.99) * 0.3 }.play(s);

    // mouse-controlled params
    { CuspN.ar(SampleRate.ir/4, MouseX.kr(0.9,1.1,1), MouseY.kr(1.8,2,1)) * 0.3 }.play(s);

    // as a frequency control
    { SinOsc.ar(CuspN.ar(40, MouseX.kr(0.9,1.1,1), MouseY.kr(1.8,2,1))*800+900)*0.4 }.play(s);

helpfile source: /Applications/SuperCollider.app/Contents/Resources/HelpSource/Classes/CuspN.schelp
link::Classes/CuspN::
sc version: 3.8.0