midic7
Prev | Orchestra Opcodes and Operators | Next

## midic7

midic7 — Allows a floating-point 7-bit MIDI signal scaled with a minimum and a maximum range.

## Description

Allows a floating-point 7-bit MIDI signal scaled with a minimum and a maximum range.

## Syntax

    idest midic7 ictlno, imin, imax [, ifn]

    kdest midic7 ictlno, kmin, kmax [, ifn]

## Initialization

idest -- output signal

ictlno -- MIDI controller number (0-127)

imin -- user-defined minimum floating-point value of output

imax -- user-defined maximum floating-point value of output

ifn (optional) -- table to be read when indexing is required. Table must be normalized. Output is scaled according to the imin and imax values.

## Performance

kdest -- output signal

kmin -- user-defined minimum floating-point value of output

kmax -- user-defined maximum floating-point value of output

midic7 (i- and k-rate 7 bit MIDI control) allows a floating-point 7-bit MIDI signal scaled with a minimum and a maximum range. It also allows optional non-interpolated table indexing. In midic7 minimum and maximum values can be varied at k-rate.

| Note
Please note that the midic family of opcodes are designed for MIDI triggered events, and do not require a channel number since they will respond to the same channel as the one that triggered the instrument (see massign). However they will crash if called from a score driven event.

## Examples

Here is an example of the midic7 opcode. It uses the file midic7.csd

Example 594. Example of the midic7 opcode.

    <CsoundSynthesizer>
    <CsOptions>
    ; Select audio/midi flags here according to platform
    -odac  -+rtmidi=virtual -M0    ;;;realtime audio out and realtime midi in
    ;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
    ; For Non-realtime ouput leave only the line below:
    ; -o midic7.wav -W ;;; for file output any platform
    </CsOptions>
    <CsInstruments>

    sr = 44100
    ksmps = 32
    nchnls = 2
    0dbfs  = 1

    instr 1
    ; This example expects MIDI controller input on channel 1
    ; run, play a note and move your midi controller 7 to see result

    imax  = 1
    imin  = 0
    ichan = 1
    ictlno= 7 	; = midi volume

    kamp	midic7	ictlno, imin, imax
    	printk2	kamp
    asig	oscili	kamp, 220, 1
    	outs	asig, asig

    endin
    </CsInstruments>
    <CsScore>
    ; no score events allowed
    f 0 20		;20 sec. for real-time MIDI events
    f 1 0 4096 10 1	;sine wave

    e
    </CsScore>
    </CsoundSynthesizer>

## See also

MIDI input and Initialization

## Credits

Author: Gabriel Maldonado
Italy

New in Csound version 3.47

Thanks goes to Rasmus Ekman for pointing out the correct controller number range.

Prev | Up | Next
midic21 | Home | midichannelaftertouch