Music 172: homework
4
Assignment 4, due Tuesday, May 17, is to make an audio-driven
computer graphic, such as the one shown in class:

It doesn't have to be a bird; it could be abstract. And it
doesn't have to feature a moving "mouth" - it could be something
else that grows and shrinks, or changes color, or whatnot. Use your
creativity...
To do this:
- Get Gem running on your machine. This might be the trickiest
part... some hints are below. Try loading the patches in this directory to see if it's working and review the class
materials.
- Make an assemblage of polygons of various colors, that makes a
pleasing visual design, perhaps more pleasing than mine:). The
"translate" object makes it easy to move them around to assemble a
final product.
- Connect an audio input to an envelope follower. You can
probably just use an adc~ object and put a CD in your computer
(making sure to turn up the "CD" channel of your soundcard's mixer
using the audio control panel for your OS. Please include a
"receive input" object in the patch to make it easier for David to
test the patch. A possible setup is shown:

- Use an env~ object to measure the time-varying power of the
input signal. It's OK to use the default speed (higher than you
really need), or you can feed "env" a parameter (1024 for 80 points
a second, 2048 for 40, for instance.
- Use the env~ output to modify the vertices or color of some or
even all the polygons in the "gem" patch. Bearing in mind that
coordinates in Gem typically range from -4 to 4, and color values
(RGB or HSV) from 0 to 1, you'll have to adjust the units of the
env~ output appropriately. It often doesn't work well to scale the
output in dB (the units env~ uses)... RMS amplitude or power might
be more appropriate, or you can even use arrays to make explicit
functions from dB to the desired controls.
- set up a "gemwin" object, and messages to create the window and
start rendering, so it's easy to start the patch up.
- I used the "color" message to the gemwin object to make the
background blue-green; you might have to do something similar.
For extra credit, find a meaningful way to use more than one
sonic dimension to control two or more aspects of the picture. This
could be done using filters to single out frequency ranges (like
patch 6 in this directory), or make discrete changes triggered by a
threshold, or use different time delays on the envelope follower
output.
Notes on getting gem to run:
Gem is available from https://gem.iem.at/ . Note the useful
instructions on: https://gem.iem.at/download/GEM.README.
To run Gem on the ACS PCs in B104, first download Gem, to your
desktop for example. There should be a file, "Gem.dll" in the
distribution for PCs. (If necessary fix the PC to show you
"invisible files" such as dlls.) Figure out the full pathname
(maybe it's \blabla\...\Desktop\Gem\Gem.dll or something). Then
browse inside the Pd installation to find the executable (something
like \Program files\...\pd\bin\pd.exe) and make a shortcut to it on
your desktop. Edit the shortcut to start in the directory you
downloaded, so that Pd starts in the directory
\blabla\...\Desktop\Gem and the "command" reads like:
"\Program files\...\pd\bin\pd.exe -lib Gem"
Start up Pd and look for the Gem startup printout in the Pd window.
I don't know how this works out in Mac OSX yet... if you're
having trouble let's figure it out in office hours.