Houdini 11 Nodes Channel nodes

The MIDI In CHOP reads Note events, Controller events, Program Change events, and Timing events from both midi devices and files.

For a quick start, see: User Guide > CHOPs > Using MIDI in Houdini.

The MIDI In CHOP receives midi events from midi devices connected to the serial port, reads midi events internal to the workstation (i.e. the built-in software synth), and interprets musical scores in midi files. midi data can be recorded in real time or recorded to the Houdini timeline play bar’s time. Supported midi events are:

  • Note On, Note Off

  • Polyphonic Aftertouch

  • Channel Pressure

  • Program Change

  • Control Change (midi controller devices)

  • Pitch Wheel

  • Timer Events including beat pulses

  • Bar Messages

  • Start, Stop, Continue

  • Song Position Pointer

  • System Exclusive Messages

midi events arriving on separate midi channels may be recorded on separate CHOP channels. Also, any number of midi CHOP can read from the same or different sources. When Houdini receives a midi Start, Stop or Continue event, it affects the Playbar.

Note

The values of the midi inputs are saved into the Houdini .hip file, and are restored when the file is reloaded. The physical controllers may be in a different position when the .hip is restarted, causing the values to jump when the controllers are moved. This is unavoidable.

Parameters

Source

MIDI Source

MIDI Interface to listen to: hardware port, internal, file.

MIDI File

The name of the MIDI file to read, if reading a file.

Read Entire MIDI File

Read the whole file versus using the Start/End.

MIDI Channels

The MIDI channel(s) to read from (1-16). The input streams from multiple channels will be combined into one if no Channel Prefix is given.

Channel Prefix

When acquiring multiple MIDI channels, the channels can be merged or kept separate. If this field is not blank (try “ch”), one set of CHOP channels is made per MIDI channel: all CHOP channels will be prefixed with this string and MIDI channel number.

Echo Messages to Textport

Logs all input MIDI messages to the textport.

Record

Record Method

Selects one of four record methods:

Single Frame

Only the most recent value is output at frame 0.

Current Frame

Like Single Frame, at the current frame.

Current Time Slice

MIDI output for the current time slice.

Full Length

MIDI output for the whole range.

Record

A button used to manually start and stop recording.

Reset

Resets the CHOP output channels to be 1 sample long.

Note

Note Name

To read note events put a channel base name. (try n)

Note Scope

The notes to record. Ranges (try 41-60) can be used.

Note Output

Notes can be recorded into one channel or each note number can have their own channel (Single Channels).

Velocity

The velocity can be recorded as part of the note (Note Amplitude), as a different channel (Separate Channels), or not at all (Off).

Velocity Name

The base name of velocity-only channels. (try v)

Aftertouch Name

The base name of the polyphonic aftertouch channels.

Pressure Name

The name of the channel pressure channel(s).

Normalize

Note velocity, pressure & aftertouch can be normalized.

Pitch Wheel Name

The name of the pitch wheel channel.

Control

Controller Name

To read controller events, put a base name. (try c)

Controller Type

There are 128 controllers available. You can specify controllers by index or choose one from the list.

Controller Index

The index range of the controllers. (try 1-8)

Controller Format

Selects either 7 (most common) or 14 bit controllers.

Normalize

Controller values can be normalized to simple ranges.

Unwrap

Allows cyclic controllers to extend beyond MIDI limits.

Program Change

The name of the program change channels(s).

Sys

Timer Pulse Name

The name of a channel that pulses on MIDI beats.

Timer Ramp Name

Name of channel that ramps 0 to 1 between MIDI beats.

Timer Period/Start

Name of channels with start/period values of beats.

Ticks per Beat

The number of timer pulses per MIDI beat.

Bar Ramp Name

Name of channel that ramps 0 to 1 between MIDI bars.

Bar Period/Start

Name of channels with start/period values of the bar.

Bar Message

Series of hexadecimal bytes describing the Bar message.

Song Pos Name

The name of the song position pointer channel.

Channel Name 1-12

Output channel name for each System Exclusive message

Message 1-12

Series of hexadecimal bytes describing SysEx message. (* = dont care, V = value 0-127, v = value 0-1 range)

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.

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.

Related topics