csound-expression-opcodes-0.0.1: opcodes for the library csound-expression

Safe HaskellNone

Csound.Typed.Opcode.InstrumentControl

Contents

Synopsis

Clock Control.

clockoff :: D -> SE ()Source

Stops one of a number of internal clocks.

  clockoff  inum

csound doc: http://www.csounds.com/manual/html/clockoff.html

clockon :: D -> SE ()Source

Starts one of a number of internal clocks.

  clockon  inum

csound doc: http://www.csounds.com/manual/html/clockon.html

Duration Control.

ihold :: SE ()Source

Creates a held note.

Causes a finite-duration note to become a “held” n

  ihold  

csound doc: http://www.csounds.com/manual/html/ihold.html

turnoff :: SE ()Source

Enables an instrument to turn itself off.

  turnoff  

csound doc: http://www.csounds.com/manual/html/turnoff.html

turnoff2 :: Sig -> Sig -> Sig -> SE ()Source

Turn off instance(s) of other instruments at performance time.

  turnoff2  kinsno, kmode, krelease
         

csound doc: http://www.csounds.com/manual/html/turnoff2.html

turnon :: D -> SE ()Source

Activate an instrument for an indefinite time.

  turnon  insnum [, itime]

csound doc: http://www.csounds.com/manual/html/turnon.html

Invocation.

event :: Str -> Sig -> Sig -> Sig -> [Sig] -> SE ()Source

Generates a score event from an instrument.

  event  "scorechar", kinsnum, kdelay, kdur, [, kp4] [, kp5] [, ...]
  event  "scorechar", "insname", kdelay, kdur, [, kp4] [, kp5] [, ...]

csound doc: http://www.csounds.com/manual/html/event.html

event_i :: Str -> D -> D -> D -> [D] -> SE ()Source

Generates a score event from an instrument.

  event_i  "scorechar", iinsnum, idelay, idur, [, ip4] [, ip5] [, ...]
  event_i  "scorechar", "insname", idelay, idur, [, ip4] [, ip5] [, ...]

csound doc: http://www.csounds.com/manual/html/event_i.html

mute :: D -> SE ()Source

Mutes/unmutes new instances of a given instrument.

  mute  insnum [, iswitch]
  mute  "insname" [, iswitch]

csound doc: http://www.csounds.com/manual/html/mute.html

readscore :: Str -> SE ()Source

Read, preprocess and schedule a score from an input string.

Readscore will issue one or more score events. It can handle strings in the same conditions as the standard score, including preprocessing (carry, sort, ramp, etc). Multi-line strings are accepted, using {{ }} to enclose the string.

  readscore  Sin 

csound doc: http://www.csounds.com/manual/html/readscore.html

remove :: D -> SE ()Source

Removes the definition of an instrument.

Removes the definition of an instrument as long as it is not in use.

  remove  insnum

csound doc: http://www.csounds.com/manual/html/remove.html

schedkwhen :: Sig -> Sig -> Sig -> Sig -> Sig -> Sig -> SE ()Source

Adds a new score event generated by a k-rate trigger.

  schedkwhen  ktrigger, kmintim, kmaxnum, kinsnum, kwhen, kdur \
           [, ip4] [, ip5] [...]
  schedkwhen  ktrigger, kmintim, kmaxnum, "insname", kwhen, kdur \
           [, ip4] [, ip5] [...]

csound doc: http://www.csounds.com/manual/html/schedkwhen.html

schedkwhennamed :: Sig -> Sig -> Sig -> Str -> Sig -> Sig -> SE ()Source

Similar to schedkwhen but uses a named instrument at init-time.

  schedkwhennamed  ktrigger, kmintim, kmaxnum, "name", kwhen, kdur \
           [, ip4] [, ip5] [...]

csound doc: http://www.csounds.com/manual/html/schedkwhennamed.html

schedule :: D -> D -> D -> SE ()Source

Adds a new score event.

  schedule  insnum, iwhen, idur [, ip4] [, ip5] [...]
  schedule  "insname", iwhen, idur [, ip4] [, ip5] [...]

csound doc: http://www.csounds.com/manual/html/schedule.html

schedwhen :: Sig -> Sig -> Sig -> Sig -> SE ()Source

Adds a new score event.

  schedwhen  ktrigger, kinsnum, kwhen, kdur [, ip4] [, ip5] [...]
  schedwhen  ktrigger, "insname", kwhen, kdur [, ip4] [, ip5] [...]

