Information Sources for Music Informatics Students

Donald Byrd, Indiana University - rev. early Sept. 2008

 

The following list of information sources is intended primarily for students in my courses, and particularly as a basis for research for projects; but it should be useful for many other purposes, including general technical background. Organization of this list is:

  1. Where to find information in paper form
  2. Research information sources: music informatics literature and web sites; software and systems; and music and audio collections.
  3. Technical background: "Computer Music"; Mathematics and Statistics; Computers, Programming, and Software Engineering; Musical Acoustics and Psychoacoustics; Digital Signal Processing; Music Theory; Other Aspects of Music
  4. Research in general: the scientific method, the scholarly method, etc.

Where on Campus To Find Material on Paper

This list generally emphasizes items that are available on the World Wide Web. There are two important sources on the IU Bloomington campus for items that are available only in hardcopy form: The Cook Music Library, in Simon Center, and the Swain Hall Library, in Swain Hall West 208. The Swain Hall Library is where IUB's Computer Science and Informatics collections are housed.

Music Informatics Literature and Web Sites

For music-IR and related topics, my own music-IR bibliography is fairly up-to-date, but it's strongly focused on my own interests. While there's a more complete and less biased music-IR "research bibliography" at http://www.music-ir.org/research_home.html, as of this writing, it's years out-of-date, and I see no signs it's going to be updated any time soon. Also, I'm suspicious of whether its search feature works properly, so be careful. ISMIR is the "International Conference on Music Information Retrieval". A complete list of all ISMIR papers is available at http://www.ismir.net/all-papers.html; it's exceptionally useful because it includes links to complete copies of nearly all of the papers.

Don't neglect the reserve lists for the individual courses.

For up-to-the-minute (more or less) information, read the blogs, e.g., those by well-known researchers Paul LaMere of Sun and Elias Pampalk of Last/fm.

Some of the most relevant journals are Computer Music Journal, Journal of New Music Research, the non-academic Electronic Musician, and perhaps Music Perception, Computers and the Humanities, and the Journal of the Acoustical Society of America. The most relevant proceedings are those of conferences like the International Conference on Music Information Retrieval, International Computer Music Conference, Computer Music Modeling and Retrieval, and perhaps the International Conference on Music Perception and Cognition, IJCAI Workshop on Artificial Intelligence and Music, and the Joint Conference on Digital Libraries.

Finally, my website has many links that should be useful. There's a bunch of links to General Technical Information on my Teaching Home Page. Also check my main home page, especially the "Professional Links" at the bottom left.

Music Informatics Software and Systems

Paul Lamere's excellent The Tools We Use says "Since October 2004, I have been surveying the MIR community as to what tools MIR researchers were using. I have compiled this list based upon the inputs of MIR researchers from around the world."

Of course no list of anything like this is complete. For handling MIDI files, he mentions only The MIDI Toolbox for the Matlab environment. But people often need merely to convert MIDI files into a simpler form, e.g., to use with a R or C++ program they've written. Our own John Bowker has written a Java program to do the conversion, MIDIFile2Text. It should run on any system that has Java 1.5 or above, has many useful options, and can do batch conversion of an entire directory. It can be downloaded from the MIDIFile2Text webpage. There's also an ancient C program by Tim Thompson; obsolete versions that don't compile with modern C compilers are floating around, but I believe a usable vesion is available from David Temperley's website (does anyone know?). Finally, there's an old MIDI file-to-text conversion program with some nice features by Prof. Eric Isaacson of the Music Theory Dept.; it's Windows only, and written in an obsolete language (Delphi), but ask me if you want to try it.

Music Collections in Encoded Form; Audio Collections

A tremendous amount of music in various symbolic forms as well as audio -- far more than most people seem to think -- is available free or almost free, and mostly via download; however, it's not easy to find. The MIREX web site hosts a number of very useful test collections, but the site's organization is complex, and it may not be easy to find them; besides, thanks to intellectual-property-rights concerns, most of them are accessible only via the elaborate machinery of the M2K and D2K toolkits that MIREX uses. The best source may be my own list of Candidate Music IR Test Collections, though it's not very complete or up-to-date, and maintaining it is lower priority for me since the advent of MIREX. Finally, there's a small collection of MIDI files plus very simple text versions of the notes in them at Prof. Raphael's I546 web page; however, I don't know how long he plans to leave them there, so check with him before depending on them.

One very specialized but useful type of audio collection is that of musical instruments playing individual notes across their ranges. The only free or nearly-free collections of this kind I know of are the popular University of Iowa Musical Instrument Samples and the RWC Music Database: Musical Instrument Sound. The former is literally free; the latter is available for research purposes at nominal cost. In addition, Prof. Raphael has a set of CDROMs of the McGill Master Samples.

