MIDI Input:
![]() ![]() ![]() ![]() |
![]() ![]() ![]() |
midi | input |
The MIDI Input Agent is used to process incoming external MIDI messages for use within EigenD.
![]() ![]() ![]() |
![]() ![]() ![]() |
key | output |
The key output sends key press data to downstream Agents. The column and course will always be 1 and the row and key are set to the MIDI note number. Each note is also sent out on a dedicated wire, from 0 to 127.
![]() ![]() ![]() ![]() |
![]() ![]() ![]() ![]() |
![]() ![]() ![]() |
continuous | controller | output |
The continuous controller output sends MIDI CC values to downstream Agents. Each continuous controller is sent out on a dedicated wire, from 0 to 127 and the continuous controller value will range from 0 to 1.
![]() ![]() ![]() ![]() |
![]() ![]() ![]() |
trigger | output |
The trigger output sends key data to downstream Agents as MIDI CC messages reach values 0 and 127. When the continuous controller reaches value 0, a key will be sent with column and course set to 0 and row and key set to the CC number. When the continuous controller reaches value 127, a key will be sent with column and course set to 1 and row and key set to the CC number. Each trigger is sent out on a dedicated wire, from 0 to 127, which can be used by the connection filtering mechanism.
![]() ![]() ![]() ![]() |
![]() ![]() ![]() ![]() |
![]() ![]() ![]() |
program | change | output |
The program change output sends key press data downstream Agents each time a program change message arrives. The column and course will always be 1 and the row and key are set to the program change number. Each program change is sent out on a dedicated wire, from 0 to 127, which can be used by the connection filtering mechanism.
![]() ![]() ![]() ![]() |
![]() ![]() ![]() |
midi | output |
The MIDI output is normally used to send MIDI data to downstream Agents.
![]() ![]() ![]() ![]() |
![]() ![]() ![]() ![]() |
![]() ![]() ![]() |
midi | clock | output |
The MIDI clock output is normally used to send incoming MIDI clock data to downstream Agents (usually the Metronome in this case).
MIDI Port:
A MIDI port within the MIDI Input Agent is the virtual object within EigenD which corresponds to the operating system's available MIDI ports. These can be browsed using the EigenBrowser - please see example below.
Continuous Controller:
A Continuous Controller within EigenD refers to the object within EigenD used to talk about the incoming MIDI continuous controller values and their associated function. The values associated with them can either be a value between 0 and 127, or you can refer to the controller function by name - a full list of available MIDI CCs can be found here. You can calibrate or invert the incoming values using the examples below, or connect them to Ports within EigenD.
Key:
Key within EigenD is a virtual object used to refer to an incoming MIDI note number. This is a value between 0 and 127 which corresponds to the desired note number. This value within EigenD can be used to trigger Talker events or connected to other Ports.
![]() ![]() ![]() |
choose |
The 'choose' verb is used to select a MIDI port for MIDI input to EigenD from the EigenBrowser.
![]() ![]() ![]() |
invert |
The 'invert' verb is used to invert the sense of the incoming MIDI data.
![]() ![]() ![]() ![]() |
minimise |
The 'minimise' verb is used to calibrate the incoming MIDI data. Set the incoming MIDI device to produce its lowest value before using the 'minimise' verb.
![]() ![]() ![]() ![]() |
maximise |
The 'maximise' verb is used to calibrate the incoming MIDI data. Set the incoming MIDI device to produce its highest value before using the 'maximise' verb.
Before using the Belcanto examples below, please make sure that you have the desired MIDI Input Agent in the conversation using:
![]() ![]() ![]() ![]() |
![]() ![]() ![]() |
![]() |
![]() ![]() ![]() ![]() |
midi | input | X | listen |
where X is the number of the desired MIDI Input Agent.
To browse a MIDI input port in the EigenBrowser, making sure you have the EigenBrowser open, use
![]() ![]() ![]() ![]() |
![]() ![]() ![]() ![]() |
![]() ![]() ![]() ![]() |
![]() ![]() ![]() |
![]() |
![]() |
eigenbrowser | , | midi | input | X | hey |
![]() ![]() ![]() ![]() |
![]() ![]() ![]() ![]() |
![]() ![]() ![]() |
midi | port | browse |
where X is the number of the desired MIDI input Agent.
To choose a MIDI input port which is currently selected in the EigenBrowser, making sure you have the EigenBrowser open, use
![]() ![]() ![]() ![]() |
![]() ![]() ![]() ![]() |
![]() ![]() ![]() ![]() |
![]() ![]() ![]() |
![]() |
![]() |
eigenbrowser | , | midi | input | X | hey |
![]() ![]() ![]() |
![]() ![]() ![]() |
selection | choose |
To invert the sense of incoming MIDI continuous controller data, use
![]() ![]() ![]() ![]() |
![]() ![]() ![]() ![]() |
![]() |
![]() ![]() ![]() |
continuous | controller | X | invert |
where X refers to the incoming continuous control value.
To calibrate the upper bound of incoming MIDI, use:
![]() ![]() ![]() ![]() |
![]() ![]() ![]() ![]() |
![]() |
![]() ![]() ![]() ![]() |
continuous | controller | X | maximise |
where X refers to the incoming continuous control value.
To calibrate the lower bound of incoming MIDI data, use:
![]() ![]() ![]() ![]() |
![]() ![]() ![]() ![]() |
![]() |
![]() ![]() ![]() ![]() |
continuous | controller | X | minimise |
where X refers to the incoming continuous control value.