Rethinking the Weather
Jen
Carlile
March
17, 2005
Music 220B Final Project
I was sitting on the
sand amongst the seaweed and driftwood at San Gregorio beach a while
back, listening to the waves and the gulls, watching the sun as it
slowly dropped below the horizon. The sky was a palette of light and
dark blue-greys mixed with bright pink and purple bands parallel to
the sea. Have you ever seen the green flash? my friend asked
me. no, I replied.
I suppose I spend a lot of time
looking at the clouds and the sky, especially when I'm feeling
contemplative. I guess somebody noticed, because for christmas this
year I found Peterson's Clouds and Weather Field Guide under the
tree. Complete with pictures and descriptions, I learned all about
cirrus, stratus, altostratus, cumulonimbus, stratocumulus,
fair-weather cumulus, noctilucent, lenticular altocumulus clouds, and
even the green flash of the setting sun.
I didn't relate the
clouds to music until a recent conversation with a classmate—isn't
granular synthesis reminiscent of the tiny particles in the
atmosphere that make for stunning sunsets? With this in mind, I
turned to the clouds for inspiration for my final
project.
Rethinking
the Weather (a
title borrowed from Daedelus)
is a stereo piece using a physical model of the piano along with
field recordings I made during a thunderstrom in Stockholm out of my
apartment window. Different types of clouds are created from
spatially and frequency clustered piano notes, with each cloud type
having a different feel— fair-weather cumulus 'clouds' are
fairly compact with a narrow spatial and frequency range, whereas
altostratus 'clouds' sparsely fill the entire sonic space.
The
code isn't particularly clever or tricky, but I think it's quite nice
to read. Most of my functions look something like:
(defun
cumulonimbus (startTime numNotes duration amp startPitch degree
&key(df 1/2) (thunder nil) (numThunder 1)(thunderAmp
0.7))
....(cumuluscongestus
startTime numNotes duration amp startPitch degree :df df)
....(if
thunder
.......(progn
..........(thunder1
(+ startTime 2.5) thunderAmp :degree degree :num
numThunder)
..........(thunder2
(+ startTime 4) thunderAmp :degree degree :num numThunder))) )
If
you're interested in learning about clouds, I included a brief
description of each cloud type before its function definition in my
lisp code like:
#|
Cumulonimbus
is the most energetic of all the cumulus, or heap family. It is made
up of many thousands of individual convection cells. The top
penetrates above the freezing level, where water droplets are
transformed into ice crystals. Heavy downpours of rain fall from the
base of cumulonimbus clouds. In some conditions the precipitation may
be in the form of the ice balls we call hail. In other conditions,
lightning with consequent thunder, discharges from cloud to ground or
from cloud to cloud
|#
My
source code can be found here
A
stereo mix can be found here
You
will need to compile and load both piano.ins
and cut.ins
before running my code
You will also need to download and extract
these soundfiles
In
the future, I would like to use spatialization more in this piece,
placing clouds in different parts of the room. I also need to explore
the physical piano model more to isolate why I am getting some
clipping in certain parts of the piece.