Home

Awesome

Blender NLA Midi Copier

Blender add-on for creating midi-driven animations from the Nonlinear Animation view. Adds a panel to the Nonlinear Animation view that allows for copying an action to each instance of a note in a midi file. For example, actions strips for a selected action could be generated to line up with all the C4 notes played by a piano. To access the panel, expand the right-side panel in the Nonlinear Action View and select the Midi tab.
This add-on also adds a panel in the Graph Editor to generate keyframes on existing F-Curves based on midi file data.

This add-on is written for Blender 4.1 and is compatible back to Blender 2.80. Add-on Version 0.19.1. Changelog here.

<details> <summary> Midi Panel </summary>

Midi Panel controls:

Midi Panel

</details> <details> <summary> Midi Instrument Panel </summary>

An instrument can be defined as a collection of notes and actions. The instrument is independent of any specific midi file, allowing for defining a set of actions for each note and later syncing them up to a midi file. To define an instrument, expand the right-side panel in the Nonlinear Action View and select the Midi Instruments tab.

Midi Instrument Panel Controls

Midi Instrument Panel

Properties Box

Notes Box

Notes Box

Transpose Box

Transpose Box

Animate Box

Animate Box

The animate instrument box is not available if there is no selected midi file. Select a midi file in the Midi Panel.

</details> <details> <summary> Filters </summary>

Filters

Filter

Filters can be used to filter notes when copying actions. Filters are defined within a filter group. Actions are copied to notes that match any of the filter groups. For a note to match a filter group, it must match all filters within the group. For example, if group 1 has filters A and B, and group 2 has filters C and D, actions will be copied to notes that match either both filters A and B, or both filters C and D (this includes actions matching all filters A, B, C, and D).

Filter Controls

Click "Add Filter Group" to add a new filter group. Click the x in the top right of the filter group to remove it.

Click "Add Filter" to add a filter within the group. Click the x next to the filter to remove it.

If more than one filter is defined in a group, the arrows can be used to move the filters up and down. The filters are applied from top to bottom.

If "All Pitches" is selected in a filter group, the group will act on all pitches (ignoring the note selected in the midi panel or ignoring the instrument note if part of an instrument). It is always selected if any of the filters in the list are a Pitch filter.

Filter Descriptions

Filter Presets

Filter presets

Filters can be stored to presets. Saved presets can be access from the Nonlinear Animation view, Graph editor, or Dope Sheet.

</details> <details> <summary> Quick Copy Tools </summary>

Quick Copy Tools

Copy to Instrument

The Quick Copy Tools panel contains tools for copying to multiple notes at once when different objects are animated to different notes. The action defined in the NLA Midi panel can be copied to multiple objects, with a different note for each object, by ordering the selected objects along a path. The action can also be copied to an instrument (with or without copying along a path).

Copy by object name

The Copy by object name tool copies actions to objects based on the name of the object. It matches notes based on the Copy by option.

Copy to Instrument

Copy to  instrument
The copy to instrument tool copies the action in the NLA midi panel to the selected instrument and note.

Copy Along Path

Copy along path Copy along path is a tool that can be used to quickly copy actions to multiple objects, with a different note for each object, if every object uses the same action. This is useful for animating something like a piano without having to animate each key individually. The piano's keys can all be animated at once by creating a path to define the ordering of the keys (starting at the lowest pitch and ending at the highest), and using the Copy along path option.

</details> <details> <summary> Midi Settings </summary>

Midi Settings

Midi Settings

</details> <details> <summary> Graph Editor Keyframe Generation </summary>

Graph Editor Keyframe Generation

Graph Editor Midi Panel

Keyframes can be generated based on pitch in the graph editor. Select an F-Curve in the graph editor, choose a low and high pitch, choose a min and max keyframe value, and generate keyframes with values based on the pitch.

</details> <details> <summary> Grease Pencil </summary>

Grease Pencil

Grease Pencil Midi Panel

This add-on also allows for copying selected grease pencil frames to sync with notes in a midi file. The grease pencil midi panel is available in the Grease Pencil Dope Sheet when "Only Show Selected" is selected in the Dope Sheet bar. The grease pencil panel midi is independent of the Nonlinear Animation midi panel (the selected midi file, frame offsets, and midi settings are not tied to the Nonlinear Animation midi panel).

For the most part, controls are the same as in the Nonlinear Animation midi panel.

See the midi panel section for more information about the other controls.

</details> <details> <summary> Other Tools Panel </summary>

Other Tools Panel

This panel contains tools that are not necessarily related to Midi. It can be hidden in the add-ons preferences.

<details> <summary> Rename Action </summary>

Grease Pencil Midi Panel

Allows for renaming an action directly from the Nonlinear Animation view.

</details> <details> <summary> Generate transitions </summary>

Generate Transitions

Generates NLA strips that act as transitions. Transitions strips are placed between selected actions on the active NLA track.

</details> <details> <summary> Delete transitions </summary>

Delete transitions

Deletes transitions between selected NLA strips on the active NLA track.

</details> </details>

Installation: