outipc — Sends MIDI program change messages at i-rate
ichn -- MIDI channel number (1-16)
iprog -- program change number in floating point
imin -- minimum floating point value (converted in MIDI integer value 0)
imax -- maximum floating point value (converted in MIDI integer value 127 (7 bit))
outipc (i-rate program change output) sends program change messages. It works only with MIDI instruments which recognize them. It can drive a different value of a parameter for each note currently active.
It can scale an i-value floating-point argument according to the imin and imax values. For example, set imin = 1.0 and imax = 2.0. When the ivalue argument receives a 2.0 value, the opcode will send a 127 value to the MIDI OUT device. When the ivalue argument receives a 1.0 value, it will send a 0 value. i-rate opcodes send their message once during instrument initialization.
Here is an example of the outipc opcode. Play outipc.csd
Example 705. Example of the outipc opcode.
See the sections Real-time Audio and Command Line Flags for more information on using command line flags.
<CsoundSynthesizer> <CsOptions> ; Select audio/midi flags here according to platform -odac -Q1 -M0 ;;;realtime audio out and midi in and out ;-iadc ;;;uncomment -iadc if realtime audio input is needed too ; For Non-realtime ouput leave only the line below: ; -o outipc.wav -W ;;; for file output any platform </CsOptions> <CsInstruments> sr = 44100 ksmps = 32 nchnls = 2 instr 1 outipc 1, 80, 0, 127 ;program change --> 80 ikey notnum ivel veloc midion 1, ikey, ivel ;play external synth endin </CsInstruments> <CsScore> f0 30 ;runs 30 seconds e </CsScore> </CsoundSynthesizer>