Karya, built on 2023-08-29T07:47:28 (patch 7a412d5d6ba4968ca4155ef276a062ccdeb9109a)
Safe HaskellSafe-Inferred

Derive.Controls

Description

This module defines control names understood by the default calls, or by the MIDI deriver. There are also conventional names for certain controls that instruments can use. Although each instrument as its own independent set of controls, they're easier to remember if they reuse some conventional names.

Synopsis

Documentation

additive_controls :: [ScoreT.Control] Source #

These controls should be combined with addition by default instead of multiplication.

null :: ScoreT.Control Source #

Used as the default control by control block calls. This is because a ControlCall produces a Signal, but for it to be derived in a block it needs a temporary name.

tempo :: ScoreT.Control Source #

The tempo track is handled differently than other controls, and winds up in the warp rather than the ControlMap.

dynamic :: ScoreT.Control Source #

Converted into velocity or breath depending on the instrument.

generally understood by the note deriver

sustain :: ScoreT.Control Source #

Scale note duration. This is multiplicative, so 1 is no change.

Note duration is documented in duration_attributes.

sustain_abs :: ScoreT.Control Source #

Add an absolute amount of real time to the duration of each note.

start_s :: ScoreT.Control Source #

Start offset, in RealTime. This is added to event start times. The end times stay the same, so it changes note duration, and is limited to not force a note to 0 duration.

start_t :: ScoreT.Control Source #

Start offset, in ScoreTime.

internal

dynamic_integrate :: ScoreT.Control Source #

Save ambient dyn before an integrate. See usage in Cmd.Integrate.Convert.

specific to instruments

mute :: ScoreT.Control Source #

Variable mute control, where 1 is fully muted.

finger :: ScoreT.Control Source #

Finger weight, when stopping a string. In newtons.

understood by MIDI performer

breath :: ScoreT.Control Source #

Breath controller. Generally you should use dynamic, which will emit velocity or breath depending on the instrument.

pressure :: ScoreT.Control Source #

Channel pressure.

aftertouch :: ScoreT.Control Source #

Polyphonic aftertouch. Unlike other controls, this one can share channels.

mod :: ScoreT.Control Source #

Modulation wheel.

attack_velocity :: ScoreT.Control Source #

Force MIDI note on velocity to this value. Normally a Pressure instrument will get both breath controller and note on velocity from the dynamic control, but sometimes I need separate control. This can be used to override the note on velocity.

release_velocity :: ScoreT.Control Source #

Normally the NoteOff velocity is the same as dynamic, but if set, this force it to a particular value.

transposition

transposers :: Set ScoreT.Control Source #

The common transpose controls. A scale with special needs could still have its own unique transposers, but most all scales should respond to these.

octave :: ScoreT.Control Source #

Transpose by this many octaves.

diatonic :: ScoreT.Control Source #

Pitches respond to this with diatonic transposition, which generally requires a key. This is stepwise transposition for scales with no distinction between chromatic and diatonic.

chromatic :: ScoreT.Control Source #

Pitches respond to this with chromatic transposition. This is stepwise transposition for scales with no distinction between chromatic and diatonic.

nn :: ScoreT.Control Source #

Transpose by NoteNumber, which is cents / 100.

hz :: ScoreT.Control Source #

Transpose in absolute hz.

conventional control names

vol :: ScoreT.Control Source #

Volume control, conventionally mapped to CC 7.

pedal :: ScoreT.Control Source #

Sustain pedal.

standard names for patches

lpf :: ScoreT.Control Source #

Low and high pass filter cutoff.

hpf :: ScoreT.Control Source #

Low and high pass filter cutoff.

q :: ScoreT.Control Source #

Filter resonance.

vib :: ScoreT.Control Source #

Often mod is mapped to vibrato, but when it's more specifically vibrato depth rather than general modulation, whatever that is, it's nicer to use a more specific name.

vib_speed :: ScoreT.Control Source #

Often mod is mapped to vibrato, but when it's more specifically vibrato depth rather than general modulation, whatever that is, it's nicer to use a more specific name.

mc1 :: ScoreT.Control Source #

Macro controls. Many synths have general-purpose "change the timbre" knobs.

mc2 :: ScoreT.Control Source #

Macro controls. Many synths have general-purpose "change the timbre" knobs.

mc3 :: ScoreT.Control Source #

Macro controls. Many synths have general-purpose "change the timbre" knobs.

mc4 :: ScoreT.Control Source #

Macro controls. Many synths have general-purpose "change the timbre" knobs.

shared with im