CONTACT
- testing z motion on half the room, based on detected distance from ceiling
- two azure kinects (can be rented from interaccess)
- reliable wifi
Live to Consume — System Components & Technical Requirements
1. Sensing (Input)
Component Function Source Ceiling-mounted Azure Kinect (qty depends on room size — e.g. 2 units for a 25×38 ft room) Depth tracking to detect presence/position of visitors To be sourced — compatible with standard Azure Kinect hardware Mini-PC per Kinect (1:1 in prior install; can run 1 PC per 2 Kinects if a sync cable between units and a sufficiently long high-speed data cable are used) Runs Kinect capture/processing locally; accessed via SSH from the main gallery computer for setup, coding, and monitoring during install and exhibition Windows PC with latest Kinect SDK installed, able to process numpy arrays, wifi-enabled. Exact specs otherwise flexible. High-speed data cable, Kinect to PC Required: ~40Gbps USB-C cable for reliable data transfer between each Kinect and its PC To be sourced 2. Processing (Logic)
Component Function Source Custom tracking software Computes presence (ratio of white-to-black pixels after masking the depth array to the range where shoulders typically sit); motion (sum of pixel-value differences between consecutive frames); and center of mass (average x/y/z position of all detected pixels, used to drive the virtual camera's position in the 3D world) Artist-built, maintained, and supplied OSC data bridge Sends real-time presence, motion, and position values from tracking software to TouchDesigner Artist-built, maintained, and supplied 3. Content Pipeline (Generation)
Component Function Source YouTube API + automated queryer + database Pulls randomized search terms, retrieves matching videos daily, logs video IDs to a database Artist-built; requires API key, supplied by artist yt-dlp download routine Downloads video files from the database Artist-built Content refresh (current vs. planned) Prior presentation used a pre-downloaded pool — as much footage as fit on 2TB of storage, each file tagged by unique ID, sequentially selected and removed from the pool in TouchDesigner as it was used. A live cyclic download/delete system, enabling continuous, unbounded content refresh during the exhibition run, is in development and would be implemented for this presentation, time permitting. If implemented, this would also require a self-updating routine for yt-dlp, to keep the automated download process functional through YouTube-side platform changes. Artist-built Storage (2TB+ external SSD or equivalent) Temporary storage for downloaded video before/during exhibition Gallery or artist, to be confirmed 4. Output (Display)
Component Function Source TouchDesigner (Pro license) Builds and renders the real-time 3D video environment License to be secured — purchase or gallery-provided 360-degree projection setup (projectors + edge-blending/calibration) Projection surface for the walkable 3D archive Expected from venue. This is the component the artist has the least in-house expertise in — prior presentation took place in a gallery with an existing 360 projection infrastructure already built and calibrated; the artist did not set this up. Detailed specs from that prior install (projector count, placement, calibration approach) could be gathered and shared post-award if selected, but are not available ahead of the application deadline. Gallery/presentation computer Runs TouchDesigner and tracking software in real time Gallery-provided or artist-supplied; highest available GPU/RAM recommended — exact spec to be confirmed against prior installation's reference machine ahead of install 5. Maintenance / Reliability
-
Daily operation: Minimal. In the prior presentation, the Kinect tracking script was automated to start each morning and shut down each evening; gallery staff only needed to open the TouchDesigner file daily. No maintenance issues occurred over several weeks of exhibition.
Known failure point: Occasional lag or freezing under high-presence conditions (large crowds), caused by GPU load. Mitigated by either capping the maximum tracked presence value or running on a higher-spec GPU.
Platform dependency: if the live cyclic download system (see Content Pipeline, above) is implemented, yt-dlp would need a self-updating routine to remain functional through YouTube-side platform changes. Not required for the pre-downloaded-pool approach used previously.
Network: Requires an isolated wifi network, primarily to ensure smooth, low-latency communication between the Kinect mini-PCs and the main gallery computer. If the live cyclic download system is implemented, network isolation would additionally help prevent bandwidth competition from affecting real-time download and playback performance.
runs till my quota is exceeded lol
includes spatial audio that can be omitted due to copyright concerns