Difference between revisions of "Humdrum Lab 1"
Line 58: | Line 58: | ||
tindex *.krn > chorales.index | tindex *.krn > chorales.index | ||
− | Search for the melodic sequence "C D E F G A B C", counting how many | + | Search for the melodic sequence "C D E F G A B C", counting how many chorales it occurs within: |
themax -p "cdefgabc" chorales.index | wc -l | themax -p "cdefgabc" chorales.index | wc -l | ||
Line 79: | Line 79: | ||
themax -p "cdefgabc" chorales.index --loc | head -n 1 | theloc -m \ | themax -p "cdefgabc" chorales.index --loc | head -n 1 | theloc -m \ | ||
| autostem | hum2muse | muse2ps | ps2pdf - - > output.pdf | | autostem | hum2muse | muse2ps | ps2pdf - - > output.pdf | ||
+ | |||
+ | Questions: | ||
+ | # Search for another pattern, and report your findings. | ||
+ | |||
+ | The [http://extras.humdrum.org/man/themax themax] command can search for other melodic features, such as interval, contour, rhythm, meter. Here are some more example applications: | ||
+ | |||
+ | ==== Tritone ==== | ||
+ | |||
+ | Tritones can be notated as augmented 4ths (such as C-F{{music|sharp}}) or diminished fifths (such as C–G{{music|flat}}). Which of these two versions of the tritone are more common in the chorales: | ||
+ | themax -I "A4" chorales.index --total | ||
+ | themax -I "d5" chorales.index --total |
Revision as of 18:26, 11 March 2014
Contents
Bach Chorales
Download
A Humdrum Edition of the Bach Chorales is available at http://kern.ccarh.org/browse?l=371chorales
The data files can be downloaded using the humcat and humsplit commands:
mkdir chorales cd chorales humcat -s h://370chorales | humsplit
This should create 370 files in the format chor001.krn, chor002.krn, chor003.krn, etc.
MIDI rendering
Convert a particular chorale into a MIDI file with this command:
hum2mid chor001.krn -o chor001.mid
Graphical Music Notation
Key
Each chorale is hand-labeled with a musical key. To generate a histogram of key designations in the chorales:
extract -f 1 *.krn | grep '\*.*:' | sort | uniq -c | sort
Questions:
- What is the most common key?
- What is the most common major key?
- What is the most common minor key?
- What is the least common major key (other than zero counts)?
- What is the least common minor key (other than zero counts)?
- How many chorales are labeled as being in a modal key?
Vocal Range
To count all of the notes by pitch-class for each vocal part, use the prange command. Here is a sample command which extracts the bass part data:
extract -f 1 *.krn | prange
or alternatively extracting by text pattern (Bass, Tenor, Alto, Soprano):
extractx -g Bass *.krn | prange
For the bass part, the lowest note is CC (C2) and the highest note is e (E4), with a total vocal range of 28 semitones. The average (base-12) pitch is E- (E-flat 3), which is both the mean and median.
Do a similar vocal range analysis on the other three parts.
Questions:
- Which voice has the widest range?
- What is the highest and lowest note for each vocal part.
Searching
Create a search index for the chorales:
tindex *.krn > chorales.index
Search for the melodic sequence "C D E F G A B C", counting how many chorales it occurs within:
themax -p "cdefgabc" chorales.index | wc -l
To locate the pattern within the music:
themax -p "cdefgabc" chorales.index --loc | theloc
which should return the result:
chor190.krn::1 58=10B2-65=11B3 chor325.krn::1 17=5B1-24=6B4
This means that the melodic pattern "cdefgabc" occurs in two chorales (190 and 325). In both cases, the bass part (::1) has the pattern. The pattern occurs from note 58 to 65 in the bass part to chorale 190 which is from measure 10 beat 2 until measure 11 beat 3. Similarly, the pattern occurs in the bass part of chorale 325 in measure 5 to 6.
The search matches can be marked in the original data:
themax -p "cdefgabc" chorales.index --loc | theloc -m | less
Each matched note will be prefixed with an "@" sign. Search for these marks in measure 10/11 and 5/6 in the two chorales.
To pull out the measures which contain the matched notes:
themax -p "cdefgabc" chorales.index --loc | theloc -m | myank --marks
To display matches highlighted in graphical notation:
themax -p "cdefgabc" chorales.index --loc | head -n 1 | theloc -m \ | autostem | hum2muse | muse2ps | ps2pdf - - > output.pdf
Questions:
- Search for another pattern, and report your findings.
The themax command can search for other melodic features, such as interval, contour, rhythm, meter. Here are some more example applications:
Tritone
Tritones can be notated as augmented 4ths (such as C-F♯) or diminished fifths (such as C–G♭). Which of these two versions of the tritone are more common in the chorales:
themax -I "A4" chorales.index --total themax -I "d5" chorales.index --total