Technical Background

For background information on music information technology, including computer technology in general, I recommend the following books. Except for the one that's on the Web and the "Sachertorte" book, all are available in the Music Library, and most are on the reserve shelves now for a course of mine or someone else.

  • Backus's The Acoustical Foundations of Music
  • Brinkman's PASCAL Programming for Music Research
  • Moore's Elements of Computer Music
  • Pierce's The Science of Musical Sound
  • Pohlmann's Principles of Digital Audio
  • Roads et al's The Computer Music Tutorial
  • Shore's The Sachertorte Algorithm and Other Antidotes to Computer Anxiety
  • Smith's Mathematics of the Discrete Fourier Transform (available at http://ccrma.stanford.edu/~jos/mdft/ )
  • Temperley's The Cognition of Basic Musical Structures
  • Williams and Webster's Experiencing music technology: software, data, and hardware

  • But which one is good for what? My music-IR bibliography lists all of them, and has brief comments on nearly all of them that should help you decide. Of course, books aren't the only place you can find background information; what about other sources? Many of the Wikipedia articles on all of these topics are quite good, though some are not: be careful. Here's more specific advice.

    "Computer Music." To a considerable extent, Moore and Roads cover the same "computer music" (meaning mostly music composition and sound synthesis; considerably less music analysis, IR, etc.) territory. Roads' massive volume is somewhat more up-to-date, and it's much more detailed. But Moore's book is generally more useful for our purposes. For background information, his conciseness may be an advantage, and he includes lots of code examples (all written in C) and cmusic sound-synthesis examples. He also has appendices that cover the very basics, albeit aimed decidedly at a technically minded audience: for example, his appendix on mathematics has only 10 pages to cover what could easily be an entire book.

    There are many good sources of information on "computer music" on the Web. One of particular interest here at IU is the IU Center for Electronic and Computer Music, and especially its Introduction to Computer Music: Volume One.

    Mathematics and Statistics. Moore's appendix, mentioned above, could be useful as a reference for someone who's already studied the math it covers (series notation, basic algebra, trigonometry, complex numbers) but not for learning from. Smith's book covers what its title says -- the mathematics of the Discrete Fourier Transform, which the FFT is simply an efficient implementation of -- very thoroughly, with lots of background (for example, he doesn't just use Euler's identity, he proves it). From what I've read in it (admittedly not much yet), it's exceptionally clearly written. The Everything for Finite Mathematics & Applied Calculus website has loads of useful tools. The Wikipedia articles on mathematical and statistical topics generally seem very good, though they tend to be on the technical side. Many people, myself included, find the probabilities of events are often highly counterintuitive; fortunately, probability theory and its offshoot, statistics, are elegant and well-developed fields. One introductory probability book that looks very good for our purposes (and Prof. Raphael recommends it) is Grinstead, Charles M., & Snell, J. Laurie (1997). Introduction to Probability, 2nd ed. American Mathematical Society. It's available online for free: its website has a PDF version, plus a fair amount of supplementary material. You can also order a bound copy. I know there are many more good sources; please tell me about anything you really like! (Also, I ran across an interesting- and readable-looking book last year, Bruce Frey's Statistics Hacks (O'Reilly); if anyone has looked at it much, please let me know what you think of it.)

    Computers, Programming, and Software Engineering. If you're simply looking for an introduction to the concepts behind computers and computer programs, Shore's Sachertorte book is well thought-out, highly readable, and covers a surprising amount of ground. However, it's a good 20 years old; while the basic ideas and problems haven't changed, many details have, and some of it is more confusing than helpful these days.

    A great deal of Brinkman's PASCAL Programming for Music Research is on principles of processing music by computer that apply equally well to any programming language. For example, it includes one of the best practical introductions to symbolic music representation I know of. Brinkman is a music theorist, and his book is particularly strong on ideas of interest to music theory. It's less helpful for beginning R programmers than it might be because the PASCAL language looks quite different from R -- and PASCAL itself is virtually obsolete. However, R and PASCAL actually have a lot in common, not only with each other, but also with popular languages like C, C++, and Java. The biggest difference between R and PASCAL is probably that PASCAL has no built-in capability for doing things with arrays or vectors in a single statement; it also has nothing like R's graphics, statistical, and audio features.

    For the R language in particular, there's a lot of documentation on the Comprehensive R Archive Network website; to get to it, use the links near the bottom of the column at the left, under "Documentation". I particularly recommend "An Introduction to R", a well-organized guide available in both HTML and PDF form from the "Manuals" page. You might also look at my own collection of R Example Programs for music, and the latest version of my PowerPoint slide show on R Programming and DigitalAudio. Prof. Raphael's webpage also has a number of sample R programs.

    Frederick P. Brooks' The Mythical Man-Month: Essays on Software Engineering (2nd. ed., 2000) has been called "the classic book on the human elements of software engineering"; whether that's true or not, it's full of insightful comments and axioms. Steve Maguire's How to Write Solid Code is less well-known but, in my opinion, equally valuable.

    The U.S. National Institute of Standards and Technology (NIST) website has a tremendous Dictionary of Algorithms and Data Structures, with links to implementations of many of the algorithms.

    Three important concepts in music informatics are edit distance, alignment, and dynamic programming. Edit distance and alignment are closely related and often confused. Both are often confused with dynamic programming, which is a very different concept, but is the usual way -- and often the only practical way -- to implement them. Dynamic programming is an optimization method that is useful for a tremendous range of things. In our field, it's generally used to find the best alignment between two sequences of discrete symbols (like notes in whatever representation), two audio recordings (represented as samples, spectrograms, or whatever), or a sequence of symbols and a recording. "Alignment" here means either sequence alignment or dynamic time warping. (Dynamic programming is capable of aligning several things at once but it's not often used that way because its memory and computation requirements go up rapidly with the number of sequences being aligned; methods that are far more efficient for such cases have been developed by bioinformatics researchers.) In the symbol-to-symbol situation, the "best alignment" is usually considered to mean the one (or ones) with the minimum edit distance; there are several ways to define edit distance, but by far the most common is Levenshtein distance. The Needleman-Wunsch algorithm for alignment uses a generalization of Levenshtein that's especially useful for music. As for sources, Temperley's book listed above includes a clear introduction to the basic ideas of dynamic programming for musical purposes. Wikipedia has reasonably good articles on all of the italicized terms in this paragraph. And this Levenshtein distance page includes a nice interactive demo: you can type in two strings and see how dynamic programming quickly finds the alignment (or alignments) that have the minimum distance.

    Another vital technique in music informatics is the Markov process, especially in the Hidden Markov Model (HMM) form. An HMM can be viewed as a dynamic Bayesian network or as a probabilistic finite-state automaton. HMMs were first used widely for Automatic Speech Recognition, and many good sources of information on them are from that field, for example, Hidden Markov Models, a chapter from Narada Warakagoda's M.Sc.thesis on the subject.

    Musical Acoustics and Psychoacoustics. The Backus, Pierce, Pohlmann, and Roads books all have good material. Pierce is relatively non-technical and very readable, and -- though short and on the old side (the revised edition is from 1992) -- pays quite a bit of attention to computers. Backus is slightly more technical, detailed, and focused specifically on acoustics, but also highly readable; however, it's even older (the 2nd edition is 1977) and it doesn't say much about computers. Pohlmann is outstanding on all aspects of perceptual coding (lossy compression).

    Rick van Kooten, who teaches an acoustics course in the IU Physics Dept., has some different (and admittedly more up-to-date) recommendations:

    On the Web, the Fourier Applet is an elegant interactive audio/visual demonstration of the Fourier series and the way harmonically-related sinusoids can produce a variety of waveforms (or, in fact, any waveform). Edward Zobel's "Zona Land" has quite a bit of well-presented information about mechanical waves like sound waves; for example, the way reflected waves on a string interact is illustrated in an animation at standing waves.

    A fascinating topic in psychoacoustics is the auditory illusion. There's a superb collection of interactive (in the sense of user-controllable) auditory illusions at this Visual and Auditory Illusions site. Another good collection is Diana Deutsch's Musical Illusions; it's of particular interest because Deutsch is a well-known music psychologist, and she discovered many of the illusions she demonstrates.

    Digital Signal Processing for Audio. Naturally, digital signal processing (DSP) involves a good bit of mathematics, and two of the books I've mentioned, Pohlmann's and Julius Smith's, cover significant amounts of DSP material; both are well-written and cover even the very basics, and both are specifically written for people interested in music. A book by another Smith (Steven W. Smith) also looks very good, even for beginners: it's The Scientist and Engineer's Guide to Digital Signal Processing. However, he doesn't concentrate exclusively on music, or even on audio; he discusses examples from radar, etc. The books by both Smiths are available in full online.

    Music Theory. On the Web, Ricci Adams' musictheory.net has some excellent features. It uses Macromedia Flash to offer lessons, "trainers" (for drilling yourself), and utilities in music theory. The lessons are quite basic, but they're very well-done, with good visual and audio feedback. The trainers and utilities are more advanced; some of them might be useful to almost anyone, e.g., for ear training, though they leave much to be desired in terms of educational design. MIBAC Music Software's Music Theory website covers somewhat more advanced material, but it's much less imaginatively done and offers little or no audio feedback.

    Non-web-based software includes ETDrill, for Windows only; it provides drill on a limited number of aural skills. Developed by our own Music Theory department, it does a fairly decent job of giving feedback, though it's not "intelligent" feedback in the sense that it guides the user toward the right answer; it just gives a right/wrong judgment. It should be available in all Windows STCs, though you may have to manually disable MIDI-based input functions if you're on a machine without a MIDI keyboard. (Its other features work fine without one.) For more information, or to buy it or download a demo version, go to http://theory.music.indiana.edu/etdrill. The computers in the Music Library also have a program called Practica Musica, which provides interactive drills on both written concepts and aural skills. It's not bad.

    Finally, my music-IR bibliography lists several books on basic music theory, including textbooks and a "complete idiot's guide".

    Other Aspects of Music. IU's own Cook Music Library web site has extensive links to useful information about music, including the definitive New Grove Online and other online reference works. Electronic Musician has a regular feature, "Square One", addressed to musicians with no technical background, that covers a different topic each month in a couple of pages; the ones I've read through have been well-written and accurate. The Virginia Tech Multimedia Music Dictionary contains a great deal of information; it has definitions of a large number of musical terms, but its appendices look to be especially helpful for the uninitiated.

    For those who'd simply like to learn to read music notation -- more precisely, Conventional Western Music Notation, a.k.a. CWMN -- I know of two good books: Henscratches and Flyspecks, by Pete Seeger (yes, the famous folksinger) (Berkley, 1973), and Learn to Read Music, by Howard Shanet (Faber and Faber, 1957). But both are rather old and may be hard to come by; there are probably more recent books that are worthwhile. Suggestions, anyone? There are also good sources on the Web. One is guitarnoise.com's A Guide To Reading Musical Notation, in two parts, linked from their Absolute Beginner page. Note that it's somewhat slanted towards guitarists; that might be either an advantage or a disadvantage for you! Basic music notation has a lot in common with basic music theory, and Ricci Adams' musictheory.net, mentioned above for learning basic theory, should be almost as useful for novices at reading music.

    Research in general

    How to do research in general is a huge topic; I can give only few pointers here.

    An important part of research on any subject is evaluating the reliability of sources of information. This is especially true on the World Wide Web, where almost anyone can say almost anything. For insight into the latter, it's well worth the time to take a close look at the Dihydrogen Monoxide Research Division website.

    How it's appropriate or even possible to do research varies tremendously with the field. In many ways, music informatics is more like the social sciences than it is like either the humanities or the natural sciences. In the natural sciences (physics, chemistry, biology, etc.) and the social sciences (sociology, psychology, etc.), research is normally done via the scientific method; in the humanities, it's done via the related scholarly method. There are tons of websites about both methods, covering many disciplines. The Wikipedia articles on the two methods don't thrill me, but they're okay. Steps of the Scientific Method is a simple explanation of the scientific method; it's somewhat overly simplified because it's addressed to high-school students, but it's not bad at all. (But why are there double-headed arrows in the graph showing the steps instead of of single-headed arrows pointing downwards? To point out that you often have to back up and repeat steps.) Does anyone know any better sources, especially on the Web?

    Much research related to music informatics involves music cognition and perception, psychoacoustics, or HCI (human/computer interaction). These are essentially social sciences, where research means studying human beings, very often with experiments. (In HCI, experiments in which the subjects use a computer are termed "user studies".) One good book is A Practical Guide to Behavioral Research, by Barbara Sommer and Robert Sommer (Oxford Univ. Press), though much of it is more relevant to sociology or anthropology than music informatics. Books and articles on how to do HCI research or research on human perception might be even better; can anyone recommend anything?

    Finally, I recommend looking at the notes for an amazing talk by music theorist/musicologist/ethnomusicologist David Huron, The Explanatory Goals Of Music Analysis. See especially his conclusions ("What I learned as a music student" and "What I have learned as a music scholar").

    (Thanks to Zhoufeng Fong, Eric Isaacson, and Gabi Teodoru for contributions to this list.)


    Last updated: 27 Oct. 2008
    Comments to: donbyrd(at)indiana.edu
    Copyright 2008, Donald Byrd

    Music InformaticsSchool of InformaticsIndiana University