Csound

OPCODE GUIDE: REALTIME INTERACTION

  • MIDI

    • Opcodes For Use In MIDI-Triggered Instruments 

      massign assigns specified midi channels to instrument numbers. See the Triggering Instrument Instances chapter for more information.

      pgmassign assigns midi program changes to specified instrument numbers.

      notnum retrieves the midi number of the key which has been pressed and activated this instrument instance. 

      cpsmidi converts this note number to the frequency in cycles per second (Hertz).

      veloc and ampmidi get the velocity of the key which has been pressed and activated this instrument instance.

      midichn returns the midi channel number from which the note was activated.

      pchbend reads pitch bend information.

      aftouch and polyaft read the monophonic aftertouch (afttouch) and polyphonic aftertouch (polyaft) information.

    • Opcodes For Use In All Instruments

      ctrl7 reads the values of a usual (7 bit) controller and scales it. ctrl14 and ctrl21 can be used for high definition controllers.

      initc7 or ctrlinit set the initial value of 7 bit controllers. Use initc14 and initc21 for high definition devices.

      midiin reads all incoming midi events. 

      midiout writes any type of midi message to the midi out port.

  • OPEN SOUND CONTROL AND NETWORK

    • Open Sound Control

      OSCinit initialises a port for later use of the OSClisten opcode.

      OSClisten receives messages of the port which was initialised by OSCinit.

      OSCsend sends messages to a port.

    • Remote Instruments

      remoteport defines the port for use with the remote system.

      insremot will send note events from a source machine to one destination.

      insglobal will send note events from a source machine to many destinations.

      midiremot will send midi events from a source machine to one destination.

      midiglobal will broadcast the midi events to all the machines involved in the remote concert.

    • Network Audio

      socksend sends audio data to other processes using the low-level UDP or TCP protocols.

      sockrecv receives audio data from other processes using the low-level UDP or TCP protocols.

  • HUMAN INTERFACES

    • Widgets

      The FLTK Widgets are integrated in Csound. Information and examples can be found here.

      QuteCsound implements a more modern and easy-to-use system for widgets. The communication between the widgets and Csound is done via invalue (or chnget) and outvalue (or chnset).

    • Keys

      sensekey reads the input of the computer keyboard.

    • Mouse

      xyin reads the current mouse position. This should be used if your frontend does not provide any other means of reading mouse information.

    • WII

      wiiconnect reads data from a number of external Nintendo Wiimote controllers.

      wiidata reads data fields from a number of external Nintendo Wiimote controllers.

      wiirange sets scaling and range limits for certain Wiimote fields.

      wiisend sends data to one of a number of external Wii controllers.

    • P5 Glove

      p5gconnect reads data from an external P5 glove controller.

      p5gdata reads data fields from an external P5 glove controller.