I545/N564/N364 Lectures and Daily Assignments

Jump to current entry

This page lists, for each date, things you should do before class!  When returning to this page, always click the Refresh or Reload button in your browser to make sure you have the latest version.

Last update: 16 April, 9:00 PM

Tues 1/9 Introduction to the course and to the participants. Placement test. Things about this course that may be new to you. What kind of music are you interested in, and why is that relevant to the course?
Thurs 1/11 Organizing and Searching Musical Information: A Whirlwind Tour, Part 1

Read the first part of Byrd, D., & Crawford, T. (2002). Problems of Music Information Retrieval in the Real World. Information Processing and Management 38, pp. 249-272; available at http://www.informatics.indiana.edu/donbyrd/Papers/RealWorldMusicIR35TR.pdf . Read just up to Causes: Why is Music IR Hard?, in the middle of p. 13, and think about the following questions (there'll be nothing to turn in). 1. Does it talk about music the way you think of it, or does it say surprising things? Does its viewpoint make sense for music you're familiar with? If it surprises you, or its views don't make sense for some music, be prepared to say so in class. 2. This article is now about five years old. Does it seem up-to-date anyway, or does it seem somehow behind the times?

Tues 1/16 Organizing and Searching Musical Information: A Whirlwind Tour, Part 2
Introducing the R Graphing Calculator

(a) Read the rest of the Byrd & Crawford paper, plus this recent article from The New York Times, Music of the Hemispheres. According to the NY Times article, Dr. Levitin considers timbre vitally important to the powerful effect pop music has on people, as well as making it possible to recognize a song after hearing only a tiny bit of it. (1) Do you agree? Why or why not? Cite at least one example to support your position. If you agree, do you think the same thing applies to other kinds of music? Cite at least one example. (2) In light of both Levitin's comments and our discussion the other day of Byrd & Crawford's focus on certain kinds of music-IR tasks and not others,how would you change Byrd & Crawford's claims about why music IR is hard? ASSIGNMENT #1: Hand in a page or two responding to these questions in a thoughtful way. (I'm not sure it's possible in a page unless you use a rather small font, but maybe.) Also, for question 1, if anyone wants to share examples they think are particularly interesting, please let me know well before class and I'll see if I can play at least a couple of them.

(b) Start learning R (unless you already know it). If you're planning to use your own computer for this course and you don't have R on it, go to The Comprehensive R Archive Network (CRAN-R) website, and download and install it: it's free, and there are versions for Windows, Mac OS X, and Linux. Unfortunately, the downloading instructions aren't completely clear, at least for Windows. When you get to the Windows download page, you can click on "base" or "contrib." Click on "base". A link described as setup program (R-2.4.1-win32.exe) is present, but to the right, it says "Please download this from a mirror near you". Click on "Mirror near you": that'll give you a long list of URLs in various places around the world.

R can be used as a calculator as well as a programming language; in fact, it makes a first-rate "Graphing Calculator", and, for non-programmers, it's easier to start that way. Try out as much as you can -- at least through the end of the "Plotting" section -- in this "Introduction to R" tutorial. There'll be nothing to turn in, but please make a note of anything you don't understand; before I start talking, I'll take a census of things the class is having trouble with so I can be sure to explain those clearly. (If you don't want to use your own computer or can't get R installed, I believe the PCs in the STC in the Music Library already have R, and I'm sure PCs in some other STCs do. And the tutorial asserts that computers in Informatics 109 "will" have R! Unfortunately, like the Macs in M373, the Macs in STCs don't seem to have it.) NB1: The CRAN-R website has lots of documentation as well as R itself; you might want to browse around. NB2: Even if you already know R, it might be a good idea to do something to refresh your memory.

Thurs 1/18 Organizing and Searching Musical Information: A Whirlwind Tour, Part 3
More on R: It's a graphing calculator! It's a programming language! It's a sound-synthesis language!

Homework: I545 R Demo and Assignment #1 describes what I did in class the other day, and gives two exercises to do on your own. (Since I'm late in getting this on the web site, you don't have to do it before class, and there's nothing to turn in. We'll go over it in detail tomorrow. But please do it if you have time.)

Tues 1/23 Representation of Musical Information: Encodings; Basic & Specific Representations
Digital Audio and Audio in R: the bare minimum
Music We're Interested In, and What's Special About It?

