dx7 - Faust Libraries

# dx7.lib

Yamaha DX7 emulation library. Its official prefix is `dx`.

#### References

- https://github.com/grame-cncm/faustlibraries/blob/master/dx7.lib

### `(dx.)dx7_ampf`

DX7 amplitude conversion function. 3 versions of this function are available:

- `dx7_amp_bpf`: BPF version (same as in the CSOUND toolkit)
- `dx7_amp_func`: estimated mathematical equivalent of `dx7_amp_bpf`
- `dx7_ampf`: default (sugar for `dx7_amp_func`)

#### Usage:

    dx7AmpPreset : dx7_ampf_bpf : _

Where:

- `dx7AmpPreset`: DX7 amplitude value (0-99)

### `(dx.)dx7_egraterisef`

DX7 envelope generator rise conversion function. 3 versions of this function are available:

- `dx7_egraterise_bpf`: BPF version (same as in the CSOUND toolkit)
- `dx7_egraterise_func`: estimated mathematical equivalent of `dx7_egraterise_bpf`
- `dx7_egraterisef`: default (sugar for `dx7_egraterise_func`)

#### Usage:

    dx7envelopeRise : dx7_egraterisef : _

Where:

- `dx7envelopeRise`: DX7 envelope rise value (0-99)

### `(dx.)dx7_egraterisepercf`

DX7 envelope generator percussive rise conversion function. 3 versions of this function are available:

- `dx7_egrateriseperc_bpf`: BPF version (same as in the CSOUND toolkit)
- `dx7_egrateriseperc_func`: estimated mathematical equivalent of `dx7_egrateriseperc_bpf`
- `dx7_egraterisepercf`: default (sugar for `dx7_egrateriseperc_func`)

#### Usage:

    dx7envelopePercRise : dx7_egraterisepercf : _

Where:

- `dx7envelopePercRise`: DX7 envelope percussive rise value (0-99)

### `(dx.)dx7_egratedecayf`

DX7 envelope generator decay conversion function. 3 versions of this function are available:

- `dx7_egratedecay_bpf`: BPF version (same as in the CSOUND toolkit)
- `dx7_egratedecay_func`: estimated mathematical equivalent of `dx7_egratedecay_bpf`
- `dx7_egratedecayf`: default (sugar for `dx7_egratedecay_func`)

#### Usage:

    dx7envelopeDecay : dx7_egratedecayf : _

Where:

- `dx7envelopeDecay`: DX7 envelope decay value (0-99)

### `(dx.)dx7_egratedecaypercf`

DX7 envelope generator percussive decay conversion function. 3 versions of this function are available:

- `dx7_egratedecayperc_bpf`: BPF version (same as in the CSOUND toolkit)
- `dx7_egratedecayperc_func`: estimated mathematical equivalent of `dx7_egratedecayperc_bpf`
- `dx7_egratedecaypercf`: default (sugar for `dx7_egratedecayperc_func`)

#### Usage:

    dx7envelopePercDecay : dx7_egratedecaypercf : _

Where:

- `dx7envelopePercDecay`: DX7 envelope decay value (0-99)

### `(dx.)dx7_eglv2peakf`

DX7 envelope level to peak conversion function. 3 versions of this function are available:

- `dx7_eglv2peak_bpf`: BPF version (same as in the CSOUND toolkit)
- `dx7_eglv2peak_func`: estimated mathematical equivalent of `dx7_eglv2peak_bpf`
- `dx7_eglv2peakf`: default (sugar for `dx7_eglv2peak_func`)

#### Usage:

    dx7Level : dx7_eglv2peakf : _

Where:

- `dx7Level`: DX7 level value (0-99)

### `(dx.)dx7_velsensf`

DX7 velocity sensitivity conversion function.

#### Usage:

    dx7Velocity  : dx7_velsensf : _

Where:

- `dx7Velocity`: DX7 level value (0-8)

### `(dx.)dx7_fdbkscalef`

DX7 feedback scaling conversion function.

