MIDI Out
channel node
The MIDI Out CHOP sends MIDI events to any available MIDI devices.
The MIDI Out CHOP sends MIDI events to any available MIDI devices. These devices can be other software programs (midisynth) or devices attached to the serial ports. Channels are used to control the sending of the MIDI events. The channels are evaluated over the last time slice (from the last framebar position to the current).
An event is sent every time a channel changes its value during this slice. All timing is preserved, as long as the framebar is running in realtime. Channels are mapped to events by their name. Events like notes, controllers and velocities must be followed by the note/controller number (n65, c7).
If the number is left off a note event, the note number is the value of the channel. Other events, which are sent to the entire channel, do not need a trailing number (pc, pw). The channel prefix can be used to identify the MIDI channel the event should be sent on (i.e. “ch1n45” assigns that Houdini channel to note 45 messages on MIDI channel 1).
Parameters
Dest
|
MIDI Destination |
Where the MIDI events are sent to. |
|
MIDI File |
The filename of the output MIDI file. |
|
Write MIDI File |
Writes all the data to a MIDI file. |
|
MIDI Channels |
The MIDI channel(s) to output to. If a channel prefix is not given, all channels will receive the same events. |
|
Channel Prefix |
The prefix string that all input channels must have in order to extract the channel number from their name (ie. |
|
Echo Messages To Textport |
If enabled, all MIDI events are logged in the textport as they occur. |
Output
|
Pre-Queue Time |
MIDI events are generated and queued this amount of time ahead of the current frame. |
|
Delay Time |
All events will be played later by this amount of time. |
|
Max Jump Time |
If the Frame Bar increases by this amount or more since the last cook, MIDI events in that interval will be skipped. |
|
Recovery Method |
If Houdini could not cook in time to generate the next MIDI events, it recovers by one of three methods. Missed events are skipped, delayed or output immediately. |
|
Automatic Note |
'All Note Off' events can be sent upon the start Off and/or end of the output. |
|
All Notes Off |
Sends an All Notes Off message to all MIDI channels. |
Note
|
Note Name |
The base name of the note channels. If input channels have a number after the name, it is assumed to be the note number. If not, the channel value is assumed to contain the note number. |
|
Velocity Name |
The base name of the velocity channels. |
|
Aftertouch Name |
The name of the aftertouch channel. |
|
Pressure Name |
The name of the channel pressure channel. |
|
Normalize |
Channel values in the range |
|
Pitch Wheel Name |
The name of the pitch wheel channel. |
Control
|
Controller Name |
The base name of the controller channels. |
|
Controller Format |
Sends 7 or 14 bit controller events. |
|
Normalize |
Maps channel values from different ranges to |
|
Program Change |
The name of the program change channel. |
Sys
|
Bar Ramp Name |
Clock ticks frequency is determined by the period of the ramp. The ramp must be |
|
Ticks Per Bar |
The number of clock ticks per ramp. |
|
Send Start/Stop/Continue Events |
Sends the appropriate events when the framebar starts or stops. |
Common
Some of these parameters may not be avaiable on all CHOP nodes.
|
Scope |
To determine which channels get affected, some CHOPs have a scope string. Patterns can be used in the scope, for example The following are examples of possible channel name matching options:
|
||||||||||||||||||
|
Sample Rate Match |
The Sample Rate Match Options handle cases where multiple input CHOPs’ sample rates are different.
|
||||||||||||||||||
|
Units |
The units for which time parameters are specified. For example, you can specify the amount of time a lag should last for in seconds (default), frames (at the Houdini FPS), or samples (in the CHOP’s sample rate). Note
When you change the Units parameter, it does not convert the existing parameters to the new units. |
||||||||||||||||||
|
Time Slice |
Time Slicing is a feature which boosts cooking performance and reduces memory usage. Traditionally, CHOPs calculate the channel over its entire frame range. If the channel does need to be evaluated every frame, then cooking the entire range of the channel is unnecessary. It is more efficient to calculate only the fraction of the channel that is needed. This fraction is known as a Time Slice. |
||||||||||||||||||
|
Unload |
Causes the memory consumed by a CHOP to be released after it is cooked and the data passed to the next CHOP. |
||||||||||||||||||
|
Export Prefix |
The Export prefix is prepended to CHOP channel names to determine where to export to. For example, if the CHOP channel was named Note
You can leave the Export Prefix blank, but then your CHOP track names need to be absolute paths, such as |
||||||||||||||||||
|
Graph Color |
Every CHOP has this option. Each CHOP gets a default color assigned for display in the Graph port, but you can override the color in the Common page under Graph Color. There are 36 RGB color combinations in the Palette. |
||||||||||||||||||
|
Graph Color Step |
When the graph displays the animation curves and a CHOP has two or more channels, this defines the difference in color from one channel to the next, giving a rainbow spectrum of colors. |
Usages in other examples
| Example name | Example for |
|---|