Introduction: [Computational Fabrication] Choreomusical Blooms


The goal of this project is to develop a design system that leverages relationships from choreomusicology (definition: the study of the relationship between music and dance) to mediate the influence of music and embodied knowledge in creating physical artifacts.

This is my final project for a course I’m taking this quarter (Spring 2020) on computational fabrication taught by Prof. Jennifer Jacobs at the Media, Arts & Technology program at the University of California Santa Barbara. The idea behind the course is that digital fabrication can be combined with computational design to create complex and functional physical forms.

This project is largely inspired by several other projects in this space including two instructables Blooms: Phi-Based Strobe Animated Sculptures by John Edmark and Bloom by Sammy Wadsworth also based on Edmark’s work which cleverly uses a turntable and DSLR to capture a spinning bloom. For a full list of sources and to learn about other work in this space, check out my slides available here.

Tools I used for this project include

  • Rhinoceros (Rhino), a commercial NURBS-based computer-aided design (CAD) tool
  • Grasshopper (GH), a visual programming language based on a data flow paradigm that lets you parametrize the geometry you create in Rhino
  • Creality Ender 3D Pro, a commercially available 3D printer supplied by UCSB
  • Camera+2 [$3.99], an iOS app to manually control shutter speed and ISO
  • Cinema 4D, a 3D modeling, animation and rendering tool
  • Calipers, to measure distances
  • Record player, to spin the bloom

Step 1: Recreating Edmark’s Bloom Sculptures

Edmark outlines the steps used to create his blooms. For those of you unfamiliar with his work, this was a very beautiful project to creative sculptures that appear to be animated to their intrinsic structural properties. Unlike a zoetrope (e.g. Growing Objects by Nervous System), these are a single coherent sculpture. Edmark creates this effect by positioning subsequent leaves of his bloom objects at a rotation of ~137.5 degrees (phi — the golden angle) and capturing the blooms spinning at a rate so that what you see is each successive leaf (this is not quite exact, see his write-up for a more precise explanation).