csound doc: http://www.csounds.com/manual/html/schedwhen.html

scoreline :: Str -> Sig -> SE ()Source

Issues one or more score line events from an instrument.

Scoreline will issue one or more score events, if ktrig is 1 every k-period. It can handle strings in the same conditions as the standard score. Multi-line strings are accepted, using {{ }} to enclose the string.

  scoreline  Sin, ktrig

csound doc: http://www.csounds.com/manual/html/scoreline.html

scoreline_i :: Str -> SE ()Source

Issues one or more score line events from an instrument at i-time.

scoreline_i will issue score events at i-time. It can handle strings in the same conditions as the standard score. Multi-line strings are accepted, using {{ }} to enclose the string.

  scoreline_i  Sin

csound doc: http://www.csounds.com/manual/html/scoreline_i.html

Realtime Performance Control.

active :: D -> SigSource

Returns the number of active instances of an instrument.

 ir  active  insnum [,iopt]
 ir  active  Sinsname [,iopt]
 kres  active  kinsnum [,iopt]

csound doc: http://www.csounds.com/manual/html/active.html

cpuprc :: D -> D -> SE ()Source

Control allocation of cpu resources on a per-instrument basis, to optimize realtime output.

  cpuprc  insnum, ipercent
  cpuprc  Sinsname, ipercent

csound doc: http://www.csounds.com/manual/html/cpuprc.html

exitnow :: SE ()Source

Exit Csound as fast as possible, with no cleaning up.

In Csound4 calls an exit function to leave Csound as fast as possible. On Csound5 exits back to the driving code.

  exitnow  

csound doc: http://www.csounds.com/manual/html/exitnow.html

jacktransport :: D -> SE ()Source

Start/stop jack_transport and can optionally relocate the playback head.

  jacktransport  icommand [, ilocation]

csound doc: http://www.csounds.com/manual/html/jacktransport.html

maxalloc :: D -> D -> SE ()Source

Limits the number of allocations of an instrument.

  maxalloc  insnum, icount
  maxalloc  Sinsname, icount

csound doc: http://www.csounds.com/manual/html/maxalloc.html

prealloc :: D -> D -> SE ()Source

Creates space for instruments but does not run them.

  prealloc  insnum, icount
  prealloc  "insname", icount

csound doc: http://www.csounds.com/manual/html/prealloc.html

Sensing and Control.

button :: Sig -> SigSource

Sense on-screen controls.

Sense on-screen controls. Requires Winsound or TCL/TK.

 kres  button  knum

csound doc: http://www.csounds.com/manual/html/button.html

changed :: [Sig] -> SigSource

k-rate signal change detector.

This opcode outputs a trigger signal that informs when any one of its k-rate arguments has changed. Useful with valuator widgets or MIDI controllers.

 ktrig  changed  kvar1 [, kvar2,..., kvarN]

csound doc: http://www.csounds.com/manual/html/changed.html

checkbox :: Sig -> SigSource

Sense on-screen controls.

Sense on-screen controls. Requires Winsound or TCL/TK.

 kres  checkbox  knum

csound doc: http://www.csounds.com/manual/html/checkbox.html

control :: Sig -> SigSource

Configurable slider controls for realtime user input.

Configurable slider controls for realtime user input. Requires Winsound or TCL/TK. control reads a slider's value.

 kres  control  knum

csound doc: http://www.csounds.com/manual/html/control.html

follow :: Sig -> D -> SigSource

Envelope follower unit generator.

 ares  follow  asig, idt

csound doc: http://www.csounds.com/manual/html/follow.html

follow2 :: Sig -> Sig -> Sig -> SigSource

Another controllable envelope extractor.

A controllable envelope extractor using the algorithm attributed to Jean-Marc Jot.

 ares  follow2  asig, katt, krel

csound doc: http://www.csounds.com/manual/html/follow2.html

getcfg :: D -> StrSource

Return Csound settings.

Return various configuration settings in Svalue as a string at init time.

 Svalue  getcfg  iopt

csound doc: http://www.csounds.com/manual/html/getcfg.html

joystick :: Sig -> Sig -> SigSource

Reads data from a joystick controller.

Reads data from a Linux joystick controller

 kres  joystick  kdevice ktab

csound doc: http://www.csounds.com/manual/html/joystick.html

