Difference between revisions of "Humdrum lab 4"

From CCARH Wiki
Jump to navigation Jump to search
Line 250: Line 250:
 
  4 incmin:0:D
 
  4 incmin:0:D
 
  4 note::F
 
  4 note::F
 +
 +
 +
== Generalized sonorities ==
 +
 +
The Humdrum Extras [http://extras.humdrum.org/man/tntype tntype] tool gives a generalized description of the sonorities.
 +
 +
 +
First look at the notes that are present at each time position in the score:
 +
 +
    tntype -da Jos2724-Madame_helas.krn  | less
 +
 +
Then look at the sonorities in compact pitch class form:
 +
 +
    tntype -tna Jos2724-Madame_helas.krn  | tntype -da
 +
 +
Then look at the sonorities as a Forte enumeration:
 +
 +
    tntype -a Jos2724-Madame_helas.krn | tntype -tna  | tntype -da
 +
 +
 +
 +
=1- =1- =1- =1- =1- =1-
 +
0r 0F 0f 1-1 [5] F
 +
=2 =2 =2 =2 =2 =2
 +
0BB- 1F 0f 2-5 [5A] B- f
 +
. 1F . 2-5 [5A] (B-) f
 +
=3 =3 =3 =3 =3 =3
 +
0BB- [0B- 1f 2-5 [5A] B- f
 +
. . 1f 2-5 [5A] (B-) f
 +
=4 =4 =4 =4 =4 =4
 +
1BB- 0B-] 1.b- 1-1 [A] B-
 +
1BB- . . 1-1 [A] B-
 +
. . 2a/ 2-1 [9A] a (B-)
 +
=5 =5 =5 =5 =5 =5

Revision as of 18:57, 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 patterns of length 5 in the B-flat song:

$ finalis-tonic songs/Jos2724-Madame_helas.krn | deg -at | serialize | context -n 5 | ridx -H | sortcount
6	5 4 3 2 1
4	1 7 6 5 6
4	2 3 r 2 3
4	4 3 2 1 4
3	1 7 6 7 1
3	6 5 4 3 4
3	6 5 6 5 1
3	1 7 1 7 1
3	7 6 5 6 5
3	6 2 1 7 6

Calculate scale degrees for all songs:

$ 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

Exercise: How do the most common scale-degree patterns compare to masses and motets?


Keyscape

The B-flat song has an interesting harmonic structure:

$ mkeyscape -ln Jos2724-Madame_helas.krn | convert - out.png; open out.png
Jos2724-Madame helas.png

Stronger focus on E-flat major triads in the first part, then more B-flat major chords in the second part.


You can browse keyscapes on kernscores: http://kern.humdrum.org/cgi-bin/browse?l=/jrp

(go to analysis section of individual works and then click on the entry for keyscape)

Sonority

The Humdrum Extras tool sonority can be used for basic triadic analysis of sonorities.

$ sonority Jos2724-Madame_helas.krn | ridx -H | sortcount | head -n 10
26	X
16	incmaj:0:B-
13	incmajx3:0:B-
12	incmaj:0:E-
11	maj:0:F
10	incmin:0:D 
9	maj:0:B-
8	maj:0:E-
8	note::B-
7 	incmin:0:G

Only roots:

  sonority -ra Jos2724-Madame_helas.krn | sed 's/qual/cdata/' | pbcopy
Jos2724-Madame helas-roots.png


The "roots" of the first half of the piece:

$ myank -m 1-37 Jos2724-Madame_helas.krn | sonority | ridx -H | sortcount | head -n 10
12	X
7	maj:0:E- 
6	incmajx3:0:B-
6 	incmin:0:D
6	incmaj:0:E-
5	note::B-
5	maj:0:F
4	incmaj:0:B-
4	incmin:0:G
4	min:0:C


The "roots" of the second half of the piece:

$ myank -m 38-$ Jos2724-Madame_helas.krn | sonority | ridx -H | sortcount | head -n 10
14	X
12	incmaj:0:B-
7	maj:0:B-
7	incmajx3:0:B- 
6	maj:0:F
6	incmaj:0:E-
6	incmaj:1:E-
5	maj:1:F
4	incmin:0:D
4	note::F


Generalized sonorities

The Humdrum Extras tntype tool gives a generalized description of the sonorities.


First look at the notes that are present at each time position in the score:

   tntype -da Jos2724-Madame_helas.krn  | less

Then look at the sonorities in compact pitch class form:

   tntype -tna Jos2724-Madame_helas.krn  | tntype -da

Then look at the sonorities as a Forte enumeration:

    tntype -a Jos2724-Madame_helas.krn | tntype -tna  | tntype -da


=1-	=1-	=1-	=1-	=1-	=1-
0r	0F	0f	1-1	[5]	F
=2	=2	=2	=2	=2	=2
0BB-	1F	0f	2-5	[5A]	B- f
.	1F	.	2-5	[5A]	(B-) f
=3	=3	=3	=3	=3	=3
0BB-	[0B-	1f	2-5	[5A]	B- f
.	.	1f	2-5	[5A]	(B-) f
=4	=4	=4	=4	=4	=4
1BB-	0B-]	1.b-	1-1	[A]	B-
1BB-	.	.	1-1	[A]	B-
.	.	2a/	2-1	[9A]	a (B-)
=5	=5	=5	=5	=5	=5