On this page |
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 available 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.
Examples
See also |