metro :: Sig -> SigSource

Trigger Metronome

Generate a metronomic signal to be used in any circumstance an isochronous trigger is needed.

 ktrig   metro   kfreq [, initphase]

csound doc: http://www.csounds.com/manual/html/metro.html

miditempo :: SigSource

Returns the current tempo at k-rate, of either the MIDI file (if available) or the score

 ksig   miditempo  

csound doc: http://www.csounds.com/manual/html/miditempo.html

p5gconnect :: SE ()Source

Reads data from a P5 Glove controller.

Opens and at control-rate polls a P5 Glove controller.

  p5gconnect  

csound doc: http://www.csounds.com/manual/html/p5gconnect.html

p5gdata :: Sig -> SigSource

Reads data fields from an external P5 Glove.

Reads data fields from a P5 Glove controller.

 kres  p5gdata  kcontrol

csound doc: http://www.csounds.com/manual/html/p5gdata.html

pcount :: DSource

Returns the number of pfields belonging to a note event.

pcount returns the number of pfields belonging to a note event.

 icount  pcount  

csound doc: http://www.csounds.com/manual/html/pcount.html

peak :: Sig -> SigSource

Maintains the output equal to the highest absolute value received.

These opcodes maintain the output k-rate variable as the peak absolute level so far received.

 kres  peak  asig
 kres  peak  ksig

csound doc: http://www.csounds.com/manual/html/peak.html

pindex :: D -> DSource

Returns the value of a specified pfield.

pindex returns the value of a specified pfield.

 ivalue  pindex  ipfieldIndex

csound doc: http://www.csounds.com/manual/html/pindex.html

pitch :: Sig -> D -> D -> D -> D -> (Sig, Sig)Source

Tracks the pitch of a signal.

Using the same techniques as spectrum and specptrk, pitch tracks the pitch of the signal in octave point decimal form, and amplitude in dB.

 koct, kamp  pitch  asig, iupdte, ilo, ihi, idbthresh [, ifrqs] [, iconf] \
           [, istrt] [, iocts] [, iq] [, inptls] [, irolloff] [, iskip]

csound doc: http://www.csounds.com/manual/html/pitch.html

pitchamdf :: Sig -> D -> D -> (Sig, Sig)Source

Follows the pitch of a signal based on the AMDF method.

Follows the pitch of a signal based on the AMDF method (Average Magnitude Difference Function). Outputs pitch and amplitude tracking signals. The method is quite fast and should run in realtime. This technique usually works best for monophonic signals.

 kcps, krms  pitchamdf  asig, imincps, imaxcps [, icps] [, imedi] \
           [, idowns] [, iexcps] [, irmsmedi]

csound doc: http://www.csounds.com/manual/html/pitchamdf.html

plltrack :: Sig -> Sig -> (Sig, Sig)Source

Tracks the pitch of a signal.

plltrack, a pitch tracker based on a phase-locked loop algorithm, described in Zolzer, U, Sankarababu, S.V. and Moller, S, PLL-based Pitch Detection and Tracking for Audio Signals. Proc. of IIH-MSP 2012.

 acps, alock  plltrack  asig, kd [, kloopf, kloopq, klf, khf, kthresh]

csound doc: http://www.csounds.com/manual/html/plltrack.html

ptrack :: Sig -> D -> (Sig, Sig)Source

Tracks the pitch of a signal.

ptrack takes an input signal, splits it into ihopsize blocks and using a STFT method, extracts an estimated pitch for its fundamental frequency as well as estimating the total amplitude of the signal in dB, relative to full-scale (0dB). The method implies an analysis window size of 2*ihopsize samples (overlaping by 1/2 window), which has to be a power-of-two, between 128 and 8192 (hopsizes between 64 and 4096). Smaller windows will give better time precision, but worse frequency accuracy (esp. in low fundamentals).This opcode is based on an original algorithm by M. Puckette.

 kcps, kamp  ptrack  asig, ihopsize[,ipeaks]

csound doc: http://www.csounds.com/manual/html/ptrack.html

rewindscore :: SE ()Source

Rewinds the playback position of the current score performance.

Rewinds the playback position of the current score performance..

   rewindscore  

csound doc: http://www.csounds.com/manual/html/rewindscore.html

rms :: Sig -> SigSource

Determines the root-mean-square amplitude of an audio signal.

