README.md
changeset 3 b89a27b9bd9e
child 4 319d42cc33d8
equal deleted inserted replaced
2:775a1d0d3be6 3:b89a27b9bd9e
       
     1 ### Chordal Analysis
       
     2 
       
     3 *xmlChordAna* is a python script that makes a chordal analysis of a MusicXML file.
       
     4 It is used as from the command line as follows:
       
     5 
       
     6         > ./xmlChordAna.py scorefile.xml
       
     7 
       
     8 The output is printed on *stdout* and looks like this:
       
     9 
       
    10         File: bwv539p_arr.xml, ticks per quarternote: 384
       
    11         342 note groups, 102 chord segments
       
    12         Key: Am, confidence: 33%
       
    13         ---- chord Dmin, score: 90%
       
    14            0     D3, D4, F4, A4
       
    15            2     D3, F4, A4, D5
       
    16            2 1/2 F4, A4, D5, D3
       
    17            3     F4, A4, D5, C#3
       
    18            3 1/2 F4, A4, D5, D3
       
    19         ---- chord Ehdim, score: 75%
       
    20            4     D5, E3, E4, G4
       
    21         ---- chord C#hdim, score: 92%
       
    22            5     E3, E4, G4, C#5
       
    23            5 1/2 E3, E4, G4, B4
       
    24            6     E3, E4, G4, C#5
       
    25            6 1/2 E4, G4, C#5, E3
       
    26            7     E4, G4, C#5, D3
       
    27            7 1/2 E4, G4, C#5, E3
       
    28 
       
    29 See [this explanation][1] for more info.
       
    30 
       
    31 [1]: https://wim.vree.org/keys09/uitleg.html
       
    32 
       
    33 *xml2b40* is a python script to convert a MusicXML file to a list of B40 events.
       
    34 It is invoked from the command line as follows:
       
    35 
       
    36         > ./xml2b40.py -t 384 scorefile.xml
       
    37 
       
    38 and produces the following output:
       
    39 
       
    40         0 129
       
    41         0 169
       
    42         0 180
       
    43         0 192
       
    44         768 -192
       
    45         768 -169
       
    46         768 192
       
    47         768 209
       
    48         960 -129
       
    49         960 129
       
    50         1152 -129
       
    51         1152 124
       
    52         1344 -124
       
    53         1344 129
       
    54         1536 -192
       
    55         1536 -180
       
    56         ...
       
    57 
       
    58 Each line contains two numbers: the time and a B40 note.