• home
  • About the project
  • Miniature know-how
  • Language
    • Polski
    • English
Mi

Grid

body, intuition, responses, and expectations
Preview: default camera Preview: back camera
Parameters
bthreshold
cellr
cut
displaymode
epleft
epright
epright
eptop
feedback
gphor
gpver
gridh
gridw
gui
lang
mirror
mul
pointer
synth
voices
vol
zthreshold
Description

“Grid” is a motion-controlled polyphonic musical instrument in the form of a matrix of cells superimposed on an image seen through a camera, the “violation” of which through movement triggers sound. The work loosely refers to “Interactive Platform” (Paweł Janicki, Dominika Sobolewska, 2011), one of the older installations at the Interactive Playground. “Grid,” like the related Miniatures (“Painting with Light,” “Heble”), is constructed to bypass the typical problem of interactive works related to the rigid limitation of the number of people interacting with the work: “Grid” and related Miniatures can be presented and used in various scales and versions, engaging one or more people. At the same time, “Grid”, despite its clearly programmatic-digital provenance, focuses on the body, intuition, natural responses, and expectations.

Technical documentation

Parameters passed via URL

  • bthreshold 0.0 … 1.0; default 0.5; brightness threshold above which a pixel is treated as containing motion information
  • cellr 0.0 … 1.0 normalized value of the corner rounding degree of grid cells
  • cut 0.0 … 1.0; default 0.01; normalized threshold of minimum pixel brightness considered in the motion detector’s operation
  • displaymode 0 … 5; default 5; display mode: 0 – unprocessed image and detected moving objects, 1 – image after enhancement and dark object filtering, and detected moving objects, 2 – background and detected moving objects, 3 – difference image (between current image and background) and detected moving objects, 4 – binary representation of difference image and detected moving objects, 5 – light painting (final effect)
  • epleft 0.0 … 1.0 normalized distance of the grid from the left edge of the camera’s field of view
  • epright 0.0 … 1.0 normalized distance of the grid from the bottom edge of the camera’s field of view
  • epright 0.0 … 1.0 normalized distance of the grid from the right edge of the camera’s field of view
  • eptop 0.0 … 1.0 normalized distance of the grid from the top edge of the camera’s field of view
  • famo user | environment (or env); default user; [facingMode] allows forcing the use of the front (user) or rear (environment) camera on devices equipped with dual cameras (most modern mobile devices)
  • feedback 0.0 … 1.0; default 0.5 intensity of feedback for the background image
  • gphor 0.0 … 1.0 normalized distance between grid cells in the same row
  • gpver 0.0 … 1.0 normalized distance between grid cells in the same column
  • gridh number of grid cells in each column
  • gridw number of grid cells in each row
  • gui 0 or 1; default 1; hides/shows the graphical user interface panel
  • h vertical camera resolution
  • lang en or pl; default en; sets the interface language (additional languages can be added)
  • midimax highest used sound (MIDI note number)
  • midimin lowest used sound (MIDI note number)
  • midioutchn disabled by default; MIDI channel number for external control of Miniature (sending messages)
  • midioutport disabled by default; MIDI port number for external control of Miniature (sending messages)
  • mirror 0 or 1; default 1; disables/enables mirroring of the image from the capture device (usually a camera)
  • mul 0.0 … 1.0; default 0.1; normalized amplification level (brightness boost) of the image
  • pointer 0 or 1; default 1; hides/shows the mouse cursor
  • synth 0 or 1; default 1; disables/enables the internal sound generator
  • tuning C c# D d# E F f# G g# A a# B; binary sequence composed of 12 numbers (0 or 1), each indicating whether the corresponding pitch in the octave is enabled
  • voices number of voices in the internal synthesizer
  • voices number of voices in the internal synthesizer
  • vol 0.0 … 1.0; sets the initial instrument volume level (global “vol” slider)
  • w horizontal camera resolution
  • worker 0 or 1; default 0; allows blocking the browser’s built-in mechanisms that suspend the program when the window is not visible
  • ws address; disabled by default; enables and sets the address (usually localhost:9001) for WebSocket communication (allows external control of Miniature and customization)
  • xws address; disabled by default; enables and sets the address (usually ws://localhost:9001) with protocol specification for WebSocket communication (allows external control of Miniature and customization)
  • zonecol 0xRRGGBB zone color
  • zthreshold 0.0 … 1.0; default 0.5; threshold of cell fill degree from which a grid cell is treated as containing motion

Messages passed via WebSocket

Messages to which Miniature responds

not applicable

Messages sent by Miniature

  • grid ampimage 0.0 … 1.0; reports change in the image amplification level
  • grid bthreshold 0.0 … 1.0; reports change in the motion detection system threshold level
  • grid cell reports change in grid cell status: index, column, row, status (enabled/disabled), normalized fill level value
  • grid displaymode 0 … 5 reports change in display mode
  • grid feedback 0.0 … 1.0; reports change in the feedback level of the background image detection system
  • grid midimax reports change in the highest used sound (MIDI note number)
  • grid midimin reports change in the lowest used sound (MIDI note number)
  • grid minbrightness 0.0 … 1.0; reports change in the level of dark area clipping in the image
  • grid tuning reports change in tuning (returns a binary sequence of 12 numbers indicating whether each pitch in the octave is enabled or disabled)
  • grid vol 0.0 … 1.0; reports change in volume level
  • grid zthreshold 0.0 … 1.0; reports change in the motion detection threshold level within grid cells

MIDI

Messages to which Miniature responds

not applicable

Messages sent by Miniature

  • note on/off MIDI note corresponding to the tuning of a grid cell changing its status

Communication with MaxMSP

Messages to which Miniature responds

not applicable

Messages sent by Miniature

  • grid ampimage 0.0 … 1.0; reports change in the image amplification level
  • grid bthreshold 0.0 … 1.0; reports change in the motion detection system threshold level
  • grid cell reports change in grid cell status: index, column, row, status (enabled/disabled), normalized fill level value
  • grid displaymode 0 … 5 reports change in display mode
  • grid feedback 0.0 … 1.0; reports change in the feedback level of the background image detection system
  • grid midimax reports change in the highest used sound (MIDI note number)
  • grid midimin reports change in the lowest used sound (MIDI note number)
  • grid minbrightness 0.0 … 1.0; reports change in the level of dark area clipping in the image
  • grid tuning reports change in tuning (returns a binary sequence of 12 numbers indicating whether each pitch in the octave is enabled or disabled)
  • grid vol 0.0 … 1.0; reports change in volume level
  • grid zthreshold 0.0 … 1.0; reports change in the motion detection threshold level within grid cells
Source code

index.html

sketch.js

gui.js

worker.js

p5.vida.js

shaders.js

roi.js

synth.js

midi.js

ws.js

Cgk8ZGl2IGNsYXNzPSJqcy1tYWlubWVudSI+CgkJPGRpdiBjbGFzcz0ibWVudS1tYWlubWVudS1jb250YWluZXIiPjx1bCBpZD0ibWVudS1tYWlubWVudS0xIiBjbGFzcz0ibWVudSI+PGxpIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0taG9tZSBtZW51LWl0ZW0tMzI3Ij48YSBocmVmPSJodHRwczovL21pLndyb2NlbnRlci5wbC9lbi8iPmhvbWU8L2E+PC9saT4KPGxpIGNsYXNzPSJtZW51LWl0ZW0gbWVudS1pdGVtLXR5cGUtcG9zdF90eXBlIG1lbnUtaXRlbS1vYmplY3QtcGFnZSBtZW51LWl0ZW0tMzI1Ij48YSBocmVmPSJodHRwczovL21pLndyb2NlbnRlci5wbC9lbi9vLXByb2pla2NpZS8iPkFib3V0IHRoZSBwcm9qZWN0PC9hPjwvbGk+CjxsaSBjbGFzcz0ibWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLXBvc3RfdHlwZSBtZW51LWl0ZW0tb2JqZWN0LXBhZ2UgbWVudS1pdGVtLTk2NCI+PGEgaHJlZj0iaHR0cHM6Ly9taS53cm9jZW50ZXIucGwvZW4vbWFudWFsLyI+TWluaWF0dXJlIGtub3ctaG93PC9hPjwvbGk+CjxsaSBjbGFzcz0icXRyYW54cy1sYW5nLW1lbnUgcXRyYW54cy1sYW5nLW1lbnUtZW4gbWVudS1pdGVtIG1lbnUtaXRlbS10eXBlLWN1c3RvbSBtZW51LWl0ZW0tb2JqZWN0LWN1c3RvbSBjdXJyZW50LW1lbnUtcGFyZW50IG1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gbWVudS1pdGVtLTMyOCI+PGEgaHJlZj0iIyIgdGl0bGU9IkVuZ2xpc2giPkxhbmd1YWdlPC9hPgo8dWwgY2xhc3M9InN1Yi1tZW51Ij4KCTxsaSBjbGFzcz0icXRyYW54cy1sYW5nLW1lbnUtaXRlbSBxdHJhbnhzLWxhbmctbWVudS1pdGVtLXBsIG1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1jdXN0b20gbWVudS1pdGVtLW9iamVjdC1jdXN0b20gbWVudS1pdGVtLTk2NSI+PGEgaHJlZj0iaHR0cHM6Ly9taS53cm9jZW50ZXIucGwvcGwva3JhdGEvIj5Qb2xza2k8L2E+PC9saT4KCTxsaSBjbGFzcz0icXRyYW54cy1sYW5nLW1lbnUtaXRlbSBxdHJhbnhzLWxhbmctbWVudS1pdGVtLWVuIG1lbnUtaXRlbSBtZW51LWl0ZW0tdHlwZS1jdXN0b20gbWVudS1pdGVtLW9iamVjdC1jdXN0b20gY3VycmVudC1tZW51LWl0ZW0gbWVudS1pdGVtLTk2NiI+PGEgaHJlZj0iaHR0cHM6Ly9taS53cm9jZW50ZXIucGwvZW4va3JhdGEvIiBhcmlhLWN1cnJlbnQ9InBhZ2UiPkVuZ2xpc2g8L2E+PC9saT4KPC91bD4KPC9saT4KPC91bD48L2Rpdj4JPC9kaXY+Cgk8YnV0dG9uIGNsYXNzPSJqcy1hMTF5Ij48aW1nIGFsdD0iSGlnaCBjb250cmFzdCIgc3JjPSJodHRwczovL21pLndyb2NlbnRlci5wbC93cC1jb250ZW50L3RoZW1lcy9taTIwMjYvaW1nL2tvbnRyYXN0LnN2ZyI+PC9idXR0b24+Cg==
Grid — Mi
KPO Unia Europejska #NextGenerationEU Rzeczpospolita Polska
WRO ART CENTER
  • About the project
  • Miniature know-how