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:
| ||||||||
| Record | A button used to manually start and stop recording. | ||||||||
| Reset | Resets the CHOP output channels to be |
Note
| Note Name | To read note events put a channel base name. (try |
| Note Scope | The notes to record. Ranges (try |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 |
| 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 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. |