ASSIGNMENT #2: Send me a recording of a piece of music that you think is really interesting -- preferably also something you like a lot, but it's more important that be interesting. No holds barred; the wilder the variety, the better! To do this as efficiently as possible, get me an audio file in a standard format -- MP3, if possible; AAC is okay too -- by 9 PM Monday. By a "piece", I mean one movement, song, aria, etc., not an entire 90-minute Mahler symphony. You can get it to me by e-mail, if it's not too large a file; by putting it on the Web or an FTP server in a place I can get to, and telling me how to get it; by giving me a CDROM containing it; or, if it's in the Music Library's Variations2 system, by telling me how to find it there. Also give me some information about the music, including (1) a title; (2) one or more (style) genres you personally think it belongs to, and the genre(s) you think or know it belongs to according to either All Music Guide (http://www.allmusic.com/) or iTunes (http://www.itunes.com/); and, if applicable and the information is available, (3) the composer(s), date of composition, performer(s), date of performance, and performance medium (e.g., solo kazoo, vocal quartet, turntabilism, software synthesis, etc.). Of course a lot of those items don't make sense for a lot of music. Also, (4) say why you think it's interesting, if you can put it into words. We'll listen to a minute or two of everyone's selection (we can start in the middle if you feel the beginning of the track doesn't get the idea across), and we'll briefly discuss each of them in terms of what characteristics it has that you could plausibly get a computer to recognize. Also, install the tuneR package on your computer, and try to play something with it. The "R Programming and Digital Audio" slide show on the class webpage should help.

Thurs 1/25 Representation of Musical Information: Audio, part 1
More on Digital Audio and Audio in R

Read the Wikipedia article Musical Acoustics, and in The MP3 and Internet Audio Handbook, Chapter 11 (A Digital Audio Primer). Caveat: this handbook was published in 2000, so parts of it are badly out of date. But the technical information is still accurate, and there's not much in Chapter 11 that needs updating. (Though some of the examples they give sound kind of silly -- how much did SCMS copy protection slow consumers down, or help the RIAA?) Also, ASSIGNMENT #3: As the Wikipedia article suggests, the simplest sound is a sine wave, but sine waves are tremendously important in many areas, including digital audio; in fact, any sound at all can be made by combining sine waves in surprisingly simple ways. Using the Sines Demo as a model, write an R program that creates a Wave object with a sampling rate of 16000 containing a 2-sec. sine wave G3 (that's G below middle C; you already know a couple of ways to get the frequency); then a 2-sec. sine wave at 5/4 of that frequency; then both sounding at the same time. How do you do that? First, add the two Waves together -- which actually adds all the corresponding samples. That's likely to give you sample values that are so large you'd get a nasty kind of distortion called "clipping", so you have to reduce them to legal values with the normalize function, e.g., normalize(swaveTemp, unit="16") . Before class, e-mail your program to both the AI and me; use a filename like "SmithAssignment3.R" (assuming your name is Smith) to make it easy to distinguish whose program is whose. (Does the final sound actually sound like both notes at once? Either way, is it surprising? Be ready to discuss.)

Tues 1/30 Representation of Musical Information: Audio: Fourier and Additive Synthesis
Introducing the Audacity Audio Editor

Nothing is due today. It'd help if you could do at least some of the reading in the Moore book that's in the assignment for Thursday.

Thurs 2/1 Sampling
Representation of Musical Information: Audio: Spectra and Dynamic Timbres, Harmonics and Partials

Read Sec. 2.1 (pp. 27-30), 2.1.2 thru 2.1.5, and 2.2.1 thru 2.2.2 of Moore's Elements of Computer Music (on reserve in the Music Library). Also do ASSIGNMENT #4: write an R program that puts together a series of four notes, starting with middle C with each following note a major third (4 semitones) higher than the previous one, using a sine wave; then plays the resulting "arpeggio". (It'd be best to do this with a loop that creates one note each time through, but -- since we haven't talked about loops in R yet -- you can also just repeat the same statements as necessary.) Then the program should do the same thing using a square wave. note that tuneR has a "square" function that's a lot like its sine function; use anything that sounds good to you for its "up" parameter. Use the same formula we used before (and that appears in my Musical Pitches table) to compute the frequencies of the notes. Include a comment saying exactly what kind of chord is being arpeggiated. Before class, e-mail your program to both John and me; use a filename like "SmithAssignment4.R" (assuming your name is Smith) so we don't get confused as to whose program is whose.

Tues 2/6 Representation of Musical Information: Audio

