Humdrum lab 4: Difference between revisions
Line 68: | Line 68: | ||
| Songs || 72,689 | | Songs || 72,689 | ||
|} | |} | ||
Longest songs: | |||
$ scordur songs/*.krn | sort -k 2 -nr | head -n 10 | |||
songs/Jos2918-Nymphes_des_bois__Requiem.krn: 1240 | |||
songs/Jos2720-La_belle_se_siet.krn: 1192 | |||
songs/Jos2713-Helas_madame.krn: 1144 | |||
songs/Jos2723-Lheure_est_venue__Circumdederunt_me.krn: 1048 | |||
songs/Jos3009-Regretz_sans_fin.krn: 1040 | |||
songs/Jos3011-Se_congie_prens.krn: 792 | |||
songs/Jos2905-Du_mien_amant.krn: 736 | |||
songs/Ort3006-La_mi_la_sol.krn: 728 | |||
songs/Ock3012-Ma_maistresse.krn: 680 | |||
songs/Jos2811-Dulces_exuviae.krn: 680 | |||
(units of quarter notes) | |||
Shortest masses: | |||
$ scordur masses/*.krn | sort -k 2 -nr | tail -n 10 | |||
masses/Ock1004.3a-Missa_Cuiusvis_toni-Kyrie-on_F.krn: 316 | |||
masses/Ock1004.2a-Missa_Cuiusvis_toni-Kyrie-on_E.krn: 316 | |||
masses/Ock1004.1a-Missa_Cuiusvis_toni-Kyrie-on_D.krn: 316 | |||
masses/Ock1002a-Missa_Au_travail_suis-Kyrie.krn: 304 | |||
masses/Jos0904e-Missa_Rosina-Agnus.krn: 296 | |||
masses/Rue1005f-Missa_Ave_sanctissima_Maria-Loco_Deo_Gratias.krn: 288 | |||
masses/Jos0904d-Missa_Rosina-Sanctus.krn: 276 | |||
masses/Rue1020e-Missa_Nunca_fue_pena_mayor-Agnus.krn: 264 | |||
masses/Jos1312-Crucifixus.krn: 200 | |||
masses/Ock1001a-Kyrie_Gloria_Credo_Sine_nomine-Kyrie.krn: 144 | |||
Longest Sanctus sections of masses: | |||
$ scordur masses/*-Sanctus.krn | sort -k 2 -nr | head -n 10 | |||
masses/Ock1003d-Missa_Caput-Sanctus.krn: 2160 | |||
masses/Ock1005d-Missa_De_plus_en_plus-Sanctus.krn: 2052 | |||
masses/Agr1004d-Missa_Malheur_me_bat-Sanctus.krn: 1968 | |||
masses/Mou1020d-Missa_Da_pacem-Sanctus.krn: 1960 | |||
masses/Jos0302d-Missa_Da_pacem-Sanctus.krn: 1960 | |||
masses/Jos0902d-Missa_Mon_seul_plaisir-Sanctus.krn: 1832 | |||
masses/Rue1031d-Missa_Tous_les_regretz-Sanctus.krn: 1808 | |||
masses/Jos1102d-Missa_La_sol_fa_re_mi-Sanctus.krn: 1728 | |||
masses/Jos0901d-Missa_Malheur_me_bat-Sanctus.krn: 1728 | |||
masses/Jos0403d-Missa_Pange_lingua-Sanctus.krn: 1708 | |||
== Final tone == | |||
$ finalis songs/*.krn | sortcount | |||
58 G | |||
36 D | |||
27 A | |||
13 F | |||
10 C | |||
7 E | |||
1 B- | |||
One song with a final on B-flat | |||
== Scale degrees == | |||
The music is not in major/minor modes as modern tonal music is conceived, so there is no key designations in the files. There is a script in Humdrum Extras which will add a key designation based on the final tone of the music so that scale degree information can be extracted from the scores: | |||
finalis-tonic songs/Jos2724-Madame_helas.krn | less | |||
Calculate scale degrees: | |||
finalis-tonic songs/Jos2724-Madame_helas.krn | deg -at | serialize | context -n 5 | ridx -H | sortcount | |||
$ finalis-tonic songs/Jos2724-Madame_helas.krn | deg -at | serialize \ | |||
| grep -v = | context -n 5 | ridx -H | sortcount | head -n 10 | |||
6 5 4 3 2 1 | |||
4 2 3 r 2 3 | |||
4 1 7 6 5 6 | |||
4 4 3 2 1 4 | |||
3 4 3 2 1 2 | |||
3 6 5 4 3 2 | |||
3 2 1 7 6 5 | |||
3 1 7 1 7 1 | |||
3 3 4 3 2 1 | |||
3 5 6 5 4 3 | |||
Length-5 scale degree patterns in songs: | |||
$ finalis-tonic songs/* | extractx -i **kern | deg -at | serialize -L \ | |||
| egrep -v '=|r' | context -n 5 | ridx -H | sortcount | head -n 10 | |||
427 5 4 3- 2 1 | |||
302 3- 2 1 7- 1 | |||
297 4 3- 2 1 7- | |||
236 2 1 7- 6 5 | |||
219 2 3- 2 1 7- | |||
219 1 2 3- 4 5 | |||
198 7- 6 5 4 5 | |||
196 1 2 3- 2 1 | |||
193 7- 1 2 3- 2 | |||
185 1 7- 6 5 4 |
Revision as of 16:47, 26 April 2018
This lab introduces the digital scores of the Josquin Research Project
Download the data
First download the data by genre:
cd ~/Desktop mkdir jrp cd jrp mkdir masses (cd masses; humsplit h://jrp/Zma) mkdir motets (cd motets; humsplit h://jrp/Zmo) mkdir songs (cd songs; humsplit h://jrp/Zso)
There are three basic genres: secular songs, religious songs (motets), and music for the mass ordinary.
You can also download works by composer, such as Jean Mouton:
humsplit h://jrp/Mou
Ockeghem:
humsplit h://jrp/Ock
Josquin securely attributed works:
humsplit h://jrp/Joa
Josquin not securely attributed works:
humsplit h://jrp/Job
All of Josquin works:
humsplit h://jrp/Jos
Alternatively, the JRP database is available on github at https://github.com/josquin-research-project/jrp-scores
How much data is there?
How many files:
cd ~/Desktop/jrp ls masses motets songs | grep krn | wc -l
(Github is more recent).
How many notes:
cat */*.krn | extractx -i **kern | census -k
There are 803,046 notes
By genre:
for i in masses motets songs do echo "$i:" cat $i/*.krn | extractx -i **kern | census -k | grep "Number of notes" done
Masses | 472,034 |
Motets | 258,323 |
Songs | 72,689 |
Longest songs:
$ scordur songs/*.krn | sort -k 2 -nr | head -n 10
songs/Jos2918-Nymphes_des_bois__Requiem.krn: 1240 songs/Jos2720-La_belle_se_siet.krn: 1192 songs/Jos2713-Helas_madame.krn: 1144 songs/Jos2723-Lheure_est_venue__Circumdederunt_me.krn: 1048 songs/Jos3009-Regretz_sans_fin.krn: 1040 songs/Jos3011-Se_congie_prens.krn: 792 songs/Jos2905-Du_mien_amant.krn: 736 songs/Ort3006-La_mi_la_sol.krn: 728 songs/Ock3012-Ma_maistresse.krn: 680 songs/Jos2811-Dulces_exuviae.krn: 680
(units of quarter notes)
Shortest masses:
$ scordur masses/*.krn | sort -k 2 -nr | tail -n 10 masses/Ock1004.3a-Missa_Cuiusvis_toni-Kyrie-on_F.krn: 316 masses/Ock1004.2a-Missa_Cuiusvis_toni-Kyrie-on_E.krn: 316 masses/Ock1004.1a-Missa_Cuiusvis_toni-Kyrie-on_D.krn: 316 masses/Ock1002a-Missa_Au_travail_suis-Kyrie.krn: 304 masses/Jos0904e-Missa_Rosina-Agnus.krn: 296 masses/Rue1005f-Missa_Ave_sanctissima_Maria-Loco_Deo_Gratias.krn: 288 masses/Jos0904d-Missa_Rosina-Sanctus.krn: 276 masses/Rue1020e-Missa_Nunca_fue_pena_mayor-Agnus.krn: 264 masses/Jos1312-Crucifixus.krn: 200 masses/Ock1001a-Kyrie_Gloria_Credo_Sine_nomine-Kyrie.krn: 144
Longest Sanctus sections of masses:
$ scordur masses/*-Sanctus.krn | sort -k 2 -nr | head -n 10 masses/Ock1003d-Missa_Caput-Sanctus.krn: 2160 masses/Ock1005d-Missa_De_plus_en_plus-Sanctus.krn: 2052 masses/Agr1004d-Missa_Malheur_me_bat-Sanctus.krn: 1968 masses/Mou1020d-Missa_Da_pacem-Sanctus.krn: 1960 masses/Jos0302d-Missa_Da_pacem-Sanctus.krn: 1960 masses/Jos0902d-Missa_Mon_seul_plaisir-Sanctus.krn: 1832 masses/Rue1031d-Missa_Tous_les_regretz-Sanctus.krn: 1808 masses/Jos1102d-Missa_La_sol_fa_re_mi-Sanctus.krn: 1728 masses/Jos0901d-Missa_Malheur_me_bat-Sanctus.krn: 1728 masses/Jos0403d-Missa_Pange_lingua-Sanctus.krn: 1708
Final tone
$ finalis songs/*.krn | sortcount 58 G 36 D 27 A 13 F 10 C 7 E 1 B-
One song with a final on B-flat
Scale degrees
The music is not in major/minor modes as modern tonal music is conceived, so there is no key designations in the files. There is a script in Humdrum Extras which will add a key designation based on the final tone of the music so that scale degree information can be extracted from the scores:
finalis-tonic songs/Jos2724-Madame_helas.krn | less
Calculate scale degrees:
finalis-tonic songs/Jos2724-Madame_helas.krn | deg -at | serialize | context -n 5 | ridx -H | sortcount
$ finalis-tonic songs/Jos2724-Madame_helas.krn | deg -at | serialize \ | grep -v = | context -n 5 | ridx -H | sortcount | head -n 10 6 5 4 3 2 1 4 2 3 r 2 3 4 1 7 6 5 6 4 4 3 2 1 4 3 4 3 2 1 2 3 6 5 4 3 2 3 2 1 7 6 5 3 1 7 1 7 1 3 3 4 3 2 1 3 5 6 5 4 3
Length-5 scale degree patterns in songs:
$ finalis-tonic songs/* | extractx -i **kern | deg -at | serialize -L \ | egrep -v '=|r' | context -n 5 | ridx -H | sortcount | head -n 10 427 5 4 3- 2 1 302 3- 2 1 7- 1 297 4 3- 2 1 7- 236 2 1 7- 6 5 219 2 3- 2 1 7- 219 1 2 3- 4 5 198 7- 6 5 4 5 196 1 2 3- 2 1 193 7- 1 2 3- 2 185 1 7- 6 5 4