Humdrum lab 5: Difference between revisions
No edit summary |
|||
Line 237: | Line 237: | ||
2.3 D major | 2.3 D major | ||
2.25 F dominant | 2.25 F dominant | ||
How many chord qualities: | |||
extractx -i mxhm * | ridx -H | sed 's/[^ ]* //; s/\/.*//' | sortcount | wc -l | |||
80 | |||
Here are the 80 qualities: | |||
93061 major | |||
64155 dominant | |||
31402 minor | |||
27490 minor-seventh | |||
8594 major-seventh | |||
5861 dominant-ninth | |||
5733 major-sixth | |||
4138 diminished | |||
2943 min | |||
2912 7 | |||
2816 minor-sixth | |||
2159 half-diminished | |||
2154 suspended-fourth | |||
1884 diminished-seventh | |||
1738 augmented-seventh | |||
1408 augmented | |||
1208 C | |||
1102 dominant-13th | |||
1082 min7 | |||
1008 F | |||
1008 maj7 | |||
967 dominant-seventh | |||
892 G | |||
878 minor-ninth | |||
705 D | |||
650 B- | |||
592 major-ninth | |||
355 E- | |||
352 A | |||
280 E | |||
249 power | |||
237 dominant-11th | |||
222 suspended-second | |||
202 minor-11th | |||
165 minor-major | |||
157 dim | |||
129 maj | |||
128 A- | |||
96 augmented-ninth | |||
84 9 | |||
71 other | |||
66 B | |||
62 6 | |||
62 major-minor | |||
58 sus47 | |||
46 aug | |||
46 D- | |||
46 min9 | |||
36 G- | |||
29 m7b5 | |||
23 major-13th | |||
21 maj9 | |||
19 min6 | |||
19 none | |||
17 pedal | |||
16 dim7 | |||
16 maj69 | |||
15 F# | |||
12 major B- major | |||
8 major F major | |||
7 C# | |||
6 major . | |||
5 minor D minor D minor | |||
4 minor-13th | |||
3 minor G minor | |||
3 C- | |||
3 minMaj7 | |||
3 D# | |||
2 minor . | |||
2 major F major F major | |||
2 dominant C dominant | |||
2 5b | |||
2 major C major C major | |||
1 major E- major | |||
1 ma | |||
1 major . . | |||
1 major G major G major | |||
1 minor . . | |||
1 7sus | |||
1 |
Revision as of 18:16, 1 May 2018
This lab is about the wikifonia data.
Update Humdrum tools
The beat command has some new options (-C and -U), so you will need to update humdrum extras:
cd $(which beat | sed 's/humdrum-tools.*/humdrum-tools/') make update make
Basic information
How many files
ls *.krn | wc -l 6710
How many have lyrics:
grep -l "\*\*text" *.krn | wc -l 5460
How many have chords:
grep -l "\*\*text" *.krn | wc -l 6282
How many have two or more verses:
grep -l "\*\*text.*\*\*text" *.krn | wc -l 2006
Bibliographic information
Who are the top 10 represented composer in the data:
grep -h COM *.krn | sortcount | head -n 10 132 !!!COM: Unknown 121 !!!COM: Hungarian folk song 119 !!!COM: Traditional 91 !!!COM: Richard Rodgers 75 !!!COM: Irving Berlin 67 !!!COM: Hungarian song 65 !!!COM: Cole Porter 46 !!!COM: Harry Warren 45 !!!COM: George Gershwin 40 !!!COM: Harold Arlen
List the titles of all pieces where George Gershwin is the composer:
grep OTL $(grep -li COM.*Gershwin *.krn) | sort -k2 WF2190.krn:!!!OTL: 'S Wonderful! WF2191.krn:!!!OTL: A FOGGY DAY WF2267.krn:!!!OTL: A Foggy Day WF2186.krn:!!!OTL: A Woman Is A Sometime Thing WF2192.krn:!!!OTL: Bidin' My Time WF2178.krn:!!!OTL: Blues WF2193.krn:!!!OTL: But Not For Me WF2194.krn:!!!OTL: By Strauss WF2195.krn:!!!OTL: Clap yo' hands WF2185.krn:!!!OTL: Do It Again! WF2196.krn:!!!OTL: Embraceable You WF2197.krn:!!!OTL: Fascinating Rhythm WF2268.krn:!!!OTL: For You, For Me, For Evermore WF2198.krn:!!!OTL: How Long Has This Been Going On WF2199.krn:!!!OTL: I Got Plenty o' Nuttin' WF2103.krn:!!!OTL: I Got Rhythm WF2200.krn:!!!OTL: I Got Rhythm WF2222.krn:!!!OTL: I Loves You Porgy WF2201.krn:!!!OTL: I Was Doing All Right WF2202.krn:!!!OTL: I Was Doing All Right WF2179.krn:!!!OTL: I loves you Porgy WF2184.krn:!!!OTL: I'll Build A Stairway To Paradise WF2203.krn:!!!OTL: I've Got A Crush On You WF2204.krn:!!!OTL: Isn't It A Pity WF2221.krn:!!!OTL: It Ain't Necessarily So WF2205.krn:!!!OTL: Let's Call the Whole Thing Off WF2220.krn:!!!OTL: Liza WF2219.krn:!!!OTL: Liza (All the clouds'll roll away) WF2269.krn:!!!OTL: Love Is Here To Stay WF2206.krn:!!!OTL: Love Walked In WF2223.krn:!!!OTL: My Man's Gone Now WF2207.krn:!!!OTL: Nice Work If You Can Get It WF2208.krn:!!!OTL: Oh Lady Be Good WF2189.krn:!!!OTL: SUMMERTIME WF2995.krn:!!!OTL: Shoes With Wings On WF2183.krn:!!!OTL: Somebody Loves Me WF2209.krn:!!!OTL: Someone To Watch Over Me WF2210.krn:!!!OTL: Soon WF2211.krn:!!!OTL: Strike Up The Band WF2180.krn:!!!OTL: Summertime WF2181.krn:!!!OTL: Summertime WF2187.krn:!!!OTL: Summertime WF2212.krn:!!!OTL: Summertime WF2224.krn:!!!OTL: Swanee WF2213.krn:!!!OTL: That Certain Feeling WF2214.krn:!!!OTL: The Man I Love WF2225.krn:!!!OTL: The Simple Life WF2188.krn:!!!OTL: There's A Boat Dat's Leaving Soon For New York WF2215.krn:!!!OTL: They All Laughed WF2216.krn:!!!OTL: They Can't Take That Away From Me WF2217.krn:!!!OTL: They Can't Take That Away From Me WF2218.krn:!!!OTL: Who Cares
Texture
How many contain more than one **kern spine (i.e., are polyphonic, probably piano):
grep -l "\*\*kern.*\*\*kern" *.krn | wc -l 58
WF5118.krn is an example:

This one is interesting because it has invisible chords in the top staff which are realizing the harmonic chords above the staff.
How many songs have chords (this takes a long time to calculate -- 70 songs per second = 95 seconds):
for i in *.krn do extractx -i kern $i | serialize | ridx -H | grep " " | wc -l done | grep -v " ^0$" | wc -l 365
How many songs do not have chords:
for i in *.krn do extractx -i kern $i | serialize | ridx -H | grep " " | wc -l done | grep " ^0$" | wc -l 6345
Duration
What is the duration of all songs if played back-to-back and at the specified tempo without repeats?
gettime -T *.krn | tail -n 1 286:50:23.1354 hours
What are the longest songs:
gettime --simple -T *.krn | sort -k2 -nr | head -n 10 WF6618.krn: 3120 WF0181.krn: 3120 WF0182.krn: 1864 WF3616.krn: 1420 WF6336.krn: 1134 WF5131.krn: 909 WF6068.krn: 785 WF5004.krn: 696 WF3226.krn: 671 WF1249.krn: 664
The -k2 option means to sort by the second column of data. -n means to sort numerically rather than alphabetically, and -r means to sort by highest first.
What are the shortest songs:
gettime --simple -T *.krn | sort -k2 -nr | tail -n 10 WF2814.krn: 16 WF2806.krn: 16 WF2795.krn: 16 WF2785.krn: 16 WF2856.krn: 14 WF2852.krn: 12 WF2799.krn: 12 WF6338.krn: 8 WF5609.krn: 8
The shortest song in VHV:
cat WF5609.krn | pbcopy

Meter
What sort of meters are in the database and how much of each type?
beat -Ca *.krn | beat -Ua | extractx -s '$1-$' | ridx -H | sortcount -p 65.89 4 4 15.44 3 4 11.67 2 2 3.24 2 4 2.78 6 8 0.52 12 8 0.16 5 4 0.14 9 8 0.09 6 4 0.06 3 8 0.01 3 2 0.01 7 4 0 2 8 0 7 8 0 9 4 0 10 8 0 17 16 0 1 2 0 5 8 0 1 4 0 4 8
The most common meter is 4/4, where 65% of the music is in that meter.
-C means extract the count of the meter (the top number).
-U means extract the duration unit from the meter (the bottom number).
-C and -U are output once for each measure, so using these are a simple way of counting the number of measures in the scores. If you add -F option with these two options, every data line will display the metrical information.
-a means to append the analysis to the end of the lines (keeping the original input score).
The extract option:
-s '$1-$'
means to extract from one before the last spine to the last spine. $1 is one before the last spine, $2 is two before the last spine, and so on.
Chord labels
How many unique chord labels are there?
extractx -i mxhm * | ridx -H | sortcount | wc -l 1399
What are the most common ones:
extractx -i mxhm * | ridx -H | sortcount -p | head -n 10 7.21 C major 6.14 F major 4.94 G major 4.83 G dominant 4.07 C dominant 3.55 D dominant 3.28 B- major 2.81 E- major 2.3 D major 2.25 F dominant
How many chord qualities:
extractx -i mxhm * | ridx -H | sed 's/[^ ]* //; s/\/.*//' | sortcount | wc -l 80
Here are the 80 qualities:
93061 major 64155 dominant 31402 minor 27490 minor-seventh 8594 major-seventh 5861 dominant-ninth 5733 major-sixth 4138 diminished 2943 min 2912 7 2816 minor-sixth 2159 half-diminished 2154 suspended-fourth 1884 diminished-seventh 1738 augmented-seventh 1408 augmented 1208 C 1102 dominant-13th 1082 min7 1008 F 1008 maj7 967 dominant-seventh 892 G 878 minor-ninth 705 D 650 B- 592 major-ninth 355 E- 352 A 280 E 249 power 237 dominant-11th 222 suspended-second 202 minor-11th 165 minor-major 157 dim 129 maj 128 A- 96 augmented-ninth 84 9 71 other 66 B 62 6 62 major-minor 58 sus47 46 aug 46 D- 46 min9 36 G- 29 m7b5 23 major-13th 21 maj9 19 min6 19 none 17 pedal 16 dim7 16 maj69 15 F# 12 major B- major 8 major F major 7 C# 6 major . 5 minor D minor D minor 4 minor-13th 3 minor G minor 3 C- 3 minMaj7 3 D# 2 minor . 2 major F major F major 2 dominant C dominant 2 5b 2 major C major C major 1 major E- major 1 ma 1 major . . 1 major G major G major 1 minor . . 1 7sus 1