Determines the root-mean-square amplitude of an audio signal. It low-pass filters the actual value, to average in the manner of a VU meter.

 kres  rms  asig [, ihp] [, iskip]

csound doc: http://www.csounds.com/manual/html/rms.html

sensekey :: Tuple a => aSource

Returns the ASCII code of a key that has been pressed.

Returns the ASCII code of a key that has been pressed, or -1 if no key has been pressed.

 kres[, kkeydown]  sensekey  

csound doc: http://www.csounds.com/manual/html/sensekey.html

seqtime :: Sig -> Sig -> Sig -> Sig -> Tab -> SigSource

Generates a trigger signal according to the values stored in a table.

 ktrig_out  seqtime  ktime_unit, kstart, kloop, kinitndx, kfn_times

csound doc: http://www.csounds.com/manual/html/seqtime.html

seqtime2 :: Sig -> Sig -> Sig -> Sig -> Sig -> Tab -> SigSource

Generates a trigger signal according to the values stored in a table.

 ktrig_out  seqtime2  ktrig_in, ktime_unit, kstart, kloop, kinitndx, kfn_times

csound doc: http://www.csounds.com/manual/html/seqtime2.html

setctrl :: D -> D -> D -> SE ()Source

Configurable slider controls for realtime user input.

Configurable slider controls for realtime user input. Requires Winsound or TCL/TK. setctrl sets a slider to a specific value, or sets a minimum or maximum range.

  setctrl  inum, ival, itype

csound doc: http://www.csounds.com/manual/html/setctrl.html

splitrig :: Sig -> Sig -> D -> Tab -> [Sig] -> SE ()Source

Split a trigger signal

splitrig splits a trigger signal (i.e. a timed sequence of control-rate impulses) into several channels following a structure designed by the user.

  splitrig  ktrig, kndx, imaxtics, ifn, kout1 [,kout2,...,koutN]

csound doc: http://www.csounds.com/manual/html/splitrig.html

tempest :: Sig -> D -> D -> D -> D -> D -> D -> D -> D -> Tab -> SigSource

Estimate the tempo of beat patterns in a control signal.

 ktemp  tempest  kin, iprd, imindur, imemdur, ihp, ithresh, ihtim, ixfdbak, \
           istartempo, ifn [, idisprd] [, itweek]

csound doc: http://www.csounds.com/manual/html/tempest.html

tempo :: Sig -> D -> SE ()Source

Apply tempo control to an uninterpreted score.

  tempo  ktempo, istartempo

csound doc: http://www.csounds.com/manual/html/tempo.html

tempoval :: SigSource

Reads the current value of the tempo.

 kres  tempoval  

csound doc: http://www.csounds.com/manual/html/tempoval.html

timedseq :: Sig -> Tab -> [Sig] -> SigSource

Time Variant Sequencer

An event-sequencer in which time can be controlled by a time-pointer. Sequence data are stored into a table.

 ktrig   timedseq   ktimpnt, ifn, kp1 [,kp2, kp3, ...,kpN]

csound doc: http://www.csounds.com/manual/html/timedseq.html

trigger :: Sig -> Sig -> Sig -> SigSource

Informs when a krate signal crosses a threshold.

 kout  trigger  ksig, kthreshold, kmode

csound doc: http://www.csounds.com/manual/html/trigger.html

trigseq :: Sig -> Sig -> Sig -> Sig -> Tab -> [Sig] -> SE ()Source

Accepts a trigger signal as input and outputs a group of values.

  trigseq  ktrig_in, kstart, kloop, kinitndx, kfn_values, kout1 [, kout2] [...]

csound doc: http://www.csounds.com/manual/html/trigseq.html

wiiconnect :: DSource

Reads data from a number of external Nintendo Wiimote controllers.

Opens and at control-rate polls up to four external Nintendo Wiimote controllers.

 ires  wiiconnect  [itimeout, imaxnum]

csound doc: http://www.csounds.com/manual/html/wiiconnect.html

wiidata :: Sig -> SigSource

Reads data fields from a number of external Nintendo Wiimote controllers.

Reads data fields from upto four external Nintendo Wiimote controllers.

 kres  wiidata  kcontrol[, knum]

csound doc: http://www.csounds.com/manual/html/wiidata.html

wiirange :: D -> D -> D -> SE ()Source

Sets scaling and range limits for certain Wiimote fields.

   wiirange  icontrol, iminimum, imaximum[, inum]

