MIDI/Score Interoperability opcodes
Prev | Real-time MIDI Support | Next

## MIDI/Score Interoperability opcodes

The following opcodes can be used to design instruments that work interchangably for real-time MIDI and score events:

- midichannelaftertouch

- midichn

- midicontrolchange

- mididefault

- midinoteoff

- midinoteoncps

- midinoteonkey

- midinoteonoct

- midinoteonpch

- midipitchbend

- midipolyaftertouch

- midiprogramchange.

| Adapting a score-activated Csound instrument.

To adapt an ordinary Csound instrument designed for score activation for score/MIDI interoperability:

- Change all linen, linseg, and expseg opcodes to linenr, linsegr, and expsegr, respectively, except for a de-clicking or damping envelope. This will not materially change score-driven performance.

- Add the following lines at the beginning of the instrument definition:

        ; Ensures that a MIDI-activated instrument
        ; will have a positive p3 field.
        mididefault 60, p3
        ; Puts MIDI key translated to cycles per
        ; second into p4, and MIDI velocity into p5
        midinoteoncps p4, p5

  Obviously, midinoteoncps could be changed to midinoteonoct or any of the other options, and the choice of p-fields is arbitrary.

| MIDI Realtime Input/Ouput command line options
New MIDI I/O flags in Csound 5.02, can replace most uses of these MIDI interop opcodes, and make usage easier.

Prev | Up | Next
Note-on/Note-off Output | Home | System Realtime Messages