Music 253/CS 275a Winter 2024 Syllabus
Music 253/CS 275a "Symbolic Musical Information"
Stanford University (Winter 2024).
This music-information introduction surveys symbolic frameworks and methods for a wide range of applications. Areas covered include advanced notation systems, optical music recognition, data conversion and synchronization, and the internal structure of data files. The course is preparatory for Music 254/CS 275B (Computational Musical Analysis), which focuses on projects requiring a working knowledge of notation and familiarity with sound software.
Meeting times: | Tuesday & Thursdays 1:30–2:50 | |
Slack channel: | https://music253cs275.slack.com | |
Customary Location: | Braun Music Building, Room 131 | |
Instructors: | Eleanor Selfridge-Field (esfield@stanford.edu) Craig Stuart Sapp (craig@ccrma.stanford.edu) | |
Office Hours: | After class meetings and by appointment. | |
Credits: | 2–4 | |
Grading: |
Four-credits: class participation: 25%; weekly assignments: 50%; take-home final essay: 25%. |
|
Website: | music253.stanford.edu/music275a.stanford.edu: Overview of individual topics presented in Music 253/CS 275a, and syllabus. | |
Prerequisites: | Ability to read standard music notation. Knowledge of central concepts of tonal music theory (see Tutorial). | |
Textbook: | E. Selfridge-Field, ed., Beyond MIDI: The Handbook of Musical Codes (MIT Press, 1997). Available online by permission of the publisher. | |
Covid information (Winter 2024): | Masking remains in place. Please respect the Stanford rules. In case of quarantine or illness, please notify us at your earliest convenience. We are well equipped with videos of last year's classes and can schedule 1:1 appointments for labs. |
Contents
Syllabus
See also Music 254/CS 275b Syllabus
Go to week: 1 | 2 | MIDI 3 | 4 | SCORE 5 | 6 | XML 7 | MuseData 8 | Humdrum 9 | 10
Week 1
- Lecture 01A: Musical Information or old Video version
- Lecture C1a: Music representation
- Demo: Malinowski's Music Animation Machine
- Assignment #1: Design your own music representation system (due in one week)
- Course Participation Survey
- Lecture 01B: Using Musical Information
- Lecture C1b: Rosetta stone of digital music representations (see also companion wikipage)
- Assignment #2: Do either the Guido Music Notation or the Humdrum encoding homework (or do both for extra credit). If doing both, then also discuss the differences and similarities between the two systems and interfaces. (due in one week)
Week | Dates | Topics |
---|---|---|
1 | 9 Jan 2024 |
Overview of music representation and course resources |
1 | 11 Jan 2024 |
|
Week 2
- Lecture 2B: Sound-MIDI Introduction
- Lab #2b: MIDI keyboard Input methods in MuseScore
- Assignment #3: Finish Lab 2 exercises
Week | Dates | Topics |
---|---|---|
2 | 16 Jan 2024 |
Input methods: textual input |
2 | 18 Jan 2024 |
Input methods: MIDI keyboard input |
Week 3
- Lecture 03A: Optical Music Recognition
- Lecture C2: Introduction to XML
- Lab #3: Optical music recognition with SharpEye
- Assignment #4: SharpEye to MuseScore/Noteflight/Verovio Humdrum Viewer/Sibelius/Finale/Dorico/etc. Via MusicXML (Due in one week)
- Lecture 03B: From Sound to MIDI Input and Output
- Lecture C3a: MIDI protocol (extra: Hexadecimal numbers)
- Topic: MIDI roadmap of the byte
- Topic: MIDI bytes/messages (cinmidi)
- Topic: MIDI messages
Week | Dates | Topics |
---|---|---|
3 | 23 Jan 2024 |
Input methods: OMR and Data Interchange |
3 | 25 Jan 2024 |
MIDI Protocol |
Week 4
- Lecture C3b: Standard Midi Files
- Topic: Outline of the Standard MIDI File structure
- Topic: Variable length values
- Lecture 04A: MIDI Timing and Special Features
- Assignment #5a: MIDI file parsing homework (Due in one week)
- Lecture 04B: MIDI and Temperament
- Lecture: Creating MIDI files by hand from text files
- binasc tool for creating MIDI files in a text editor
- Topic: General MIDI instruments (plus percussion key numbers on channel 10)
- Topic: General MIDI continuous controllers
- Assignment #5b: MIDI file creation (due in one week)
Week | Dates | Topics |
---|---|---|
4 | 30 Jan 2024 |
General MIDI/Standard MIDI Files |
4 | 1 Feb 2024 |
MIDI Extensions MIDI Extensions (Pitch, Expression)] |
Week 5
- MIDI notes (MIDI Plus and C++ parser & Guitar TAB to MIDI conversion)
- Lecture 05B: Introduction to SCORE
Week | Dates | Topics |
---|---|---|
5 | 6 Feb 2024 |
Lesley Robertson: Performing with digital music stands.
Piano rolls as musical data |
5 | 8 Feb 2024 |
SCORE user input code |
Week 6
- Heinz Roggenkemper: guest lecture on Newzik, LiveScore, and the role of OMR (optical music recognition) slides
- Lecture 06A: Graphical Extremes within Common Western Notation (CMN)]
- Lecture 06B: Non-staff and other non-common notations for music
- Lab: Input slightly harder SCORE examples
- List of useful SCORE commands
- Homework #6: Five SCORE user input exercises, due in one week (but best to do it before the next class)
Week | Dates | Topics |
---|---|---|
6 | 13 Feb 2024 |
SCORE music editor |
6 | 15 Feb 2024 |
Using Score and Other Notation Software SCORE simple examples |
Week 7
- Lecture 07A. Score semantics: Textures and Tracks
- Lecture: SCORE parameters
- Score parameter examples: notes, slurs/ties (note and slur parameter sheets)
- Homework 7: Hard SCORE exercises: do 3 out of the 10 examples (due next Thursday): Or a page of music of your choice with Craig's approval (so he can make sure it is not too easy or too hard)
- Lecture 07B. Archival Data
- Lecture 07B-alt. Markup Languages for Music
- Lecture: MusicXML and musical parameters
Week | Dates | Topics |
---|---|---|
7 | 20 Feb 2024 |
Archiving musical data SCORE parameters 2 SCORE parameters |
7 | 22 Feb 2024 |
Archiving musical data MusicXML: Data markup and interchange |
Week 8
- Lecture 08A. Markup Languages: MusicXML and MEI
- Lecture: Introduction to MEI
- XML homework #8 (due next Tuesday)
- Walter Hewlett: MuseData
Week | Dates | Topics |
---|---|---|
8 | 27 Feb 2024 |
Transposition via Base-40 MEI: Source markup and publishing |
8 | 29 Feb 2024 |
MuseData |
Week 9
- Lecture 09A. Introduction to Humdrum
- Lecture: Humdrum file format
- Introduction to **kern music encoding
- Verovio Humdrum Viewer (2019 IAML (Kraków, Poland) workshop slides for VHV)
- Homework: Encode examples in Humdrum using VHV editor (due this Thursday).
- Lecture 09B. Uses of Humdrum
- Lab: Humdrum Lab
- Humdrum homework (due next Thursday)
Week | Dates | Topics |
---|---|---|
9 | 5 Mar 2024 |
Humdrum |
9 | 7 Mar 2024 |
Humdrum Analysis 1
|
Week 10
- Lecture 10A. Basic Concepts in Music Copyright
- Lecture 10B. Music as Written, Music as Heard
- Musical Dice Game
- Online implementation, command-line variant (different piece): Musical dice game
Week | Dates | Topics |
---|---|---|
10 | 12 Mar 2024 |
Music as Intellectual Property Humdrum Analysis 2 |
10 | 14 Mar 2024 |
Preview: Musical Similarity Non-standard music representations in Humdrum |
General Policies and University Rules
General policies and university rules:
- Delivery times:
- Assignments: by the start of the class for which they are due.
- Final exam: by 11 p.m. of the assigned date.
- Honor code: We will act and expect you to act according to the Stanford Honor Code.
- Students with disabilities: Students who may need an academic accommodation based on the impact of a disability must initiate the request with the Student Disability Resource Center (SDRC) located within the Office of Accessible Education (OAE). SDRC staff will evaluate the request with required documentation, recommend reasonable accommodations, and prepare an Accommodation Letter for faculty dated in the current quarter in which the request is being made. Students should contact the SDRC as soon as possible since timely notice is needed to coordinate accommodations. OAE phone (650) 723-1066 OAE website.
- Students in distress: Stanford offers an abundance of resources for students dealing with problems of a personal nature.
- Urgent support: (650) 723-3785 CAPS website
- Medical Services: (650) 498-2336 Vaden Health Services
- Crisis hotline: (650) 725-9955
- Title IX questions: (650) 497-4955