#### Usage:

    dx7Feedback  : dx7_fdbkscalef : _

Where:

- `dx7Feedback`: DX7 feedback value

### `(dx.)dx7_op`

DX7 Operator. Implements a phase-modulable sine wave oscillator connected to a DX7 envelope generator.

#### Usage:

    dx7_op(freq,phaseMod,outLev,R1,R2,R3,R4,L1,L2,L3,L4,keyVel,rateScale,type,gain,gate) : _

Where:

- `freq`: frequency of the oscillator
- `phaseMod`: phase deviation (-1 - 1)
- `outLev`: preset output level (0-99)
- `R1`: preset envelope rate 1 (0-99)
- `R2`: preset envelope rate 2 (0-99)
- `R3`: preset envelope rate 3 (0-99)
- `R4`: preset envelope rate 4 (0-99)
- `L1`: preset envelope level 1 (0-99)
- `L2`: preset envelope level 2 (0-99)
- `L3`: preset envelope level 3 (0-99)
- `L4`: preset envelope level 4 (0-99)
- `keyVel`: preset key velocity sensitivity (0-99)
- `rateScale`: preset envelope rate scale
- `type`: preset operator type
- `gain`: general gain
- `gate`: trigger signal

### `(dx.)dx7_algo`

DX7 algorithms. Implements the 32 DX7 algorithms (a quick Google search should give your more details on this). Each algorithm uses 6 operators.

#### Usage:

    dx7_algo(algN,egR1,egR2,egR3,egR4,egL1,egL2,egL3,egL4,outLevel,keyVelSens,ampModSens,opMode,opFreq,opDetune,opRateScale,feedback,lfoDelay,lfoDepth,lfoSpeed,freq,gain,gate) : _

Where:

- `algN`: algorithm number (0-31, should be an int...)
- `egR1`: preset envelope rates 1 (a `funVal1` function)
- `egR2`: preset envelope rates 2 (a `funVal1` function)
- `egR3`: preset envelope rates 3 (a `funVal1` function)
- `egR4`: preset envelope rates 4 (a `funVal1` function)
- `egL1`: preset envelope levels 1 (a `funVal1` function)
- `egL2`: preset envelope levels 2 (a `funVal1` function)
- `egL3`: preset envelope levels 3 (a `funVal1` function)
- `egL4`: preset envelope levels 4 (a `funVal1` function)
- `outLev`: preset output levels (a `funVal1` function)
- `keyVel`: preset key velocity sensitivities (a `funVal1` function)
- `ampModSens`: preset amplitude sensitivities (a `funVal1` function)
- `opMode`: preset operator mode (a `funVal2` function)
- `opFreq`: preset operator frequencies (a `funVal1` function)
- `opDetune`: preset operator detuning (a `funVal1` function)
- `opRateScale`: preset operator rate scale (a `funVal1` function)
- `feedback`: preset operator feedback (a `funVal1` function)
- `lfoDelay`: preset LFO delay (a `funVal1` function)
- `lfoDepth`: preset LFO depth (a `funVal1` function)
- `lfoSpeed`: preset LFO speed (a `funVal1` function)
- `freq`: fundamental frequency
- `gain`: general gain
- `gate`: trigger signal

`funVal1` : is a function of the form `\(id).(val)` taking an id in [0,5] and returning a value in[0,99], to be used to generate 6 values.

`funVal2` : is a function of the form `\(id).(val)` taking an id in [0,5] and returning a value in[0,1], to be used to generate 6 values.

### `(dx.)dx7_ui`

Generic DX7 function where all parameters are controllable using UI elements, so that the user can create their own DX7 patches. All algorithms are supported and can be chosen using the algorithm nentry. This function is MIDI-compatible.

#### Usage

    dx7_ui : _

#### Search

From here you can search these documents. Enter your search terms below.

#### Keyboard Shortcuts

Keys | Action
--- | ---
`?` | Open this help
`n` | Next page
`p` | Previous page
`s` | Search