If you don't already have the Audacity audio editor on your computer, download and install it from http://audacity.sourceforge.net/ . For ASSIGNMENT #5, do any two of the following. Or, if you want, do three or all four! (People who were in my fall class will recognize (1) and (2) as two assignments from that course.) Note: I'll accept (4) as late as Thursday without considering it as being late.

  1. Use Audacity to play around with these recorded musical instrument samples from the University of Iowa Musical Instrument Samples. The idea is to familiarize yourself with both Audacity and with what complex acoustically-generated sounds are like if you look at and listen to them closely. As a minimum, open and listen to the oboe F4, oboe A4, and piano A4 files. Zoom in and out on the screen, and select and listen to bits of them, including looping (to do this, just hold down the shift key while clicking play). Finally, compare the complex real sound to some simple artificial sounds. Open a new file and paste about 0.2 sec. of the oboe A4 into it. Then use the first three commands in the Generate menu -- Silence, Tone, and White Noise -- to insert after the oboe excerpt 0.1 sec. of silence, then 0.2 sec. each of sine, square, and sawtooth wave A4's, then 0.2 sec. of white noise. Each pair of sounds should be separated by 0.1 sec. of silence, so the final sound is 1.4 sec. long, with this structure: [0.2 sec: oboe A4] [0.1 sec: silence] [0.2 sec: sine A4] [0.1 sec: silence] [0.2 sec: square A4] [0.1 sec: silence] [0.2 sec: sawtooth A4] [0.1 sec: silence] [0.2 sec: white noise] . Play around with views some more: zoom way in on the waveform till you can see the little oboe cycles, sines, squares, triangles, and, well, noisiness; change the vertical axis to dB and spectrum. Finally, export the final sound as a .wav, and e-mail it to John and me (it should be about 120K bytes).
  2. Do this additive-synthesis assignment. It requires a Mac running OS X, definitely at least v. 10.3 and possibly 10.4.
  3. My loop demo program of 30 Jan. is at http://www.informatics.indiana.edu/donbyrd/INFO545Site-Spring07/LoopDemo.R. Here's a .wav file of the chromatic scale that loop Version 1 in that program plays. Notice that there are audible clicks between the notes, as there are from any R program that plays a series of notes with sine waves in the obvious way. (a) Explain why there are clicks. (Hint: look at the "transitions" between notes with Audacity.) (b) Change the progam to make them inaudible, or as nearly inaudible as possible. E-mail your results to John and me.
  4. Naturally, musicians want to play any sound that doesn't decay quickly for any length of time; synthesizer designers comply, but doing so isn't easy with "sampling" synthesizers (like the Kurzweil 250, which I helped develop and which I discussed last semester) and the complex sounds of real instruments. Here's an exercise in creating a realistic instrument sound of any length.

Thurs 2/8 Representation of Musical Information: Audio Wrapup
Demo of Audio Parameters, Limits, & Illusions
Specific Representations & Encodings of Audio
Compression of Audio

Bring headphones to class. Assignment TBA (but probably none)

Tues 2/13 Representation of Musical Information: MIDI

ASSIGNMENT #6: Write up a description of (a.k.a. proposal for) your project of two pages or so. Be as specific as possible! Talk about why you're going to do it (my requiring you do a project isn't a good enough reason, sorry) as well as what you're going to do. If you're doing an experiment of some kind, you should also say something about what you expect and/or hope the outcome will be. If it takes you three or four pages, that's OK. And please look at the "Guidelines for Writing and Rubric for Grading": they specifically discuss proposals like this one. Also, read an article on audio data compression and a tutorial on MIDI and Music Synthesis; there'll be nothing to turn in for these. (In the latter, you'll notice the Looping and Envelope Generation section uses the same model of a note as the last part of last week's assignment.)

Thurs 2/15 Representation of Musical Information: Voicing and the Four Basic Parameters in MIDI Files and Notation
More on R: Reading Tables

There's no assignment for today.

Tues 2/20 Music Notation & Encodings of Music Notation

ASSIGNMENT #7 (Music Informatics majors only). Write a program to read a MIDI file and guess whether it's a "score", with timing (and, probably, dynamics) in accordance with the original notation, or a recording of an expressive performance. The program should give some indication of how confident it is that it's correct, e.g., "90% confident Scriabin-PreludeOp11#14.mid is a score", and it should not be confused by MIDI files of music with odd tuplets -- as early as Chopin, groups of 11 notes in the time of 8, or 23 in the time of 16, aren't too unusual. The program can be in any language. Send me the source code, and briefly describe either in comments or separately how it works. If it requires an unusual environment of any kind, I may ask you to show me what it does on your laptop.

