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.