Difference between revisions of "Music 254/CS 275b Spring 2013 Syllabus"
(39 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<font size=+1><b>Music 254/CS 275b "Music Query, Analysis, and Style Simulation" <br> Stanford University (Spring 2013).</b></font> | <font size=+1><b>Music 254/CS 275b "Music Query, Analysis, and Style Simulation" <br> Stanford University (Spring 2013).</b></font> | ||
+ | |||
+ | This is an old syllabus, click [[Music_254/CS_275b_Syllabus | here ]] for a more recent one. | ||
This music information retrieval course builds on the foundation of [[Music 253|Music 253/CS 275A]]. Using an | This music information retrieval course builds on the foundation of [[Music 253|Music 253/CS 275A]]. Using an | ||
− | open-source analysis platform (such as the [[Humdrum Toolkit]], [[Humdrum Extras]] (C++), or [[Music21]](Python), or | + | open-source analysis platform (such as the [[Humdrum Toolkit]], [[Humdrum Extras]] (C++), or [[Music21]](Python), or your preferred programming language/environment) students plan and design their own applications. |
Class time is divided during the first four weeks to cover basic areas of music analysis and retrieval and | Class time is divided during the first four weeks to cover basic areas of music analysis and retrieval and | ||
Line 57: | Line 59: | ||
<td align=right><b>Website:</b></td> | <td align=right><b>Website:</b></td> | ||
<td></td> | <td></td> | ||
− | <td>[http://music254.stanford.edu music254.stanford.edu] | + | <td>[http://music254.stanford.edu music254.stanford.edu]<br>[http://wiki.ccarh.org/wiki/Music%20254 wiki.ccarh.org/wiki/Music 254] [[Music 254|Overview]] of topics presented in Music 254. |
</td> | </td> | ||
</tr> | </tr> | ||
Line 79: | Line 81: | ||
== Syllabus == | == Syllabus == | ||
+ | |||
+ | Go to week: <font color="gray" size="-1">Harmony</font> [[#week1|1]] | <font color="gray" size="-1">Melody</font> [[#week2|2]] | <font color="gray" size="-1">Rhythm</font> [[#week3|3]] | <font color="gray" size="-1">Harmony</font> [[#week4|4]] | <font color="gray" size="-1">RegEx</font> [[#week5|5]] | <font color="gray" size="-1">Programming</font> [[#week6|6]] | [[#week7|7]] | [[#week8|8]] | ||
Line 86: | Line 90: | ||
|- {{Style|table header}} | |- {{Style|table header}} | ||
! scope="col" width="20px" | Week | ! scope="col" width="20px" | Week | ||
− | ! scope="col" width=" | + | ! scope="col" width="95px" | Dates |
! scope="col" width="500px" | Topics | ! scope="col" width="500px" | Topics | ||
|- | |- | ||
− | | 1 || 1 & 3 Apr 2013 || | + | | 1<div id="week1"></div> || 1 & 3 Apr 2013 || |
<b>Harmony I</b> | <b>Harmony I</b> | ||
− | *[[Media:Harmony1.pdf| Harmony Tools I in Humdrum]] | + | * [http://esf.ccarh.org/254/01_SymbolicMusicAnalysis.pdf 1. Symbolic Music Analysis (Introduction)] (PDF slides) |
+ | *[[Media:Harmony1.pdf| Harmony Tools I in Humdrum]] (PDF slides) | ||
+ | ** Harmony tools: | ||
+ | *** [http://www.humdrum.org/Humdrum/commands/hint.html hint]: Harmonic intervals. | ||
+ | *** [http://extras.humdrum.org/man/tntype tntype]: twelve-tone chord prototypes. | ||
+ | *** [http://www.humdrum.org/Humdrum/commands/key.html key]: Krumhansl-Schmuckler key-finding algorithm. | ||
+ | *** [http://extras.humdrum.org/man/keycor keycor]: generalization of key command. | ||
+ | *** [http://extras.humdrum.org/man/sonority sonority]: triadic chord descriptions of sonorities. | ||
+ | ** Support tools: | ||
+ | *** [http://www.humdrum.org/Humdrum/commands/assemble.html assemble]: merge separate spines into single data stream. | ||
+ | *** [http://extras.humdrum.org/man/serialize serialize]: convert Humdrum data into single spine. | ||
+ | *** [http://extras.humdrum.org/man/humcat humcat ]: concatenate multiple scores together (download data from web). | ||
+ | *** [http://extras.humdrum.org/man/ridx ridx]: remove various components of Humdrum file structure | ||
+ | *** [http://www.humdrum.org/Humdrum/commands/ditto.html ditto]: resolve meaning of null tokens. | ||
+ | *** [http://extras.humdrum.org/man/humsplit humsplit]: split segmented Humdrum file streams into separate files. | ||
+ | ** Unix tools: | ||
+ | *** [http://en.wikipedia.org/wiki/Command_line command line] | ||
+ | *** [http://en.wikipedia.org/wiki/List_of_Unix_utilities list of command-line programs] | ||
+ | *** [http://en.wikipedia.org/wiki/Sort_(Unix) sort]: sort lines of data alphabetically or numerically. | ||
+ | *** [http://en.wikipedia.org/wiki/Uniq uniq]: Remove/count successively repeated lines of text. | ||
|- | |- | ||
− | | 2 || 8 Apr 2013 || | + | | 2<div id="week2"></div> || 8 & 10 Apr 2013 || |
<b>Melody</b> | <b>Melody</b> | ||
− | * [[Media:Melody1.pdf|Melody Tools in Humdrum]] | + | * [http://esf.ccarh.org/254/02A_MelodicQuery.pdf 2a. Melodic Search: Strategies and Formats] (PDF slides) |
− | + | * [http://esf.ccarh.org/254/02B_Melodic%20Similarity.pdf 2b. Melodic Similarity: Cognitive and Perceptual Dimensions] (PDF slides) | |
− | + | * [[Media:Melody1.pdf|Melody Tools in Humdrum]] (PDF slides) | |
− | + | ** melody tools: | |
+ | *** [http://www.humdrum.org/Humdrum/commands/mint mint]: Melodic intervals | ||
+ | *** [http://extras.humdrum.org/man/scaletype scaletype] Simple scale type categorizer | ||
+ | *** [http://extras.humdrum.org/man/tindex tindex]: Thema indexer. | ||
+ | *** [http://extras.humdrum.org/man/themax themax]: Thema search. | ||
+ | *** [http://extras.humdrum.org/man/theloc theloc]: Thema localizer. | ||
+ | *** [http://www.humdrum.org/Humdrum/commands/context context]: melodic n-grams | ||
+ | *** [http://extras.humdrum.org/man/prange prange]: Pitch range tool. | ||
+ | ** graphical notation: | ||
+ | *** [http://extras.humdrum.org/man/hum2muse hum2muse]/[http://muse2ps.ccarh.org muse2ps]: print Humdrum files with MuseData printing system. | ||
+ | *** [http://extras.humdrum.org/man/hum2abc hum2abc]/ [http://moinejf.free.fr/ abcm2ps]: print Humdrum files with ABC+ printing system. | ||
+ | *** [http://www.humdrum.org/Humdrum/commands/ms ms]/[http://www.arkkra.com mup]: print Humdrum files with Mup printing system. | ||
+ | *** [http://extras.humdrum.org/man/hum2xml hum2xml]: convert Humdrum files into MusicXML for display in: [http://www.musescore.org MuseScore] [http://www.noteflight.com Noteflight] or via [http://lilypond.org/doc/v2.14/Documentation/usage/invoking-musicxml2ly musicxml2ly] in [http://www.lilypond.org lilypond]. | ||
+ | ** support tools: | ||
+ | *** [http://www.humdrum.org/Humdrum/commands/kern kern]: remove rhythms from note data. | ||
+ | *** [http://extras.humdrum.org/man/myank myank] Yank measures from a full score. | ||
+ | *** [http://www.humdrum.org/Humdrum/commands/extract extract]: extract spines from Humdrum file. | ||
+ | *** [http://extras.humdrum.org/man/extractx extractx]: Humdrum Extras version of extract | ||
+ | *** [http://extras.humdrum.org/man/hgrep hgrep]: Humdrum-aware greep. | ||
+ | *** [http://extras.humdrum.org/man/autostem autostem]: automatic stemming of notes. | ||
+ | ** unix: | ||
+ | *** [http://en.wikipedia.org/wiki/Head_(Unix) head]: show only starting lines of text. | ||
+ | *** [http://en.wikipedia.org/wiki/Grep grep]: search text for generalized regular expressions. | ||
+ | *** [http://en.wikipedia.org/wiki/Grep egrep]: enhanced grep (adds additional wildcards). | ||
+ | *** [http://en.wikipedia.org/wiki/Sed sed]: Stream editor (search and replace). | ||
+ | ** graphics (unix): | ||
+ | *** [http://netpbm.sourceforge.net/doc/pstopnm.html pstopnm]: a converter from PostScript to bitmaps. | ||
+ | *** [http://www.imagemagick.org/script/convert.php convert]: Imagemagick tool for manipulating images. | ||
+ | *** [http://ghostscript.com/doc/current/Ps2pdf.htm ps2pdf]: convert PostScript into PDF files. | ||
|- | |- | ||
− | | 3 || 15 Apr 2013 || | + | | 3<div id="week3"></div> || 15 Apr 2013 || |
− | <b>Rhythm</b> | + | <b>Style/Rhythm</b> |
+ | * [http://esf.ccarh.org/254/03A_MusicalDimensions-Similarity.pdf 3a. Similarity: Musical Dimensions] | ||
+ | * [http://esf.ccarh.org/254/03b_Aspects%20of%20Rhythm%20and%20Meter.pdf 3b. Aspects of Meter and Rhythm] | ||
+ | * [[Media:Rhythm1.pdf| Rhythm Tools in Humdrum]] (PDF slides) | ||
+ | ** [http://www.humdrum.org/Humdrum/commands/timebase timebase]: create uniform duration for each Humdrum file data line. | ||
+ | ** [http://extras.humdrum.org/man/beat beat]: label metric beats in Humdrum file. | ||
+ | ** [http://extras.humdrum.org/man/gettime gettime]: calculate performance time in seconds (according to tempo markings). | ||
+ | ** [http://extras.humdrum.org/man/thrux thrux]: expand repeats to performance sequence | ||
+ | ** [http://extras.humdrum.org/man/minrhy minrhy]: identify minimum integral rhythmic unit in score | ||
+ | ** [http://www.humdrum.org/Humdrum/commands/assemble assemble]: merge parts into a single score | ||
+ | ** partjoin: automation script to merge parts into a single score (preserves grace notes, uses minrhy and timebase) | ||
+ | ** [http://www.humdrum.org/Humdrum/commands/ditto ditto]/[http://extras.humdrum.org/man/dittox dittox]: resolve null tokens | ||
+ | ** [http://extras.humdrum.org/man/hgrep hgrep]: search for patterns in Humdrum file data. | ||
|- | |- | ||
| 3 || 17 Apr 2013 || | | 3 || 17 Apr 2013 || | ||
+ | <b>Data/Data entry</b> | ||
+ | * [[Media:dataentry.pdf | Data/Data entry in Humdrum]] (PDF slides) | ||
+ | ** [http://kern.ccarh.org KernScores]: digital library of scores in the **kern format | ||
+ | *** [http://kern.ccarh.org/help/data] introduction to KernScores | ||
+ | *** [http://kern.ccarh.org/cgi-bin/kscuts] shortcuts to data in KernScores | ||
+ | *** [http://kern.ccarh.org/browse] browse collections in KernScores | ||
+ | ** [http://jrp.ccarh.org]: Josquin Research Project: digital library of early Renaissance polyphony | ||
+ | ** [http://extras.humdrum.org/man/xml2hum xml2hum]: MusicXML to Humdrum converter | ||
+ | ** [http://museinfo.sapp.org/examples/humdrum/mid2hum.cpp mid2hum]: MIDI to Humdrum converter (works in many cases, but better to convert MIDI first to MusicXML then import). | ||
|- | |- | ||
− | | 4 || 22 Apr 2012 || | + | | 4<div id="week4"></div> || 22 Apr 2012 || |
<b>Harmony II</b> | <b>Harmony II</b> | ||
+ | * [http://esf.ccarh.org/254/04a_Harmonic%20Models.pdf 4a. Harmonic Models (1)] | ||
+ | * [http://esf.ccarh.org/254/04b_Harmonic_Models-2.pdf 4b. Harmonic Models (2)] | ||
+ | * [[Media:Harmony2.pdf | Harmony II]] Key analysis (PDF slides) | ||
+ | ** Key-cycles: | ||
+ | *** [http://kern.ccarh.org/browse&l=hummel/preludes Hummel Op. 67 preludes] | ||
+ | *** [http://kern.ccarh.org/browse&l=hummel/preludes Chopin Op. 28 preludes] | ||
+ | *** [http://kern.ccarh.org/browse&l=wtc J.S. Bach Well-Tempered Clavier] | ||
+ | ** [http://extras.humdrum.org/man/keycor keycor]: harmonic structure plots. | ||
+ | ** [http://extras.humdrum.org/man/mkeyscape mkeyscape]: harmonic structure plots. | ||
+ | *** [http://extras.humdrum.org/man/mkeyscape/beet-sonata Beethoven piano sonata keyscapes] | ||
+ | *** [http://extras.humdrum.org/man/mkeyscape/moz-sonata Mozart piano sonata keyscapes] | ||
+ | *** [https://ccrma.stanford.edu/~craig/keyscape/class Lots of keyscapes] | ||
+ | ** [http://extras.humdrum.org/man/transpose transpose]: Transpose score to specific key or by interval. | ||
|- | |- | ||
| 4 || 24 Apr 2012 || | | 4 || 24 Apr 2012 || | ||
− | | | + | <b>Humdrum & MIDI</b> |
− | + | * [[Media:Humdrum2Midi.pdf | Humdrum to MIDI]] (PDF slides) | |
− | |||
|- | |- | ||
− | | 5 || | + | | 5<div id="week5"></div> || 29 Apr 2013 || |
+ | <b> Regular Expressions </b> | ||
+ | * [[Media:RegularExpressions.pdf | Regular Expressions]] (PDF slides) | ||
|- | |- | ||
− | | 5 || | + | | 5 || 1 May 2013 || |
+ | * [http://esf.ccarh.org/254/05A_From%20Emmmy%20to%20Emily%20Howell_v2.pdf 5a. From Emmy to Emily Howell: The Work of David Cope] | ||
|- | |- | ||
− | | 6 || | + | | 6<div id="week6"></div> || 6 May 2013 || |
+ | <b> Programming for Humdrum files </b> | ||
+ | * [[Humdrum Extras]] — C++ library for processing Humdrum files | ||
+ | * [http://mit.edu/music21 music21] — Python environment which reads Humdrum files | ||
|- | |- | ||
− | | 6 || | + | | 6 || 8 May 2013 || |
+ | <b> Inner metric analysis </b> | ||
+ | * [[Media:Innermetric-BE.pdf | Inner Metric Analysis: project update by Björn]] (PDF slides) | ||
+ | <b> Sonority distributions by bass-line scale degrees </b> | ||
+ | * [[Media:CorelliBassline.pdf | Corelli & Rule-of-the-octave data selection]] (PDF slides) | ||
|- | |- | ||
− | | 7 || | + | | 7 || 13 May 2013 || |
+ | <b> Dice</b> | ||
+ | * [http://www.ccarh.org/courses/253/lab/kerndice Mozart Dice Game] | ||
|- | |- | ||
− | | 7 || | + | | 7 || 15 May 2013 || |
+ | <b> Musical Style</b> | ||
+ | * [http://esf.ccarh.org/254/08b_Quantitative-Style.pdf Quantitative Analysis of Musical Style] | ||
|- | |- | ||
− | | 8 || | + | | 8 || 20 May 2013 || |
+ | <b> Project development</b> | ||
+ | |||
+ | No class meeting | ||
|- | |- | ||
− | | 8 || | + | | 8 || 22 May 2013 || |
+ | <b> Project development</b> | ||
+ | |||
+ | No class meeting | ||
|- | |- | ||
− | | 9 || | + | | 9 || 29 May 2013 || |
+ | <b> Counterpoint</b> | ||
+ | * [http://esf.ccarh.org/254/09b_Improvisatory%20Counterpoint.pdf Generative approaches to counterpoint] | ||
+ | <b> MEI</b> | ||
+ | * MEI (Music Encoding Initiative) Release 2.0 | ||
|- | |- | ||
− | | | + | | 10 || June 3 || |
|- | |- | ||
− | | 10 || | + | | 10 || June 5 || |
+ | <b> Project presentations</b> | ||
|- | |- | ||
− | |||
|} | |} | ||
− | |||
− | |||
</center> | </center> | ||
Latest revision as of 15:50, 20 March 2014
Music 254/CS 275b "Music Query, Analysis, and Style Simulation"
Stanford University (Spring 2013).
This is an old syllabus, click here for a more recent one.
This music information retrieval course builds on the foundation of Music 253/CS 275A. Using an open-source analysis platform (such as the Humdrum Toolkit, Humdrum Extras (C++), or Music21(Python), or your preferred programming language/environment) students plan and design their own applications.
Class time is divided during the first four weeks to cover basic areas of music analysis and retrieval and to learn some of the basic principles of the Humdrum Toolkit. The remaining six weeks are spent on individual project development, with weekly discussions. Extensive help is available in the lab during hours allotted to class time.
Meeting times: | Mondays & Wednesdays 1:15–3:05 | ||
Location: | Braun Music Building, room 128 (or entry also from room 129) | ||
Instructors: | Eleanor Selfridge-Field (esfield@stanford.edu) Craig Stuart Sapp (craig@ccrma.stanford.edu) | ||
Office Hours: | 3:05–4:05 Wednesdays and by appointment. | ||
Credits: | 2–4 | ||
Grading: |
25% class participation, 75% project
|
||
Website: | music254.stanford.edu wiki.ccarh.org/wiki/Music 254 Overview of topics presented in Music 254. |
||
Prerequisites: | Completion of Music 253/CS 275b, or demonstrated ability to use notation and sound software and associated requirements. | ||
Textbook: | E. Selfridge-Field, ed., Beyond MIDI: The Handbook of Musical Codes (MIT Press, 1997). Available online by permission of the publisher. |
Syllabus
Go to week: Harmony 1 | Melody 2 | Rhythm 3 | Harmony 4 | RegEx 5 | Programming 6 | 7 | 8
See also Music 253/CS 275a Syllabus
Week | Dates | Topics |
---|---|---|
1 | 1 & 3 Apr 2013 |
Harmony I
|
2 | 8 & 10 Apr 2013 |
Melody
|
3 | 15 Apr 2013 |
Style/Rhythm
|
3 | 17 Apr 2013 |
Data/Data entry
|
4 | 22 Apr 2012 |
Harmony II
|
4 | 24 Apr 2012 |
Humdrum & MIDI
|
5 | 29 Apr 2013 |
Regular Expressions
|
5 | 1 May 2013 | |
6 | 6 May 2013 |
Programming for Humdrum files
|
6 | 8 May 2013 |
Inner metric analysis
Sonority distributions by bass-line scale degrees
|
7 | 13 May 2013 |
Dice |
7 | 15 May 2013 |
Musical Style |
8 | 20 May 2013 |
Project development No class meeting |
8 | 22 May 2013 |
Project development No class meeting |
9 | 29 May 2013 |
Counterpoint MEI
|
10 | June 3 | |
10 | June 5 |
Project presentations |
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 accommdations. The OAE is located at 563 Salvatierra Walk (phone 723-1066).