ASSIGNMENT #7 (other students): Part 1: Do this hands-on MIDI assignment. It shouldn't take too long, but it requires some hardware you may not have at home! Part 2: Do this assignment to write an R program to look at a MIDI file and see how common each attack time in a measure is.

Thurs 2/22 Music Notation & Encodings of Music Notation

There's no assignment for today.

Tues 2/27 Music Notation & Encodings of Music Notation
Finding Themes: Paper-based and Electronic Aids

Send me the name and/or description of a technical paper, website, program, or other topic you'd like to do your mid-term presentation on. Also, do ASSIGNMENT #8, using a content-based music retrieval system. Go to the Themefinder website; read its About page and look at its Help. Then try to find a well-known melody in one of its Repertories via each of its main search methods (pitch, interval, scale degree, gross contour, refined contour). For each method, write down the name of the melody you were trying to find (your "information need") and the repertory and query you used; say if it worked or not, and if not, why you think it failed. If it failed, of course, feel free to try other queries and tell me about them! Send me (and John) the report. Exception: John, Yushen, and Ed will be working with me on the possible class programming project and don't have to turn this report in.

Note: If I asked you to revise your project proposal, the revised version is also due today!

Thurs 3/1 More on Finding Themes: SongTapper & Midomi
The Similarity Scale Revisited; Shazam!
MIDI Files: "Scores" or "Performances?"

There's no assignment for today.

Tues 3/6 Mid-term Presentations: Vandenberg on a new method to capture/transfer/catalog School of Music recordings; Wolf on Downie's n-gram approach to monophonic music IR (or Kassler's "Toward Musical IR"?); Keele: "Seeger on Problems of CWMN"; Kermit-Canfield: "Turntablism Transcription Methodology".
Finding Musical Information: Overview

Read Chapter 2, "Characteristics of the Music Language", and Chapter 4, "Music Processing", of Orio, Nicola (2006). Music Retrieval: A Tutorial and Review. Foundations and Trends in Information Retrieval 1,1; available at http://www.nowpublishers.com/ir/ . NB: The author is Italian, and his English isn't always correct, but it's not too hard to understand. Before reading these, you may find it helpful to look at Chapters 1 (mostly background on musical concepts) and 3 (called "The Role of the User", but it has some worthwhile comments on types of music information needs). There'll be nothing to turn in. Today's presenters: send me your presentation materials ASAP -- not necessarily by class time, but soon!

Thurs 3/8 Mid-term Presentations: Han on Mongeau & Sankoff's paper "Comparison of Musical Sequences"; Bowker on Typke's approach to melodic similarity; Mixdorf: "Music Plus One: What is it and How Does it Work?".
Finding Musical Information: Overview

Music Informatics majors only (though others are welcome to do this too): Read Wang, Avery (2003). An Industrial-Strength Audio Search Algorithm. In Proceedings of the 4th International Conference on Music Information Retrieval (ISMIR 2003), Baltimore, Maryland, pp. 7-14. This is about Shazam and how it works; Wang's presentation version of the paper, with the audio examples is available (at http://ismir2003.ismir.net/presentations/Wang.PDF). There's nothing to turn in, but I'll want to discuss it briefly with each of you later. Today's presenters: send me your presentation materials ASAP -- not necessarily by class time, but soon!

Tues 3/13 (Spring break: no class)
Thurs 3/15 (Spring break: no class)
Tues 3/20 Mid-term Presentation: Rinkenberger on comparing MEI & MusicXML. NEWS FLASH! Guest speaker: Tim Crawford, Goldsmiths College, London: "After the search is over ... the work begins."
Finding Musical Information: Browsing vs. Searching/Filtering

Read Chapter 5, "Systems for Music Retrieval", and Chapter 6, "Evaluation", of Orio, Nicola (2006). Music Retrieval: A Tutorial and Review. Foundations and Trends in Information Retrieval 1,1; available at http://www.nowpublishers.com/ir/ . Also do ASSIGNMENT #9: go to Rainer Typke's web site, "MIR Systems: A Survey of Music Information Retrieval Systems", at http://mirsystems.info/ . It has descriptions of and links to dozens of music-IR systems, a few of which can be used over the Web for free. Choose two or three of them, and use each to try to retrieve something you'd expect (from the description of the system and its database) it to be able to find. If you don't find it immediately, try to figure out why: i.e., is it really not there, or did a problem with your query or something else result in it not being found. As you do, take notes -- the verbal, not the musical, kind :-) -- and write them up, to hand in.

