CIS/COM S/ENGRI/MUSIC/PYSCH/FILM/DANCE 1xxx
Computing in the Arts
Fall 2009
Instructor:
Professor Graeme Bailey
Final final project session: B21 Lincoln,
11:30-2:45pm,
Tuesday 8th December
Let me know your preferred time within this slot; send an email to bailey@cs.cornell.edu.
If nothing in that slot works for you, then please let me know.
Time:
TR 1:25 - 2:40
Place: Lincoln B20
Tentative syllabus: Fall 2009
Office Hours
Prof. Graeme Bailey (bailey [at] cs [dot] cornell [dot] edu )
Monday-Thursday: 11:00-12:00, Upson 4107B
Class discussions so far ...
- basic probabilty and stochastic composition in poetry ...
experiments, and tuning the probabilities for effect. Discussion of
ways of embodying 'poetic content'. Exercise in analysing a
pre-existing poem to acquire a Markov structure, and then using that to
create a viable 'fake'.
- Presentations of student Markov poems, and of 'faked' poems.
Intro to music notation, intervals, and harmonics. Initial discussion
of harmony and cognitive aspects, and ways of manipulating expectations.
- Gentle discussion of harmonics for ideal strings,
inharmonicity, and related cognitive aspects. Use of chords (triads) on
the notes of a scale to create sets from which to harmonise a given
tune. Reversal of this process to construct a tune by first building
(stochastically?) an underlying harmonic flow, exploiting relative
distances between chords based on numbers of notes in common.
- Introduction to Java programming. Integers and Strings,
Math.random(), writing a simple program using an 'if/else' conditional,
and playing with arrays. (if on PC, get java SE from java/sun/com, if on mac, then you have it already. After installing java (if needed) then get eclipse from www.eclipse.org, unzipping the files and then clicking on the 'globe' icon to bring it alive. Create a project, then create a package in that project, then create a file (ending in .java) in that package to do something simple. Take advantge of the helpful red x-es to fix the javan bureaucratic issues!)
- An intro to using 'for loops' writing a simple program using an
'if/else' conditional, and playing with arrays goofy.java.
- Generate Markov poem using Java MorePoetics.java.
- Drawing lines and 'blobs' in a drawing pane Drawing.java.
- Using Java to create midi tunes PlayerPiano.java.
- Example of animation using the timer Ball.java.
Articles and Examples
- You
might find it helpful to have access to a list of words, so I've put a local link to "Kevin's
Word List". The index file tells you about the various files available,
and you can download any particular file by, for example, replacing
"index.html" in the web link by "3esl.txt" (or whichever actual word
file you prefer).
- You might find these videos amusing, especially the piano staircase one?
- Some suggested h/w questions reviewing a good part of the material covered so far.