MWF 10-10:50AM / LONG 220
This course is part of the LC10 Learning Community, Computer Music and the Quest for Beauty, (CSCI180 / MUSC131).
This community will explore connections between the "beautiful" in music and computing. Students will study the history of computer music, aesthetics, and elements of music theory. Students will investigate aspects of computing and computational thinking related to music making. Students will develop several digital artifacts and elementary musical compositions.
CSCI 180 introduces the creative side of computing in the context of music and algorithmic composition. Students will be exposed to computational thinking and computer programming in the liberal arts and sciences. Students will write several programs that generate computer music.
Course is open to all majors. No previous programming experience required.
- Test 1: Friday, Oct. 8, 2010
- Test 2: Wednesday, Dec. 8, 2010
- Final: 8:00-11:00AM, Friday, Dec 10, 2010
Readings & References
- Avant-garde cellist Zoe Keating demonstrates her intricately layered compositions. Using a computer, some 'janky code', a cello and her imagination, the classically trained musician shapes her music into something wonderful.
- Pat Metheny's Orchestrion project is a new, open-ended platform for musical composition, improvisation and performance. It uses acoustic and acoustoelectric musical instruments that are mechanically controlled through a guitar, pen or keyboard. This creates a detailed compositional environment, which allows spontaneously developed improvisation. On top of layers of acoustic sound, Pat Metheny adds conventional electric guitar playing as an improvised component - a new level for solo performance by a single musician.
- The Princeton Laptop Orchestra (PLOrk) is a newly established ensemble of computer-based musical meta-instruments. Each instrument consists of a laptop, a multi-channel hemispherical speaker, and a variety of control devices (keyboards, graphics tablets, sensors, etc.).
- Richard Garrett's Weathersongs project demonstrates how computers can be used to create music in addition to just edit it or play it. Weathersongs is music created, using a computer, from the ever-changing patterns of the weather as recorded by an electronic weather station.
- Birds on the Wires - Reading a newspaper, Jarbas Agnelli saw a picture of birds on the electric wires. He cut out the photo and decided to make a song, using the exact location of the birds as notes...
- An introduction to pair programming. This 9-minute video describes what pair programming is, the do's and don'ts of effective pairing, and the pros and cons of pair programming. Here is the accompanying worksheet.
- Douglas Rushkoff - Program or Be Programmed. Why literate, creative people in the 21st century need to know how to program. (Presented at SXSW 2010 - a conference on the convergence of original music, independent films, and emerging technologies).
- When all the Photoshops have turned to dust: Join the Top of the Software Food Chain - In a post-apocalyptic world, we still have technology, but software... well it's not what it used to be...
- Achieving the Unachievable - An inquiry into the mystery of the missing hole in M.C. Escher's "Print Gallery".
- Impromptu is a Scheme language environment for music composition and real-time performance.
- Researchers play song recorded before Edison. The 10-second recording of a singer crooning the folk song “Au Clair de la Lune” was discovered earlier this month in an archive in Paris by a group of American audio historians. It was made, the researchers say, on April 9, 1860, on a phonautograph, a machine designed to record sounds visually, not to play them back. But the phonautograph recording, or phonautogram, was made playable — converted from squiggles on paper to sound — by scientists at the Lawrence Berkeley National Laboratory in Berkeley, Calif.
- Tape Op Magazine "Behind the Gear" Interview with Justin Frankel. Justin Frankel has always pushed the envelope of music and software. In 1997 he dropped out of college to release Winamp. He then started another company to develop a new DAW (Digital Audio Workstation) called Reaper.
- The reactable hardware is based on a translucent, round multi-touch surface. A camera situated beneath the table, continuously analyzes the surface, tracking the player's finger tips and the nature, position and orientation of physical objects that are distributed on its surface. These objects represent the components of a classic modular synthesizer, the players interact by moving these objects, changing their distance, orientation and the relation to each other. These actions directly control the topological structure and parameters of the sound synthesizer. A projector, also from underneath the table, draws dynamic animations on its surface, providing a visual feedback of the state, the activity and the main characteristics of the sounds produced by the audio synthesizer.
- Intro to Fractals from Wikipedia.
- Interactive Mandelbrot Set - user interface allows to zoom in at different areas.
- Richards R. (2001), "A New Aesthetic for Environmental Awareness: Chaos Theory, the Beauty of Nature, and our Broader Humanistic Identity". Journal of Humanistic Psychology, Vol. 41, No. 2, pp. 59-95.
- Spehar, B., C.W.G. Clifford, B.R. Newell, and R.P. Taylor. (2003). "Universal Aesthetic of Fractals." Computers & Graphics, vol. 27, pp. 813-820.
- Chazelle, B. (2006), "Could you iPod be Holding the Greatest Mystery in Modern Science?", Math Horizons, vol 13, April 2006. Algorithmic thinking is likely to cause the most disruptive paradigm shift in the sciences since quantum mechanics. The big ideas revolve around universality, duality, and self-reference.
- CofC Library resources related to Computers, Music, and Art.
- Intro to Python
Artifacts & Rules
- Sounds - find sound effects and musical instrument samples.
- Audacity is free, open source software for recording and editing sounds. It is available for Mac OS X, Microsoft Windows, GNU/Linux, and other operating systems.
- jMusic is a programming library written for musicians. It is simple enough for newbie programmers but sophisticated enough to enable composers to accomplish real work, whatever form that may take. jMusic is designed to be used as a compositional medium, therefore it is primarily designed for musicians - not computer programmers. However, many people find jMusic useful for music software development, in particular for digital instrument making.
- Scratch environment intro video, and image effects video. Also Getting Started (PDF), and Reference Guide (PDF).
- Processing is a free, open source environment for people who want to program images, animation, and interactions. It is used by students, artists, designers, researchers, and hobbyists for learning, prototyping, and production. It is created to serve as a software sketchbook and professional production tool. It is available for Mac OS X, Microsoft Windows, GNU/Linux.
- MuseScore is a free, graphical WYSIWYG music score writer with support for score playback and import/export of MusicXML and standard MIDI files. Percussion notation is supported. It has a clean user interface, with fast note editing input (similar to the popular commercial packages, Finale and Sibelius).
- Noteflight is an online music writing application that lets you create, view, print and hear music notation with professional quality, right in your web browser. Work on a score from any computer on the Internet, share it with other users, and embed it in your own pages.
- JES (Jython Environment for Students) is an educational IDE used in the Media Computation curriculum developed by Mark Guzdial and Barbara Ericson at Georgia Tech. It contains tools to make pictures, audio, and video using the Jython language. (Here, it is bundled with jMusic.)
- Reason emulates a rack of hardware synthesizers, samplers, signal processors, sequencers and mixers, all of which can be interconnected in arbitrary ways. Reason can be used either as a complete virtual music studio, or as a collection of virtual instruments to be played live or used with other sequencing software.
- ChucK is a new (and developing) audio programming language for real-time synthesis, composition, performance, and now, analysis - fully supported on MacOS X, Windows, and Linux.
- Also see the miniAudicle - a light-weight integrated development environment for the ChucK digital audio programming language.