On this page

Available channel/audio formats






Houdini ASCII channel format containing raw values in rows and columns.

This information is written out into the file as ascii text, one row per frame of data, and one column per channel. The file contains specific information regarding channel names, sample rates etc. This format can be imported or exported from the Houdini animation editor (and is even compatible with old action channel formats).



Houdini binary channel format, equivalent to .chan

This file type is the same as the .chan format, except that the data is written in binary format. That is, the information is represented in a tightly-coded short-hand rather than as ascii characters you could read as text. It is more compact and loads more quickly.



Houdini ASCII native CHOP Format. Contains raw values like .chan plus all the information held by a chop. Currently this format contains named channels, each with an array of raw sample values. The clip also contains a start and end range, a sample rate, channel extend conditions and quaternion attributes.

Example source code for reading and writing Houdini clip files is in $HFS/houdini/public/CPD.tar.Z.



This is the binary version of a clip. This format is recognized by the magic string bclp in its first four characters.



This is the non-commercial version of the bclip format.



Houdini ASCII format for a group of channels expressed as keyframed segments (e.g. bezier(), ease(), etc.)

This format is used to describe channels which contain segments, slopes, accelerations, interpolation types and other spline based attributes. It is compatible with the internal Houdini Animation Editor.



Houdini binary format, equivalent to .chn

.aif .aiff


Common lossless audio format, descended from IFF.



Old Sun/NeXT audio format.



NeXTAudio format.



Audio format



Windows lossless audio format.

Loading and saving channel data

To...Do this

Save channels from a CHOP

  • Choose Save Data Channels from a chop tile’s pop-up menu. The format is determined by the filename extension.

Load Channel Files into a CHOP

  • Create a File CHOP and specify the channel file in the parameters.

Read .chan/.bchan files into a CHOP

  1. In the animation editor , select the channel you want to load the values into.

  2. Choose File ▸ Load Active Chan/Bchan.

  3. In the CHOP editor, place a Fetch CHOP and specify the object and channel on the Source tab in the parameter editor.

CHOP internals

All chop channels are made of arrays 32-bit floating point numbers, including chops containing audio samples.

A CHOP is sampled when…

  • it is needed by a downstream chop

  • it is accessed through the chop() function by another OP

  • by displaying the channel in a graph

  • by connecting the channel to an audio device (speaker)

  • it is linked to an OP

  • chops are being output from Houdini to a file or the textport

  • cooked by the opcook command

Extend Conditions

Extend conditions: sampling chops out of bounds: When using the chop() function to sample a channel, the index-value may be outside the interval of the chop. But a reasonable value is returned. The user is able to control the value of the channel outside its interval: See the Extend chop.

A chop holds it channels at a single sample rate. If other chops need to get it at different sample rates, they will make their own temporary array at their desired sample rate.

Frame Dependencies

CHOPs are frame-dependent only if its data channels change every frame Houdini advances to another frame. Most chops will not be frame dependent, even if they have an animated curve in them because it will just be sampled (not cooked) each time it is polled for values at a certain frame.

Frame-dependent chops are ones whose shape changes each time it is called such as:

  • a chop that reads data from an external device each frame

  • a chop that reads a sop and converts it into a curve each frame

  • a chop that has animated (non-constant) control channels.

CHOPs are independent of $F. Only when you use chops in a display does $F come into play to use the chop and its sample rate to choose the index to sample.

Supported file formats