{"id":6291,"date":"2026-11-05T16:58:01","date_gmt":"2026-11-05T21:58:01","guid":{"rendered":"https:\/\/dems.asc.ohio-state.edu\/?p=6291"},"modified":"2026-11-05T16:58:01","modified_gmt":"2026-11-05T21:58:01","slug":"dj-toe-playing-the-flock","status":"publish","type":"post","link":"https:\/\/dems.asc.ohio-state.edu\/?p=6291","title":{"rendered":"DJ.toe \u2014 Playing the Flock"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">ShihuaWang XMD<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Pressure Project 3: VJ Battle<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DJ.toe is a real-time video synthesizer built in TouchDesigner and performed using a Korg nanoKONTROL2. It develops my earlier bird project into an instrument: a flock circles a central red bird, but its speed, density, scale of movement, and visual intensity can now change through physical controls. The patch does not play music locally. Instead, I listen to the music in the room and make the visual decisions myself.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"DJ\" width=\"590\" height=\"332\" src=\"https:\/\/www.youtube.com\/embed\/hv63fjtRN_M?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Process Reflection<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">My starting point was a flock that already knew how to fly. The challenge was making it something I could play. In the earlier version, audio analysis controlled movement automatically. For this project, I disconnected that dependency and gave the birds a continuous flight speed before introducing MIDI. This mattered because I wanted the flock to keep moving even when no audio was entering my computer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I organized the controller around actions I could remember without reading the node network. The eight faders control flight speed, gathering and dispersal, movement irregularity, bird count, fading, grayscale color, camera distance, and camera orbit speed. I separated dispersal from bird size because spreading a flock across the screen creates a different feeling from enlarging its individual bodies. Separating these decisions made the instrument easier to understand.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Initially, I wanted to avoid buttons because the setup already felt complicated. Later, I realized that a few buttons could provide accents that faders could not. I added a temporary size pulse and developed a held color effect: pressing the button introduces rapidly changing colors and brightness variation, while releasing it returns to the original image. A knob adjusts the flashing frequency. I treated these as interruptions rather than the permanent appearance of the piece.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The black-and-white image remained important to me. It gives the flock a clear silhouette and makes changes in density easy to see. It also gives color somewhere to arrive from. If everything is constantly colorful and intense, an additional effect has less impact. I wanted room for quieter moments, empty space, and gradual changes before a sudden visual accent.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The technical process involved several corrections. At one point, MIDI values were changing correctly, but the birds were not flying because the rotation export needed to be reconnected. Another attempt produced distortion without the color effect I wanted. I rebuilt that section around an explicit color mapping instead. These moments taught me to check each stage separately: controller input, numerical range, animation, and final display.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">During the live performance, I was much more nervous than I had expected. Once the music started, though, I focused on listening and working the controller. I hit each drum beat with the visual changes I intended, and the controls worked smoothly throughout. The result felt even better than I had hoped. What surprised me most was how different the project felt when I was performing it: the birds were no longer just an animation I had built, but something I could play. Getting those moments right made the time spent adjusting and troubleshooting the controls feel worthwhile.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The most interesting shift was from watching a system to making decisions within it. The controller gave me a way to shape tension through accumulation, speed, distance, and interruption. For a future version, I would add clearer physical labels, a few reliable scene presets, and smoother transitions between them. I would also spend more time rehearsing when to leave the image alone. Building more effects is tempting, but learning when a small movement is enough is part of learning to perform this instrument.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Tools and Credits<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Software:<\/strong> TouchDesigner.<\/li>\n\n\n\n<li><strong>Controller:<\/strong> Korg nanoKONTROL2.<\/li>\n\n\n\n<li><strong>Bird assets:<\/strong> Model from my personal asset library, with rigging and flight poses prepared by me.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>ShihuaWang XMD Pressure Project 3: VJ Battle DJ.toe is a real-time video synthesizer built in TouchDesigner and performed using a Korg nanoKONTROL2. It develops my earlier bird project into an instrument: a flock circles a central red bird, but its speed, density, scale of movement, and visual intensity can now change through physical controls. The [&hellip;]<\/p>\n","protected":false},"author":131,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-6291","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/dems.asc.ohio-state.edu\/index.php?rest_route=\/wp\/v2\/posts\/6291","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dems.asc.ohio-state.edu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dems.asc.ohio-state.edu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dems.asc.ohio-state.edu\/index.php?rest_route=\/wp\/v2\/users\/131"}],"replies":[{"embeddable":true,"href":"https:\/\/dems.asc.ohio-state.edu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6291"}],"version-history":[{"count":1,"href":"https:\/\/dems.asc.ohio-state.edu\/index.php?rest_route=\/wp\/v2\/posts\/6291\/revisions"}],"predecessor-version":[{"id":6292,"href":"https:\/\/dems.asc.ohio-state.edu\/index.php?rest_route=\/wp\/v2\/posts\/6291\/revisions\/6292"}],"wp:attachment":[{"href":"https:\/\/dems.asc.ohio-state.edu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6291"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dems.asc.ohio-state.edu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6291"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dems.asc.ohio-state.edu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6291"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}