Note: There are several connections between what Orio talks about and our recent short presentations. For example, Orio's Sec. 5.1 comments that music indexing and retrieval are usually carried out with techniques developed for text IR, "such as the vector-space model using the tf * idf weighting scheme": the SMART text-IR system that Stephen Downie used (described in Ed's presentation) employs exactly that method. And other sections of Chapter 5 discuss sequence matching (used in the work Yushen presented) and the Earth Mover's Distance (used in the work John presented). Connections between the work by Typke John presented and Typke's web site should be obvious.

Thurs 3/22 Musical Similarity and Finding Music by Content: from Exact Match in Audio (Shazam) to Probabilistic Harmonic Models of Events (OMRAS)

Assignment TBA (but probably none)

Tues 3/27 Musical Similarity and Finding Music by Content

ASSIGNMENT #10: do this preparatory music-searching programming assignment.

Thurs 3/29 Musical Similarity and Finding Music by Content
Searching Music Notation; Precision and Recall

Assignment TBA (but probably none)

Tues 4/3 Musical Similarity and Finding Music by Content
Evaluation: Precision, Recall, and MIREX
Indexing: a Way to Avoid "Looking Very Carefully Through the Entire Catalog"

ASSIGNMENT #11: do this music-searching programming assignment.

Thurs 4/5 Musical Similarity and Finding Music by Content: Summing Up
A Bit More on Indexing
Finding Music via Metadata

Please bring headphones to class today.
Read Typke, Rainer, Wiering, Frans, & Veltkamp, Remco C. (2005). A Survey of Music Information Retrieval Systems, available at http://ismir2005.ismir.net/proceedings/1020.pdf . (You'll recall that we recently looked at Typke's web site, "MIR Systems: A Survey of Music Information Retrieval Systems", which is related.) This is an overview of 17 existing systems for content-based retrieval of music in both audio and symbolic forms. It includes a "map" of the systems showing the tasks and users for which each system seems most appropriate. Note that the horizontal axis, showing tasks, has much the same idea as my "Similarity Scale for Content-Based Music IR", but their "artist (performer/composer)" label has no obvious equivalent on my Similarity Scale. Does their classification make more sense to you or does mine? There'll be nothing to turn in, but be prepared to discuss.

Tues 4/10 Perception of Dinosaurs & Music; Finding Music via Metadata

No assignment is due, but please bring headphones to class.

Thurs 4/12 Finding Music via Metadata: Variations2
NEWS FLASH! We'll have a guest speaker: Ryan Scherle of the IU Digital Library Program will talk about the architecture of Variations2 and how it supports searching. If you have time before (or after!) class, take a look at Scherle, Ryan, & Byrd, Donald (2004). The Anatomy of a Bibliographic Search System for Music. In Proceedings of ISMIR 2004, Barcelona, Spain, pp. 489-496. An abstract is available at www.informatics.indiana.edu/donbyrd/Papers/MusicBibSearchAbst.htm; the full paper is at http://variations2.indiana.edu/pdf/ismir04search.pdf .

ASSIGNMENT #12: do this fancier music-searching programming assignment.
Please bring headphones to class.

Tues 4/17 Final project presentations: Ed Wolf (Database of African drum rhythms); Cory Mixdorf (Review & comparison of AMR & OMR programs)
More about Variations2

No assignment is due.

Thurs 4/19 Final project presentations: Brandon Rinkerberger (Ontology for music notation markup languages); Mari Kermit-Canfield (TTM turntable notation compared to guitar tablature)

No assignment is due.

Tues 4/24 Final project presentations: Drew Vandenberg (Metadata for audio production); Christy Keele (Differences in Music)

No assignment is due.

Thurs 4/26 Final project presentations: Yushen Han (Using edit distance to optimize multiple-recognizer music recognition); John Bowker (Approximate matching of pianoroll data via spectrum)
Semester Wrapup

No assignment is due today. But the written reports of your projects will be due on Wednesday, 2 May!


Comments to: donbyrd(at)indiana.edu
Copyright 2007, Donald Byrd