Chapter 9. Meeting 9, History: Lejaren Hiller 9.1. Announcements • Musical Design Report 2 due 11 March: details to follow • Sonic System Project Draft due 27 April: start thinking 9.2. Musical Design Report 2 • May be primarily rhythmic or melodic, or neither • Must have, in at least one section, 6 active timbre sources • Must have, in at least one section, a feeling of time without regular pulse • Should have at least an AB or ABA form • Must feature 1/f noise and Markov-chains in some manner • Can be composed with athenaCL, athenaCL and other tools, or other tools alone 9.3. Chronology: Early Experiments in Algorithmic Composition with a Computer • late 1955: Caplin and Prinz: Mozart Contradance Dice Game • July 1956: Klein and Bolitho: Push Button Bertha • August (movement 1) and November (complete) 1956: Hiller and Isaacson: Illiac Suite • 1964, 1969: Koenig’s PR1 and PR2 9.4. Hiller and Isaacson • Lejaren Hiller (1924-): research chemist for du Pont, worked at University of Illinois, explored applications of computers to chemical problems; studied music theory and composition after Illiac work Isaacson (1930-): applications of computers to chemical problems, worked for Standard Oil in California; no musical training 82Photo of L. A. Hiller and L. M. Isaacson removed due to copyright restrictions. • Used University of Illinois ILLIAC (ILLInois Automated Computer) 1952: ILLIAC, the first computer built and owned entirely by an educational institution 83© source unknown. All rights reserved. This content is excluded from our Creative Commons license. For more information, see http://ocw.mit.edu/fairuse. • Created four movements of a string quartet: Illiac Suite • Hiller describes the Illiac Suite as a “… presentation of sample results … in the form of a four-movement transcription for string quartet” (1956, p. 248). • Published a complete book on the process: Hiller, L. and L. Isaacson. 1959. Experimental Music. New York: McGraw-Hill. • Hiller went to continue to explore techniques of computer composition, including work with John Cage 9.5. Reading: Hiller, L. and L. Isaacson. Musical Composition with a High-Speed Digital Computer • Hiller, L. and L. Isaacson. 1958. “Musical Composition with a High-Speed Digital Computer.” Journal of the Audio Engineering Society 6(3): 154-160. 84• Why do HIller and Isaacson think that music is well suited for this sort of computer experiment? • Did Hiller and Isaacson see their work as an experiment, or as a work of art? • What social and critical context is suggested by the discussion question, at the end of the article? 9.6. Hiller and Isaacson: Illiac Suite I and II • Strict counterpoint in the model of 18th century treatise Gradus ad Parnassum • Monte-carlo technique: random generative pitches and filter through rules • Borrowed programming models from previous work in chemistry • Generated only pitch; registration, instrumentation, dynamics, and rhythm manually applied • Flow chart of strict counterpoint 85• Audio: Hiller: Illiac Suite, Experiment 1 and Experiment 2 (1956) 86 Courtesy of MIT Press. Used with permission. From Hiller, L., and L. Isaacson. "Musical Composition with a High-Speed Digital Computer." In Machine Models of Music. Edited by S. Schwanauer and D. Levitt. MIT Press, 1993.9.7. Monte Carlo: Concepts • Monte-Carlo: a wealthy quarter of the city-state Principality of Monaco, and host to European Formula One racing, resorts, and gambling • 1940s: John von Neuman and Stanislas Ulam: used to study problems of neutron diffusion at Los Alamos in research relating to the hydrogen bomb • Random generation of values that are tested and then kept or discarded • Only feasible with the use of computers • Brute-force solutions • Good for problems where attributes of the answer are known, but how to get the answer is not • Also called statistical sampling; related to constraint satisfaction problems 9.8. Monte Carlo Melodic Generation with athenaCL Python Libraries • Produce a melody using 14 diatonic pitches, where intervals between steps are limited between two values provided with command-line arguments • monteCarlo.py import os, random, sys from athenaCL.libATH import midiTools from athenaCL.libATH import osTools from athenaCL.libATH import pitchTools from athenaCL.libATH import rhythm from athenaCL.libATH.libOrc import generalMidi from athenaCL.libATH.libPmtr import parameter OUTDIR = '/Volumes/xdisc/_scratch' BEATDUR = rhythm.bpmToBeatTime(128) # provide bpm value def getInstName(nameMatch): for name, pgm in generalMidi.gmProgramNames.items(): if name.lower().startswith(nameMatch.lower()): return pgm # an integer return None def convertPitch(pitch, octShift=0): midiPs = pitchTools.psToMidi(pitchTools.psNameToPs(pitch)) midiPs = midiPs + (12*octShift) return midiPs def genScore(minStep=1, maxStep=3): pitchScale = {1:'C4', 2:'D4', 3:'E4', 4:'F4', 5:'G4', 6:'A4', 7:'B4', 8:'C5', 9:'D5',10:'E5',11:'F5',12:'G5',13:'A5',14:'B5', } melodyLength = 36 melody = [] while True: if len(melody) == melodyLength: 87break elif len(melody) == 0: melody.append(1) continue else: pitchLast = melody[-1] while True: pitchNew = random.choice(pitchScale.keys()) interval = abs(pitchNew - pitchLast) if interval >= minStep and interval <= maxStep: melody.append(pitchNew) break else: continue score = [] tStart = 0.0 for i in range(melodyLength): pitch = convertPitch(pitchScale[melody[i]]) dur = BEATDUR * .5 amp = 90 pan = 63 event = [tStart, dur, amp, pitch, pan] score.append(event) tStart = tStart + dur return score def main(minStep, maxStep): trackList = [] score = genScore(minStep, maxStep) trackList.append(['part-a', getInstName('piano'), None, score]) path = os.path.join(OUTDIR, 'test.midi') mObj = midiTools.MidiScore(trackList) mObj.write(path) osTools.openMedia(path) if __name__ == '__main__': if len(sys.argv) != 3: print('required command-line arguments: minStep maxStep') else: main(int(sys.argv[1]), int(sys.argv[2])) 9.9. Hiller and Isaacson: Illiac Suite III • Constrained chromatic music • Generated pitch, rhythm, amplitude, and performance articulation • Audio: Hiller: Illiac Suite, Experiment 3 (1956) 88© Carl Fischer, LLC. All rights reserved. This content is excluded from our Creative Commons license. For more information, see
View Full Document