Motion Activity — tdlidar_activity

Let the visuals know if the performer is standing still, walking, or running — and switch presets automatically.

Category: Motion · Tier: Free · Needs: any iPhone (no LiDAR required)

What it does

Uses the phone’s on-device activity classifier to tell you, in plain terms, what the person carrying it is doing right now: walking, running, cycling, in a vehicle (automotive), or stationary. Each is a 0/1 flag, and a separate confidence channel (0=low, 1=medium, 2=high) says how sure the phone is. It updates roughly once a second, making it ideal for high-level context switching rather than fast control.

OSC in

| address | type | range | rate | |—|—|—|—| | /tdlidar/activity/walking | float | 0/1 | ~1 Hz | | /tdlidar/activity/running | float | 0/1 | ~1 Hz | | /tdlidar/activity/cycling | float | 0/1 | ~1 Hz | | /tdlidar/activity/automotive | float | 0/1 | ~1 Hz | | /tdlidar/activity/stationary | float | 0/1 | ~1 Hz | | /tdlidar/activity/confidence | float | 0=low, 1=med, 2=high | ~1 Hz |

Outputs

out1 (CHOP) — six channels: walking, running, cycling, automotive, stationary, confidence. The node tile previews out1.

Parameters

| par | default | what it does | |—|—|—| | OSC Port | 9000 | UDP port to listen on (match the app) |

Quick start (beginner)

  1. Enable Motion Activity in the app (grant the Motion & Fitness permission when asked).
  2. Drop the Motion Activity op. Sit still: stationary reads 1, the rest 0.
  3. Walk around with the phone and walking flips to 1 a second or two later.
  4. Wire the five state channels into a Switch TOP (via a small Math/CHOP-to-index) so each activity shows a different scene — instant, screen-free preset changes.

Advanced patterns

  • State → index → preset: Multiply each flag by its index in a Math CHOP and sum (a Combine → Add) to collapse the five one-hot channels into a single 0–4 index, then feed a Switch TOP/CHOP or a Select to pick the active look.
  • Confidence gate: Use a Logic CHOP — only act when confidence ≥ 2 (high) — so a flickery low-confidence guess doesn’t change your show. AND it with the state flag before the Switch.
  • Debounce the ~1 Hz jitter: A Trigger CHOP with a minimum on time, or a Filter CHOP threshold, stops rapid walking/stationary flapping at the edge of a movement.
  • Energy mapping: Map stationary→running onto a tempo or intensity ramp so the whole show breathes with the performer’s pace.

Gotchas

  • ~1 Hz and laggy. The classifier needs a few seconds of motion to commit; it is for context, not beat-accurate control. Don’t drive anything time-critical from it.
  • States can briefly overlap or all read 0 during transitions — always combine with confidence and a debounce before switching scenes.
  • Requires the user to grant Motion & Fitness access in the app; with no permission the channels stay at 0.