MIDIxFade – Visualizer

Overview

The “MIDI x Fade Visualizer” patch displays images in 16 display windows in response to MIDI note input. When a note is played, an image crossfades in based on the note’s velocity. For example, a velocity of 64 will fade in 50%. The same “off” image is used for all display windows and is selected from a pulldown menu. The “on” image for each display window is selected from a pulldown menu. A folder of 18 tester images including a solid black image and 17 numbered images.

To use this patch: (1) specify the location of your images by dragging your folder of images onto the dropzone, (2) specify the display-time for the images, (3) specify the fade-in time, (4) specify the fade-out time, (5) select the “off” image to be used for all notes, (6) select the MIDI input device, (7)  turn on the system and specify the refresh time, (8) select images for each of the 16 display windows, (9) specify MIDI note numbers for each of the display windows, then play some MIDI (starting at C2, MIDI note number 36). The “outside range” image will display when no MIDI notes match.

Click the reset button to reset your notes to chromatic steps starting at note number 36. Click the popup button to popup an alternate window (which displays only the first 2 display windows, plus a combined window of the 2 with no menu bar). Play the piano keyboard to test MIDI note input. To customize your display, consider changing the popup patcher, or add another patcher window.

Downloads

Zip including 7 Max patches, tester images, Ableton Set with Max for Live patch  – Max_MIDIxFade.zip (3.6MB)

Detail

The patch uses two ‘jit.qt.movie’ objects to hold image information (for the “off” and “on” images) and a ‘jit.xfade’ object to crossfade between the two images. The output is presented in a ‘jit.pwindow’ object.

The first outlet of a ‘midiparse’ object (MIDI note and velocity) is sent to a ‘route’ object. The ‘route’ object matches the first argument (i.e. the MIDI note) and then outputs the second argument (MIDI velocity) to different outlets. The velocity is divided by 127 (to provide a scale of 0. to 1.) which controls the xfade.

To provide a clean patch (and easy copy/paste) of the similar functionality, the “MIDIFader” patcher (in orange) is created. Note that anything that is displayed in the presentation view is left outside of this patcher (the jit.pwindow, umenu, etc.). The “MIDIFader” patcher includes another subpatch call “MIDI_Note-off” (this provides the fade-in and fade-out smoothing).

The send and receive objects (in green) are used to clean up the patch. Note that the “MIDIFader” object toincludes receiv objects.

To add more windows and note responses, change the purple route object and add the 4 objects (receive, umenu, p MIDIFader, pwindow).

Max_MIDIxFade_sc_07

Max_MIDIxFade_sc_08

Max_MIDIxFade_sc_09

Building-block examples

The following 5 example patches present various techniques in displaying pictures.

Max_MIDIxFade_sc_01
Max_MIDIxFade_sc_02
Max_MIDIxFade_sc_03
Max_MIDIxFade_sc_04
Max_MIDIxFade_sc_05

View more patches in the TrevoXamp series