1 AN AUTOMATED MUSIC PROGRAMMER (MUSPROG) David F. HARRISON, Music Director, WSUI-KSUI, and Randolph J. HERBER, Applications Programmer, University Computer Center, The University of Iowa, Iowa City, Iowa A system to compile programs of recorded music for .broadcast by the University of Iowa's radio stations. The system also provides a permanent catalog of all recorded music holdings and an accurate inventory control. The program, which operates on an IBM 360/65, is avaaable in FOR- TRAN IV, COBOL and PL/1, with assembly language subroutines and eXternal maintenance programs. The State University of Iowa (Iowa City) owns and operates two broad- casting stations, WSUI, at 9l0 KC, and KSUI, at 91.7 MC. WSUI was the first educational radio station in operation west of the Mississippi, and ranks among the oldest stations iri the country; KSUI was among the earliest of the frequency modulation outlets in the area to offer pro- gramming in multiplex stereo. In the Spring of 1967, when it became necessary to completely reorgan- ize their recorded music libraries, an investigation wali simultaneously underway to determine the feasibility of utilizing automated data proc- essing ( A.D.P.) techniques in the discographic operations of the stations. At the time there were several working bibliographic applications ( 1), ranging from relatively simple record-keeping (Where is ... ? ) to more ambitious cross-referencing and indexing operations, one of which uses the KWIC (keyword-in-context) computer program to classify musical re- cordings ( 1). On the basis of the awareness of these applications, and a belief that the intrinsic principles could be utilized and extended to cover somewhat different needs, it was proposed that the facilities of the Uni- 2 Journal of Library Automation Vol. 2/1 March, 1969 versity Computer Center be employed in the selection and updating of recorded music programs. In designing a coded set of instructions to per- form these tasks, it was deemed necessary that any attempt at the selec- tion or compilation of a series of music programs should be made in ac- cordance with certain criteria supplied to the system by the user, and that these selection specification parameters should closely parallel those which would be employed were such an extraction from the total librar- ies to be performed manually. Additional requisites were that provision be made for updating and enlarging the master file as new items were acquired, and that the coding of the programmed instn.1ctions should be sufficiently flexible to permit inclusion of supplemental criteria as they became desirable. The above proposal met with a certain degree of opposition, the main bone of contention being that such an application would necessarily "de- humanize" music programming. There have been, and will continue to be, similar objections raised by those who are unaware of the advantages offered by A. D. P. and concomitantly unaware of the mental processes which result in what is commonly referred to as "artistic judgment." It is not the purpose of this article to attempt an exhaustive analysis of such processes, nor to castigate the objectors; it is rather simply to bring forth several basic observations dealing with the problem under discussion. A contemporary composer-theorist interested in the applications of A. D. P. techniques to the process of musical composition has observed that no paradoxical "almighty force" exists in science, which, in actual fact, progresses by discrete steps which are at once limited but unpre- dictable ( 3, 4). The following list of conclusions, although relating specifi- cally to the problems of machine-"created" music, find no less an applica- tion to the current problem: Creative human thought is an aggregate of restrictions or choices in all fields of human activity, including the arts. Certain aspects of these ·judgments can be mechanized and simulated by certain physical mechanisms currently extant, including the cm;nputer. The rapidity of calculation or decision by computer frees human be- ings from the long and arduous task of manually selecting, compiling and checking of programmed works. The time thus saved can be better spent on such amenities as scripting, with complete performance information and record data, and the always-too-necessary pronouncing aids. More- over, the computer program can be "exported" to any place similarly equipped to be used by other individuals, or where other programmers are able to alter the algorithm to meet their specific needs. The Automated Music Programmer ( MUSPROG) was interpreted as being a series of steps, the first of which specifies that complete mus~c programs are to be selected in accordance with a table of specifications introduced as data, each card containing inforination pertinent to a dis- crete program. The second step requires that each and every entry in the catalog be I f Automated Music Programmer/HARRISON and HERBER 3 checked for availability by any program in the tables established in the preceding step, this status to be determined on the basis of a satisfactory comparison with the individual criteria supplied on the selection specifi- cation card. Among these are "tests" (note that a failure to meet the re- quirements in any step disqualifies the item) to determine when the item was last selected, as well as the number of times selected; a check for allowable time length; a check for duplication of composer and/ or title; a statement that stereo recordings are to be used only for FM; a check for acceptable period, style and type of composition; and the decision to update the master file. In the final operation of the program, each duplicate title of a work selected is also updated, simulating selection to prevent its selection dur- ing the next month. If each duplicate were given the date factor of the item actually selected, the latter would tend to appear much more fre- quently than its companions because the program would continue to se- lect the longest available item, and it is reasonably safe to assume that the selected item is the longest version of the title in question. It was necessary, therefore, to devise a means by which each version of a given work (indicated by both title and composer) be given equal weight for "fair" selection. A unidimensional array called ITEM was constructed with ten positions as follows: ITEM (10)/0', '0', '0', '0', '1', '1', '1', '2', '2', '3'/. The index of the array was then selected by referencing a routine which generates random, positive integers in the range one through ten. The contents of that position in ITEM are added to the date factor of the record selected, and the result placed in the corresponding field of the duplicate title under scrutiny. Thus there exists a 40% probability that the duplicate will have the same "weight" as the selected item, a 30% chance that the duplicate will be "pushed back" one month, 20% for two months, and a 10% probability that the date factor of the duplicate title will be increased by three months. 'When all the titles have been thus read or updated, the run concludes. Figure 1 is the flowchart that is the basic design of MUSPROG and from which the computer program was coded. The program runs on an IBM 360/65 and is available in FORTRAN IV, COBOL, and PL 1 with assembly language subroutines and external maintenance programs. Cop- ies of these programs may be obtained from the National Auxiliary Publi- cations Service (NAPS #00278). The machine readable catalog system currently employed by the Uni- versity's radio stations is, on the whole, independent of the record's origin or manufacture. (The catalog number could be considered as nothing more than an indication of a discrete shelf space. ) The system was de- signed to facilitate maximally efficient use of the 80 columns available on a punch card. By utilizing two alaphabetic and two decimal characters ranging from AOO through ZZ99 provision is made for identification of records and tapes in quantities somewhat in excess of seventy-thousand 4 ] ournal of Library Automation Vol. 2/1 NUMBER Of P ROGRAM SPEC .. lfiCATION SPACES +1 TO SNUMI SNUMI -1 TO SNUMI WRITE PROGRAM DETERMINE fOR WHICH STATION PROGRAM IS BEING SELECTED INDIC ATE NULL SELECTION liST IY SETTING POl NTER= ~ O'flfRMINE WHICH COMPO~ENTS Of THE AllOWABlE CHARACTERISTICS ARE SIGNifiCANt Fig. 1. Flowchart for MUSPROG. March, 1969 TO THE PAOGRAM POINTER SET J TO POINTER IN PIECE CEP•J-It--l.--------' I fROM lAG ADD OH f 10 I\IUMifR Of PlfCfS SflfCTfD CHAIN rl f: Cf TO BEGI NN I NG Of liST FOR ,ROGRAM SUI I RAC T DURATION fROM TIME REMAIN ING C OM,U I f lAG fR OM DU RA l IO N COPY P I E CE INfORMAl I ON 1 ~ 1 0 SPAC f Automated Music Programmer/ HARRISON and HERBER 5 PH 1 W RI TE PROG RAM POI NTER REWIND ~NPUI AND R AN OOM C HANG E IN TO PR OPU l A G f i EL O Fig. 1 continued. 6 Journal of Library Automation Vol. 2/1 March, 1969 individual discs or reels. The total of actual single titles possible to catalog in this manner is at least twice that number. The card catalog is made up along more or less standard, triple-refer- ence lines on the familiar 3x5-inch card. These remain in the master card file, but are actually used only for reference purposes, rather than for actual selection. The "real" Master Library exists in the form of punched cards (later transferred to magnetic tape). Each card image contains the following information, with blank columns separating contiguous fields: Columns 1-10 Composer, or first ten characters if abbreviation necessary. 12-27 Title, abbreviations standardized 29-33 Duration of work in seconds. 35-37 Period of composition. 39-40 Type of composition. 42-45 Catalog number. 47-57 Physical location of item on cataloged disc or tape. 59-64 "Date fields, used for updating and usage factors. 66-69 Seasonal key, a blank indicating general usefulness. 71-80 Field used by MUSPROG for internal record-keeping. OPERATION Selection of music by the system is performed in accordance with a table of program specifications which includes information pertinent to the length of the desired program and maximum permissible length of any single work within it, the type of music desired, and additional in- formation, such as date, time and title of the program to be aired and an indication of the station for which the program is to be selected. All the selections for KSUI ( FM) are required to be stereophonic. Classifica- tion into stereophonic and monophonic groups is a function of the catalog number, AOO through Z99 being stereophonic and AAOO through ZZ99 being monophonic. A program selection card contains the following data: Columns 1 2-6 7-11 12 13-27 28-79 Station code: W for WSUI, blank for KSUI Duration of program in seconds. Maximum duration of each item to be selected ( 0 or blank indicates program may consist of but a sin- gle work equivalent in length to program duration. Number of types being specified. Three three-plus-two character fields to specify pe- riod and type (MODIA equals "twentieth-century, orchestra"). If any field is blank, MUSPROG assumes anything acceptable. Title of program to be selected, day and time. Automated Music Programmer/HARRISON and HERBER 7 As an example, the following specifications were made for a program called "Aubade" which was aired at 10:00 a.m. on Tuesday, July 30, by WSUI. Program duration was to be 3400 seconds (56:40), allowing 3:20 for continuity. Maximum length of any single work within the program was to be 900 seconds (15 :00). Music could be chosen from the contem- porary orchestral repertoire, any instrumental work from the Classic pe- riod, or any type "3" work, i. e., soloist and piano, or chorus a cappella. Figure 2 shows a printout of selections for two programs. MUSIC SEL ECTED FO R WS UI EVEN I NG CON CERT 5:30 PM THU RSDAY. JULY 2 5 PR OGRAM NO, 6 9 LE NG TH 860 0 UNUSE D TIME IS 1 TOTA L 2:23:19 RANGS TROM Di V EL EG !ACO FA41 52/82 PROK O~ ! EV SEMYON KOTKO SUI KA 4 7 51-2/E BACH CANTATA 146 MA 19 S1-2/E BEETHO VEN PIA CO N ARR VN C KB-> 1 S 1- 2/ E MUSIC SELE CTE D FOR WSUI 0:15:32 0:42:12 0:42:25 0 :43:10 EVEN I NG CO NCE RT 5:30 PM TU ESDAY• JULY 30 PROCR Mt NO , 6 7 LENGTH 060 0 UNUS ED T IM E IS 0 TOTAL 2:23:20 HA YDN SY MP HO NY 38 Kfl21 51/E TCHAIK OVSK SY~ PHONY 5 GA 5 0 S l -2/E I VE S PI A SON 2 CON COR NA8 1 S l-2/ E BEETHOVEN STRIN G QRT 15 CA 12 51-8/E Fig. 2 Printout of Selections. 0 : 13:40 0 ! 42:58 0:4 3: 0 An additional feature of MUSPROG is provision for a periodic sum- mary of library usage, affording the Librarian a concise account of fre- quently played items, as well as an indication of those works which have been selected infrequently or ignored altogether. This report allows the programmer to assess more accurately the maximum number of times a selection may be programmed before it is declared unacceptable. The system also puts out printed lists of works extracted from the library in accordance with a user-specified table of reference fields: e. g., all sym- phonies, all works by Bach, all works of under ten minutes in length, all Christmas music; or conceivably, any symphonies by Bach which are 8 Journal of Library Automation Vol. 2/1 March, 1969 suitable for Christmas and less than ten minutes long. This latter step could also include, with minor alterations in the computer program, pro- vision for performances by one specific ensemble or artist only. An external program allows adding items to the master tape, deleting those no longer needed and correcting any of the various fields within individual records; thus if mis-timings or other inaccuracies are noted, it becomes a relatively simple matter to correct them. DISCUSSION It can readily be seen that "the machine" neither possesses nor displays "taste" in any conventional sense of that word, since it can select only those types of music which the programmer has declared acceptable. It does not, indeed cannot, show any predilection toward certain types of music to the detriment or exclusion of others, save those which have been removed from the list of potential selections by the programmer. It per- forms no independent judgments. Without doubt, then, there is no logical basis for t.~e cry of "dehumanization," since the program was originally designed by human minds and is, at each step of the process of selection, governed by the human-designed control parameters and program speci- fications; therefore it cannot select music willy-nilly, but must be told what to do and how to do it. It also has been found that specifications cannot be "plugged in" at random, for the programs thus selected would prove little more than a conglomerate of sundry works bearing no relation to one another. It is very much a necessity that organization and logic be designed into each program to have any coherent programming result. The machine does not "know" what to do unless told. It should be brought out that because of a built-in logic and the order of titles on the master file the program will tend to select the longest works available to fill the specified program time, making up the differ- ence, if any, with progressively shorter pieces until the time is filled, or until no work of acceptable type and sufficient brevity can be located. Since the longer works tend to occur among certain types and/ or styles of music, there may be some tenuous grow1ds for a suspicion of bias. It will be observed that MUSPROG does not include information perti- nent to performer, conductor, etc. One of the several reasons for this ap- parent oversight is that such information would, at the outset, have re- quired the use of one to four additional data cards per title. Since this information was not deemed absolutely essential to the immediate func- tions of the program, it was decided to postpone inclusion of such a re- finement to some future date. CONCLUSION MUSPROG has been utilized by the State University of Iowa since March, 1968, and has resulted in considerable time-saving. For example, the July, 1968, programming required one hundred and two programs Automated Music Programmer/HARRISON and HERBER 9 varying in length from thirty minutes to somewhat over four hours, and consisting of a variety of musical styles and representing a diversity of programming difficult to achieve efficiently by ordinary means. In three minutes and twelve seconds, MUSPROG selected the programs, updated the catalog, checked for duplication of selections, timed each program, and printed out the resultant copy properly headed. At an approximate cost of $250.00 per hour, this comes to less than fifteen dollars per month to perform tasks which might normally require two persons, at perhaps two or three dollars per hour, to work an entire week or more. It is doubtful that even then each catalog entry could be examined and an accurate record of usage be kept. ACKNOWLEDGMENTS A Staff Research Grant from the Graduate College, University of Iowa, partially supported development and operation of this system. Dean Duane C. Spriestersbach of the Graduate College, Professor Ge- rard P. Weeg, Chairman of the Department of Computer Science, and program Supervisor Robert E. Irwin gave generous support and encour- agement to the development of MUSPROG. REFERENCES 1. 'Wilhoit, G. Cleveland: "Computerized Indexing for Broadcast Music Libraries," Journal of Broadcasting, 11 (Fall, 1967) 325-337. 2. Brook, Barry S.: "RILM, Repertoire Internationale de Ia Litterature Musicale," Notes; the Quarterly Journal of the Mtisic Library Associa- tion, 23 (March, 1967) 462-467. 3. Xenakis, Iannis: "In Search of a Stochastic Music," Gravesano Review, 11 (1958).