The first step is to recreate his process. I didn’t follow it exactly but implemented almost identical ideas at each step:

  1. Set points on a cylinder ~137.5 around the axis from the previous point and raised a bit.
  2. Project points onto a sphere.
  3. Connect points to form a quad mesh. (For this step I used the MeshEdit plugin’s 3D proximity component and then a python script to create quads based on the 4 nearest neighbors of each point.
  4. Transform and position geometry based on each quad.
  5. Bind bloom with a sphere and add a base. ( I parametrized the base design to fit on top of a record).

Step 2: Developing a Design System Inspired by Choreomusical Mappings

Next, I created an interface inspired by choreomusical mappings so that a user would be able to translate their subjective experience of listening and responding to a piece of music to the bloom they would create. This problem was challenging, as it was two-fold. In creating mappings that would recreate choreomusical relationships, I tried to design inputs that the user would be able to understand and manipulate as well as develop a geometric effect that would provide a visual analog for what was being expressed. Moreover, since I am using a printer with a single extruder and want to create monochromatic pieces all of these modifications have to be structural.

Before diving into the mappings, I want to share the framework I used. In Paul Mason’s 2012 publication Music, dance and the total art work: choreomusicology in theory and practice, Mason outlines relationships defined by Paul Hodgins in 1992 in Hodgins’ book Music, Movement and Metaphor. Hodgins characterizes intrinsic and extrinsic relationships tying music to choreography. I followed these mappings in designing inputs and their corresponding effects. I picked this framework because for me it best evoked what I feel when I dance and that was delightful.

Below, I’ve outlined the steps to create choreomusical blooms. In order to make them more concrete, I’ve added examples taken from my experience of creating a choreomusical bloom inspired by this Sufi classic (well, it’s a Sufi Rock interpretation of it) Lal Meri Pat by Junoon. A significant goal in developing these mappings was to make them straightforward to understand and use especially by non-experts.

  1. Create up to 10 geometric objects to serve as leaves. Use storytelling and symbolism to convey narrative and archetypes. E.g. sufi spinning, arm extended, hats, sphere, round quality of sound / joy.
  2. Indicate a color to accompany each form. Engage synaesthetic associations that evoke qualitative responses and emotion. Value and Saturation to twist and taper. Use GeoDisplay to view leaves that will populate the bloom. Hue is mapped to tone color (not yet implemented). E.g. green → spirituality, faith, dark colors, bright yellow → energy.
  3. Specify phrasing by drawing out repeated patterns: “0123321”. Patterns correspond to placement of leaves. E.g. dama dam mast qalander __ dama dam mast qalander → 0, 1, 2, 3, 4, 3, 4, 5, 0, 1, 2, 3, 4, 3, 4.
  4. Roughly map intensity across the song using an interpolated graph → click and drag points to create a rough representation. Leaves will be scaled outwards accordingly relative to the size of the quad used to transform each leaf. I used RichedGraphMapper that adds more graph types to the GraphMapper component. E.g. The song starts out softly, becomes louder, becomes very soft, and then becomes as loud as it gets as it ends.
  5. Roughly control a mimetic relationship by adjusting a sum of sines graph. I used Chrome Lab’s spectrogram tool to visualize frequencies. Adjust the sampling frequency. Edmark varies the tips of his Blooms using a sine function to create movement -- instead I use this input. Sampled values shift how the forms oscillate by changing their WU- and WV- shear.
  6. Roughly indicate rhythm by showing accelerations / decelerations using a polyline graph. I mapped rhythm to positive / negative space by shifting the scale factor in UV for each quad. E.g. the song slows down, speeds up a bit, slows down a lot, and then speeds up a lot at the end!

Step 3: Fabrication

I modified my sketch based on initial prints. Binding the bloom is challenging and a little finicky. Originally, I tried to use a sphere that was ensconced in the leaves but this failed. The best approach I explored was creating a sphere scaled down and offset that the leaves intersect. This is calibrated by the user using the GH sketch.

Another print failed because my filament snapped off in the middle of the night (always about trial and error!). However this was useful as it was a partial full scale print. Some of the geometry in my design was approaching resolution limits of the printer but I was impressed that I could remove the support structure fairly well and each appendage printed well.

My last attempt led to a full fledged bloom! There are some issues that need troubleshooting. For instance, while the slicing looked ok in Cura, one side of the sphere didn’t have appendages (there was also no extruded excess filament so it wasn’t printing in midair… not sure what happened here). Also some of the appendages near the top were minimally attached, and I ended up accidentally removing them while I was removing the support structure.

All in all, I’m pretty happy with the result! It’s kind of a cool and weird artifact.

Step 4: Capturing a Choreomusical Bloom

I did a small rendering in Cinema 4D to see what the bloom would look like spun so that it rotates 137.5 degrees every frame. It’s very fast.

I also captured the spinning bloom that I printed by using the Camera+2 app on my iPhone and an old record player. I used the app to increase ISO to improve the image brightness since I was using a shutter speed of 1/4000s. Vinyl records play at 33 1/3, 45 and 78 RPM so my results don’t show an exact displacement to capture the effect that Edmark outlines. Thanks again to Sammy Wadsworth for outlining their process using a record player and DSLR. I think it still looks pretty cool. Also I spun the bloom on a Judy Garland record and something just seemed off. Even though the print is not perfectly realized, the motion (at least to me) seems better suited to the song I used for my bloom. This seems like a happy indicator that some of the mappings or process led to a deeper association for me between the form and my experience of the music that inspired it.

Step 5: Reflections

My sketches are available here along with accompanying resources:

choreomusical-blooms.rdm (includes some starter leaf geometry). (includes instructions on how to use the interface).

If you have any feedback or end up making one of a choreomusical blooms, please let me know! I would love to hear about your experience.

Some concluding remarks: working on this project brought me so much joy. Not only did I get to delve into exploring mappings between music, dance, and sculpture but I also got to work with many tools and different processes to determine the final outcome. Working across multiple interfaces or troubleshooting different parts of a pipeline can be challenging but at the end of the day it’s like getting to solve a series of interconnected puzzles. Thanks for reading about my work and happy making!