csound doc: http://www.csounds.com/manual/html/wiirange.html

wiisend :: Sig -> Sig -> SigSource

Sends data to one of a number of external Nintendo Wiimote controllers.

 kres  wiisend  kcontrol, kvalue[, knum]

csound doc: http://www.csounds.com/manual/html/wiisend.html

xyin :: D -> D -> D -> D -> D -> (Sig, Sig)Source

Sense the cursor position in an output window

Sense the cursor position in an output window. When xyin is called the position of the mouse within the output window is used to reply to the request. This simple mechanism does mean that only one xyin can be used accurately at once. The position of the mouse is reported in the output window.

 kx, ky  xyin  iprd, ixmin, ixmax, iymin, iymax [, ixinit] [, iyinit]

csound doc: http://www.csounds.com/manual/html/xyin.html

Stacks.

pop :: Tuple a => aSource

Pops values from the global stack.

 xval1, [xval2, ... , xval31]  pop   ival1, [ival2, ... , ival31]  pop  

csound doc: http://www.csounds.com/manual/html/pop.html

pop_f :: SpecSource

Pops an f-sig frame from the global stack.

 fsig  pop_f  

csound doc: http://www.csounds.com/manual/html/pop_f.html

push :: [Sig] -> SE ()Source

Pushes a value into the global stack.

  push   xval1, [xval2, ... , xval31]
  push   ival1, [ival2, ... , ival31]

csound doc: http://www.csounds.com/manual/html/push.html

push_f :: Spec -> SE ()Source

Pushes an f-sig frame into the global stack.

  push_f   fsig

csound doc: http://www.csounds.com/manual/html/push_f.html

stack :: D -> SE ()Source

Initializes the stack.

Initializes and sets the size of the global stack.

  stack   iStackSize

csound doc: http://www.csounds.com/manual/html/stack.html

Subinstrument Control.

subinstr :: Tuple a => D -> [D] -> aSource

Creates and runs a numbered instrument instance.

Creates an instance of another instrument and is used as if it were an opcode.

 a1, [...] [, a8]  subinstr  instrnum [, p4] [, p5] [...]
 a1, [...] [, a8]  subinstr  "insname" [, p4] [, p5] [...]

csound doc: http://www.csounds.com/manual/html/subinstr.html

subinstrinit :: D -> [D] -> SE ()Source

Creates and runs a numbered instrument instance at init-time.

Same as subinstr, but init-time only and has no output arguments.

  subinstrinit  instrnum [, p4] [, p5] [...]
  subinstrinit  "insname" [, p4] [, p5] [...]

csound doc: http://www.csounds.com/manual/html/subinstrinit.html

Time Reading.

date :: DSource

Returns the number seconds since a base date.

Returns the number seconds since a base date, using the operating system's clock. The base is 1 January 1970 for Csound using doubles, and 1 January 2010 for versions using floats.

 ir  date  

csound doc: http://www.csounds.com/manual/html/date.html

dates :: StrSource

Returns as a string the date and time specified.

 Sir  dates  [ itime]

csound doc: http://www.csounds.com/manual/html/dates.html

readclock :: D -> DSource

Reads the value of an internal clock.

 ir  readclock  inum

csound doc: http://www.csounds.com/manual/html/readclock.html

rtclock :: SigSource

Read the real time clock from the operating system.

Read the real-time clock from the operating system.

 ires  rtclock   kres  rtclock  

csound doc: http://www.csounds.com/manual/html/rtclock.html

timeinstk :: SigSource

Read absolute time in k-rate cycles.

Read absolute time, in k-rate cycles, since the start of an instance of an instrument. Called at both i-time as well as k-time.

 kres  timeinstk  

csound doc: http://www.csounds.com/manual/html/timeinstk.html

timeinsts :: SigSource

Read absolute time in seconds.

Read absolute time, in seconds, since the start of an instance of an instrument.

 kres  timeinsts  

csound doc: http://www.csounds.com/manual/html/timeinsts.html

timek :: SE SigSource

Read absolute time in k-rate cycles.

Read absolute time, in k-rate cycles, since the start of the performance.

 ires  timek   kres  timek  

csound doc: http://www.csounds.com/manual/html/timek.html

times :: SE SigSource

Read absolute time in seconds.

Read absolute time, in seconds, since the start of the performance.

 ires  times   kres  times  

csound doc: http://www.csounds.com/manual/html/times.html