MIDI Out channel node

The MIDI Out CHOP sends MIDI events to any available MIDI devices.

See also: MIDI In, Pipe Out

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. ch1note44, with a channel prefix of ch).

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 0-1 are mapped to 0-127.

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 0-127.

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 0 to 1.

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 * (match all), and ? (match single character).

The following are examples of possible channel name matching options:

chan2

Matches a single channel name.

chan3 tx ty tz

Matches four channel names, separated by spaces.

chan*

Matches each channel that starts with chan.

*foot*

Matches each channel that has foot in it.

t?

The ? matches a single character. t? matches two-character channels starting with t.

r[xyz]

Matches channels rx, ry and rz.

blend[3-7:2]

Matches number ranges giving blend3, blend5, and blend7.

blend[2-3,5,13]

Matches channels blend2, blend3, blend5, blend13.

t[xyz]

[xyz]matches three characters, giving channels tx, ty and tz.

Sample Rate Match

The Sample Rate Match Options handle cases where multiple input CHOPs’ sample rates are different.

Resample At First Input’s Rate

Use rate of first input to resample others.

Resample At Maximum Rate

Resample to highest sample rate.

Resample At Minimum Rate

Resample to the lowest sample rate.

Error if Rates Differ

Does not accept conflicting sample rates.

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 geo1:tx, and the prefix was /obj, the channel would be exported to /obj/geo1/tx.

Note

You can leave the Export Prefix blank, but then your CHOP track names need to be absolute paths, such as obj:geo1:tx.

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