The Use of "Computer-Assisted Contrapuntal, Intervallic, and Motion Analysis" as a Tool to Help Determine the Authorship of Organ Works in the Neumeister Collection
Item Type text; Electronic Dissertation
Authors Inagi, Shinji
Publisher The University of Arizona.
Rights Copyright © is held by the author. Digital access to this material is made possible by the University Libraries, University of Arizona. Further transmission, reproduction or presentation (such as public display or performance) of protected items is prohibited except with permission of the author.
Download date 09/10/2021 11:59:03
Link to Item http://hdl.handle.net/10150/621077 THE USE OF “COMPUTER-ASSISTED CONTRAPUNTAL, INTERVALLIC, AND MOTION ANALYSIS” AS A TOOL TO HELP DETERMINE THE AUTHORSHIP OF ORGAN WORKS IN THE NEUMEISTER COLLECTION
by
Shinji Inagi
______Copyright ©Shinji Inagi 2016
A Document Submitted to the Faculty of the
FRED FOX SCHOOL OF MUSIC
In Partial Fulfillment of the Requirements For the Degree of
DOCTOR OF MUSICAL ARTS
In the Graduate College
THE UNIVERSITY OF ARIZONA
2016 2
THE UNIVERSITY OF ARIZONA GRADUATE COLLEGE
As members of the Document Committee, we certify that we have read the document prepared by Shinji Inagi, titled “The Use of ‘Computer-Assisted Contrapuntal, Intervallic and Motion Analysis’ as a Tool to Help Determine the Authorship of Organ Works in The Neumeister Collection” and recommend that it be accepted as fulfilling the document requirement for the Degree of Doctor of Musical Arts.
______Dr. Pamela Decker Date: 07/26/2016
______Dr. Rex Woods Date: 07/26/2016
______Dr. John Brobeck Date: 07/26/2016
Final approval and acceptance of this document is contingent upon the candidate’s submission of the final copies of the document to the Graduate College.
I hereby certify that I have read this document prepared under my direction and recommend that it be accepted as fulfilling the document requirement.
______Document Director: Pamela Decker Date: 07/26/2016
3
STATEMENT BY AUTHOR
This document has been submitted in partial fulfillment of the requirements for an advanced degree at the University of Arizona and is deposited in the University Library to be made available to borrowers under rules of the Library.
Brief quotations from this document are allowable without special permission, provided that an accurate acknowledgement of the source is made. Requests for permission for extended quotation from or reproduction of this manuscript in whole or in part may be granted by the head of the major department or the Dean of the Graduate College when in his or her judgment the proposed use of the material is in the interests of scholarship. In all other instances, however, permission must be obtained from the author.
SIGNED: Shinji Inagi
4
ACKNOWLEDGMENTS
I would like to express my sincerest appreciation to the many individuals whose assistance made the completion of this document and degree possible. I am grateful for the continuous support, patience, and encouragement of my wife Rika Inagi as well as my children
Sakura and Eilee along this journey. Also, to my parents for their unchanging support, trust, and love for so many years.
I would like to thank Dr. Pamela Decker as my advisor and also as my professor, who trusted and encouraged me along the way. I would like to express my gratitude for my committee
members, Dr. Rex Woods and Dr. John Brobeck, for their valuable advice and support.
I also would like to thank Dr. Quinton Hurst, who has given advice and engineering
assistance that became the core of this study.
Lastly, I would like to express my gratitude to Lyneen Elmore, whose invaluable
assistance made the final stage of my doctoral work possible.
5
DEDICATION
Dedicated to my parents,
Teruo and Hideo Inagi,
to my wife and children,
Rika, Sakura, and Eilee Inagi, and to my mentor, Douglas Bush
6
TABLE OF CONTENTS
LIST OF TABLES...... 7
LIST OF FIGURES...... 8
LIST OF MUSICAL EXAMPLES...... 10
ABSTRACT...... 11
I. INTRODUCTION...... 12
A. Intent and Scope of Study...... 12
II. THE NEUMEISTER COLLECTION...... 14
A. Historical Background of The Neumeister Collection...... 14
B. Attribution Problems...... 17
III. STATISTICALLY FORMULATED ANALYSIS...... 30
A. Intervallic, Contrapuntal, and Motion Analysis...... 30
B. Methodology...... 32
C. Computer-Assisted Charts and Graphs...... 40
D. Interpretation and Application...... 47
IV. CONCLUSION...... 69
APPENDIX A: TABULATED CHARTS AND GRAPHS...... 72
APPENDIX B. MATLAB TABULATOR CODE...... 198
REFERENCES...... 216
7
LIST OF TABLES
Table 1. Chorales of The Neumeister Collection and their concordant sources...... 18
Table 2. Wolff’s tentative attribution of the anonymous works...... 25
Table 3. Chorales with conflicting modern attributions...... 28
Table 4. Statistical analysis results of Wir glauben all an einen Gott...... 36
Table 5. Motion analysis of Ach Gott und Herr...... 39
Table 6. Manual and MATLAB analysis results of Wir glauben all an einen Gott...... 43
Table 7. MATLAB motion analysis of Ach Gott und Herr...... 45
Table 8. Contrapuntal analysis of J.M. Bach’s Dies sind die heilgen zehn Gebot...... 55
Table 9. Contrapuntal traits of selected works of J.M. Bach in The Neumeister Collection...... 57
Table 10. Contrapuntal traits of selected works of J.S. Bach in The Neumeister Collection...... 58
Table 11. Contrapuntal traits of selected works of J.C. Bach in The Neumeister Collection...... 59
Table 12. Contrapuntal traits of selected works of Pachelbel...... 60
Table 13. Contrapuntal traits of Zachow’s works in The Neumeister Collection...... 61
Table 14. Contrapuntal traits of all the composers in The Neumeister Collection...... 62
Table 15. Contrapuntal traits of the anonymous works in The Neumeister Collection...... 63
Table 16. Probable composers of anonymous works...... 69
8
LIST OF FIGURES
Figure 1. Analysis of melodic intervals in Wir glauben all an einen Gott, mm. 1-3...... 33
Figure 2. Complete analysis of Example 2 on a graph paper...... 35
Figure 3. Tabulated results of melodic and contrapuntal interval analysis...... 37
Figure 4. XML metadata and its output on Finale...... 41
Figure 5. Radar graphs of interval counts for Wir glauben formulated by both methods...... 45
Figure 6. Motion analysis radar graph of Ach Gott und Herr...... 46
Figure 7. Motion analysis bar graph of Ach Gott und Herr...... 46
Figure 8. Melodic analysis of the bass part in selected works by J.M. Bach...... 47
Figure 9. Melodic analysis of the bass part in selected works by J.S. Bach...... 48
Figure 10. Melodic analysis of the bass part in selected works by J. Pachelbel...... 48
Figure 11. Melodic analysis of the bass part from two anonymous works...... 49
Figure 12. Soprano-Tenor graphs of selected works by Johann Michael Bach...... 50
Figure 13. Soprano-Tenor graphs of selected works by Johann Sebastian Bach...... 50
Figure 14. Soprano-Tenor graphs of selected works by Johann Pachelbel...... 51
Figure 15. Soprano-Tenor graph of anonymous works in the The Neumeister Collection...... 52
Figure 16. Alto-Tenor graphs of selected works by Johann Michael Bach...... 52
Figure 17. Alto-Tenor graphs of selected works by Johann Sebastian Bach...... 53
Figure 18. Alto-Tenor graphs of selected works by Johann Pachelbel...... 54
Figure 19. Trait chart indicators...... 56
Figure 20. Motion analysis radar graphs of nos. 22, 44, and 63...... 64 9
Figure 21. Motion analysis radar graphs of nos. 29 and 41...... 64
Figure 22. Contrapuntal analysis of S-A and A-T pairs of nos. 29 and 41...... 65
Figure 23. Motion analysis radar graphs of nos. 31 and 43...... 66
Figure 24. Motion analysis radar graphs of nos. 20 and 34...... 66
Figure 25. Contrapuntal analysis of S-A and A-T pairs of nos. 20 and 34...... 67
Figure 26. Contrapuntal analysis of S-A S-T, and A-T pairs of nos. 62 and 76...... 68
10
LIST OF MUSICAL EXAMPLES
Musical Example 1. Wir glauben all an einen Gott, BWV 1098, mm. 1-3...... 33
Musical Example 2. Wir glauben all an einen Gott, BWV 1098, mm. 37-40...... 35
Musical Example 3. Ach Gott und Herr, BWV 714, mm. 1-4...... 38
Musical Example 4. Ach Gott und Herr, BWV 714, mm. 1-4...... 39
11
ABSTRACT
The noted Bach scholar Christoph Wolff and two other researchers made one of the more noteworthy musicological finds of the late twentieth century in 1984, when they first rediscovered and then published MS LM 4708 of the John Herrick Music Library of Yale
University. This MS, which was published under the title The Neumeister Collection, contains
82 organ chorales, many previously unknown, by members of the Bach circle. Of those 82 chorales, five pieces appear without attribution and six works have been published that were previously attributed to other composers. Wolff's edition, which lists composers for all 82 chorales, relies largely upon stylistic analysis when assigning attributions for pieces with multiple attributions.
This document introduces a new analytic tool that can be used to generate information relevant to questions of authorship in the Neumeister chorales; this important tool is a computer program called MATLAB. MATLAB can compile and tabulate information about the melodic, intervallic, and contrapuntal content of musical compositions by analyzing XML computer files produced by standard music software programs such as Finale or Sibelius. This data then can be used to generate graphs that can be compared between compositions. Such analysis sheds new light upon the musical choices of composers represented in The Neumeister Collection and makes possible more informed judgments about pieces with multiple attributions.
12
I. INTRODUCTION
A. Intent and Scope of Study
This study employs a computational program called MATLAB to address attribution
problems posed by some of the compositions in The Neumeister Collection of organ chorales
(Yale Univ. MS LM 4708), a well-known collection consisting of 82 chorales preludes by J.S.
Bach and members of his circle that was edited and published by the noted Bach scholar
Christoph Wolff in 1985-86.1 It contains thirty-eight compositions by Johann Sebastian Bach and thirty-nine works by composers of the immediately preceding generation.2 Until this collection was discovered, only eight chorale preludes comprised the complete known organ works of Johann Michael Bach, but the rediscovery of MS 4708 has added eighteen more works to his opus.3 However, the attributions given in this collection caused some problems, as some of these works have already been published under the name(s) of different composers, such as
Johann Pachelbel or Johann Sebastian Bach.4 For example, the Christmas pastorale In dulci
jubilo was ascribed to J.S. Bach and listed as BWV 751 by Max Seiffert in his edition,5 but its authenticity has always been a subject of contention. In The Neumeister Collection, this work is
1 Christoph Wolff, ed., The Neumeister Collection of Chorale Preludes from the Bach Circle (Yale University Manuscript LM 4708), Facsimile ed. with an Introduction (New Haven and London: Yale Univ. Press, 1986).
2 Wolff, Neumeister, 4.
3 Johann Michael Bach, Sämtliche Orgelchoräle, ed. C. Wolff (Stuttgart: Carus-Verlag, 1988), 5.
4 J.M. Bach, Orgelchoräle, 6.
5 Johann Sebastian Bach, Kompositionen für die Orgel, vol. 9, ed. M. Seiffert (Leipzig: Peters, 1904), 53-55. 13
attributed to J.M. Bach. In addition, six works (Nos. 4, 6, 29, 37, 39, and 55 in The Neumeister
Collection) have been attributed to Johann Pachelbel.6
Since over half of the pieces contained in this collection are transmitted in no other source, Wolff himself suggested that there could be questions about the certainty of the attributions.7 Thus, I have devised a method entitled "Computer-Assisted Contrapuntal,
Intervallic, and Motion Analysis" to assist in authenticating such works in this collection. It will be referred as CACIMA hereafter.
In this research project, 31 works were chosen for analysis. Some of these works have attribution issues and others have reliable attributions that can be confirmed with other primary sources. The aim of this study is to provide additional information that can be used to address questions concerning the authorship of those works with no attribution or more than one attribution. This paper is intended to serve as an introduction to CACIMA, and to suggest how this type of analysis can be applied to problems of attribution.
6 J.M. Bach, Orgelchoräle, 6.
7 Wolff, Neumeister, Introduction, 4. 14
II. THE NEUMEISTER COLLECTION
A. Historical Background of The Neumeister Collection
In the field of organ literature, one of the more important musical finds of the twentieth century was the discovery of an unpublished anthology of German Baroque keyboard music in the John Herrick Music Library at Yale University in 1982. The renowned
Bach scholar Christoph Wolff and Harvard University Professor Hans-Joachim Schultz, along with Yale University Librarian Harold E. Samuel, uncovered this collection, which is
catalogued as MS LM 4708 in the John Herrick Music Library. Wolff published a facsimile
edition of this collection in 1986 that documented its historical background and significance.
Wolff’s facsimile edition is entitled The Neumeister Collection of Chorale Preludes from the
Bach Circle. It will be referred as The Neumeister Collection hereafter.
According to Wolff, MS LM 4708 was compiled sometime after 1790 by Johann
Gottfried Neumeister (1757-1840), a pupil of Georg Andreas Sorge (1703-1778).8 The
inscription on the inside cover reads as follows:
I have received this collection of chorales as a token of remembrance from Herr conrector and organist Neumeister of Homburg vor der Höhe. He was a student of Sorge’s at Lobenstein. –C.H. Rinck9
This note refers to the fact that the Darmstadt court organist Rinck (1770-1846) had received this volume from Johann Gottfried Neumeister, who, from 1807 to 1831, was
8 J.S. Bach, Organ Chorales from the Neumeister Collection, ed. C. Wolff (New Haven: Yale Univ. Press, 1986), vi.
9 Wolff, Neumeister, Introduction, 2.
15
conrector and organist in Homburg. Christoph Wolff suggests that The Neumeister Collection
is a carefully selected anthology of chorale preludes with a clear preference for both the
classic Lutheran chorale repertoire and the conservative musical style of the inner Bach circle
from around the year 1700.10 The organization of this collection clearly shows two sections,
namely, that of the principal repertoire by the inner Bach circle, and that of a supplementary
repertoire by Neumeister’s teacher Sorge.
The Neumeister Collection contains 82 compositions, many previously unknown. The
MS attributes works to the following composers: J.S. Bach (38 works); Johann Michael Bach
(25); Johann Christoph Bach (3); Friedrich Wilhelm Zachow (4); Johann Pachelbel (1);
Daniel Erich (1); Georg Andreas Sorge (5); the remaining five works are anonymous.11
Wolff concluded that the design of the collection and the uniformity of the entries
suggest that everything but the Sorge chorales was copied from a single manuscript source
rather than from several different sources.12 According to Wolff, the five organ chorales of
Sorge represent by far the earliest stylistic layer in this collection and they were taken from
Sorge’s published collection of eight chorale preludes: Erster Theil der VORSPIELE.13
Interestingly, four of these three-part chorale settings form a closed group at the end of the manuscript (nos.79-82). No. 25 appears separately from the others. This piece was apparently
10 Wolff, Neumeister, Introduction, 4.
11 J.S. Bach, Organ Chorales, vi.
12 Christoph Wolff, Bach: Essays on His Life and Music (Cambridge MA: Harvard University Press, 1991), 113.
13 Wolff, Essays, 113.
16
entered on a page that had originally been left empty.14 It is unknown why only five of the eight chorales in VORSPIELE were copied into the volume. Since the page following the last chorale remained blank, it is unlikely that the remaining Sorge chorales were entered on the pages that were later cut out. Had the Sorge print been in Neumeister’s possession there would then have been no need to copy this material, but it must have been made available to him, because he copied these five chorales in exactly the same order as they appear in
VORSPIELE.15
Sorge’s preface in VORSPIELE discusses the function of the three-part chorale settings by comparing them to the difficult and demanding organ chorales in J.S. Bach’s
Clavier-Übung, part III (1739), and by analogy, this preface would refer to the overall purpose of The Neumeister Collection:
Next to the knowledge of figured bass, to which my “Vorgemach der musicalischen Composition”16 gives sufficiently comprehensive and detailed instructions, nothing is more important to the organist than he be adroit in preluding to the various chorales, according to their particular content, so that the congregation will be stimulated to sing the subsequent chorale with appropriate devotion. The preludes on the Catechism Chorales by Herr Capellmeister Bach in Leipzig are examples of this kind of keyboard piece that deserve the great renown they enjoy. But because works such as these are so difficult as to be all but unusable by young beginners and others who may lack the considerable proficiency they require, I have prepared, at the suggestion of my good friends as well as my own pupils, the following eight simple preludes, to be played only on the manuals, and I herewith publicly present them to
14 Wolff, Essays, 113.
15 Wolff, Essays, 113.
16 This source is translated and analyzed in Allyn Dixon Reilly, "Georg Andreas Sorge's Vorgemach der Musicalischen Composition: A Translation and Commentary (Vols. I, II, and III)” (PhD diss., Northwestern University, 1980).
17
those members of our musical youth who are eager to learn and to all devotees of this type of playing.17
A small group of compositions, including three by Johann Christoph Bach (1642-
1703), four by Friedrich Wilhelm Zachow (1663-1712), and one each by Johann Pachelbel
(1653-1706) and Daniel Erich (circa 1660-1730) complements the larger work groups of
Johann Michael Bach and Johann Sebastian Bach. It is significant that the works of both J.C.
Bach and Daniel Erich in The Neumeister Collection survive in no other source; the same
applies to two of the four Zachow works (Nos. 9 and 61).18
B. Attribution Problems
Although the attribution to these composers is clearly indicated in the manuscript
except for the anonymous works, for the majority of these pieces there are no concordant
sources to provide corroboration for the attributions. Notable exceptions, however, are
provided by three chorales attributed to J.S. Bach (BWV nos. 719, 742, and 957) whose
authorship previously has been questioned. The corroboration provided by The Neumeister
Collection for these works suggests that scholars should reconsider the criteria that
traditionally have been used to settle questions of attribution in the works of J.S.Bach.19
The following list (Table 1) presents the contents of The Neumeister Collection in the order of the manuscript and provides additional information with respect to their relevant
17 Wolff, Essays, 115.
18 Wolff, Neumeister, Introduction, 7.
19 Wolff, Neumeister, Introduction, 12.
18
concordances and attributions. The titles in bold are the works for which concordances were not known according to Wolff’s research at the time of the publication of The Neumeister
Collection.
Table 1. Chorales of The Neumeister Collection and their concordant sources20
No. Composer Title Concordant sources Notes
1 J.M. Bach Nun komm, der Heiden Heiland
2 J.M. Bach Meine Seele erhebt den Herren or Gott, sei uns gnädig und barmherzig
3 J.M. Bach Herr Christ, der einig Gottes
- Seiffert MS (lost). See Denkmäler Attributed to 4 J.M. Bach Nun freut euch, lieben Christen gmein der Tonkunst in Bayern Pachelbel by (DTB), Vol. 4, No.1 (anonymous) Seiffert - Berlin, Hochschule der Künste 5 J.M. Bach Nun freut euch, lieben Christen Bibliothek, Spitta collection gmein, or Es ist gewisslich an der Zeit (“J.M.B.”) - Königsberg Uni. Lib., MS 15839 (lost)21 (anonymous)
6 J.M. Bach Gott hat das Evangelium [I] - Berlin Deutsche Staatsbibliothek, 7 J.M. Bach Gott hat das Evangelium [II] MS 22541 (“JP”) - Berlin Staatsbibliothek Preussischer Kulturbesitz, MS 30280 (“J. Pachelbel”) - Leipzig Musikbibliothek, Poel. MS 8 J.M. Bach Gelobet seist du, Jesu Christ 39 (“J.S. Bach”)
9 F.W. Zachow Gelobet seist du, Jesu Christ
- Berlin Deutsche Staatsbibliothek, 10 F.W. Zachow Vom Himmel hoch, da komm ich her MS 22541 (“Zachow”) - Berlin, Hochschule der Künste BWV 719 11 J.S. Bach Der Tag, der ist so freudenreich, or Bibliothek, Spitta collection MS Ein Kindelein so löbelich 1491 (“J.S.Bach”) - Leipzig Musikbibliothek der Stadt, 12 J.M. Bach In dulci jubilo MS 7 (“di Bach”)
20 Wolff, Essays, 122-27.
21 The original manuscript has been lost since 1937. A film copy exists in the Nachlass Karl Matthaei in the Archiv des Musikkollegiums from the Stadtbibliothek Winterthur. 19
13 D. Erich Christum wir sollen loben schon
BWV 1090 14 J.S. Bach Wir Christenleut
BWV 1091 15 J.S. Bach Das alte Jahr vergangen ist
BWV 1092 16 J.S. Bach Herr Gott, nun Schleuss den Himmel auf BWV 1093 17 J.S. Bach Herzliebster Jesu, was hast du verbrochen BWV 1094 18 J.S. Bach O Jesu, wie ist dein Gestalt
BWV 1095 19 J.S. Bach O Lamm Gottes unschuldig
Partial concordance: BWV 1096 20 J.S. Bach Christe, der du bist Tag und Licht or - Königsberg Uni. Lib. MS 15839 Wir danken dir, Herr Jesu Christ (lost; see n.21) (“J.S. Bach”) BWV 1097 21 J.S. Bach Ehre sei dir, Christe, der du leidest Not - Berlin Staatsbibliothek Preussischer 22 Anonymous Christ lag in Todesbanden Kulturbesitz, MS 22541 (“JHB”) - Berlin, Hochschule der Künste Bibliothek, Spitta collection MS 1491 (“Joh. Pachelbel”) - Yale Uni. Mus. Lib. MS LM 4983 (“Pachelbel”)
23 J.M. Bach Jesus Christus, unser Heiland, der den Tod überwand
24 J.M. Bach O Herr, Gott Vater in Ewigkeit
Sorge’s Erster Theil der Vorspiele, 25 G.A. Sorge Vater unser im Himmelreich P 1 (“G.A. Sorge”) - Plauener Orgelbuch, No. 161 26 J.M. Bach Der du bist drei in Einigkeit (“anonymous”) - Königsberg Uni. Lib. MS 15839 (lost; see n.21) (“anonymous”) - Berlin Deutsche Staatsbibliothek, MS 30245 (“anonymous”)
27 J.C. Bach Allein Gott in der Höh sei Ehr
- Königsberg Uni. Lib. MS 15839 28 J.M. Bach Allein Gott in der Höh sei Ehr (lost; see n.21) (“J.M.Bach”) - Den Haag, Gemeente Museum MS 4.G.14 (“J.M.Bach”) - Plauener Orgelbuch, No. 186 Attributed to 29 J.M Bach Mag ich Unglück nicht widerstahn (“anonymous”) J.M. Bach by - Den Haag, Gemeente Museum Seiffert in MS 4.G.14 (“JP”) P.O. 20
- Plauener Orgelbuch, No. 60 and 249 30 J.M Bach Dies sind die heilgen zehn Gebot (“J.M.Bach”) - Königsberg Uni. Lib. MS 15839 (lost; see n.21) (“J.M.Bach”) BWV 1098 31 J.S. Bach Wir glauben all an einen Gott
BWV 1099 32 J.S. Bach Aus tiefer Not schrei ich zu dir
BWV 1100 33 J.S. Bach Allein zur dir, Herr Jesu Christ
- Plauener Orgelbuch, No. 240 34 J. Pachelbel Allein zur dir, Herr Jesu Christ (“Pachelbel”) - Berlin Deutsche Staatsbibliothek, MS 30245 (“Pachelbel”) - Königsberg Uni. Lib., BWV 714 35 J.S. Bach Ach, Gott und Herr MS 15839 (lost; see n.21) (“J.S. Bach”) - Den Haag, Gemeente Museum MS 4.G.14 (“J.S. Bach”) Berlin Staatsbibliothek Preussischer BWV 742 36 J.S. Bach Ach Herr, mich armen Sünder Kulturbesitz, MS 40037 (“J.S. Bach”) - Seiffert MS (lost). See Denkmäler published 37 J.M. Bach Auf meinen lieben Gott or Wo soll ich der Tonkunst in Bayern (DTB), under fliehen hin Vol. 4, No.1 (“anonymous”) Pachelbel BWV 1101 38 J.S. Bach Durch Adams Fall ist ganz verderbt
- Königsberg Uni. Lib. MS 15839 published 39 J.M. Bach Nun lasst uns Gott, dem Herren or (“anonymous”) (lost; see n.21) under Wach auf, mein Herz, und singe Pachelbel BWV 1102 40 J.S. Bach Du Friedefürst, Herr Jesu Christ
- Berlin Staatsbibliothek Preussischer 41 Anonymous Was mein Gott will, das g’schen Kulturbesitz, MS 11419 allzeit (“Pachelbel”)
42 J.M. Bach Kommt her zu mir, spricht Gottes Sohn
43 Anonymous Ich ruf zu dir, Herr Jesu Christ
44 Anonymous Ich ruf zu dir, Herr Jesu Christ
45 J.M. Bach Der Herr ist mein getreuer Hirt
46 J.M. Bach Warum betrübst du dich, mein Herz
- Plauener Orgelbuch, No. 182 47 J.M. Bach Von Gott will ich nicht lassen (“J.M.Bach”) - Berlin Deutsche Staatsbibliothek, MS 30245 (“J.M.Bach”) 21
BWV 1103 48 J.S. Bach Erhalt uns, Herr, bei deinem Wort
- Königsberg Uni. Lib. MS 15839 BWV 737 49 J.S. Bach Vater unser im Himmereich or (lost; see n.21) (“J.S.Bach”) Nimm von uns, Herr, du treuer Gott - Den Haag, Gemeente Museum MS 4.G.14 (“J.S.Bach”) BWV 1104 50 J.S. Bach Wenn dich Unglück tut greifen an
BWV 1105 51 J.S. Bach Jesu, meine Freude
BWV 1106 52 J.S. Bach Gott ist mein Heil, mein Hilf und Trost - Königsberg Uni. Lib. MS 15839 J.H. 53 J.M. Bach Ach Gott, vom Himmel sieh darein (lost; see n.21) (“JHB”) Buttstedt’s - Plauener Orgelbuch, No. 180 work (“JHB”) incorrectly attributed
54 J.M. Bach Es spricht der Unweisen Mund wohl
- Königsberg Uni. Lib. MS 15839 55 J.M. Bach Wo Gott, der Herr, nicht bei uns hält (lost; see n.21) (“anonymous”) or Ach lieben Christen, seid getrost - Den Haag, Gemeente Museum MS 4.G.14 (“anonymous”) - Berlin Deutsche Staatsbibliothek, MS 30245 (“J.M.Bach”)
56 J.C. Bach An Wasserflüssen Babylon
BWV 1107 57 J.S. Bach Jesu, meines Lebens Leben
BWV 1108 58 J.S. Bach Als Jesus Christus in der Nacht
BWV 1109 59 J.S. Bach Ach Gott, tu dich erbarmen
BWV 1110 60 J.S. Bach O Herre Gott, dein göttlich Wort
61 F.W. Zachow Wie schön leuchtet der Morgenstern
Yale Uni. Lib. LM 2769 62 Anonymous Heut triumphieret Gottes Sohn (“F.W. Zachow”) - Plauener Orgelbuch, No. 190 published 63 J.M. Bach Wenn mein Stündlein vorhanden ist (“J.M.Bach”) under - Königsberg Uni. Lib. JS Bach MS 15839 (lost; see n.21) - Den Haag, Gemeente Museum MS 4.G.14 (“J.M.Bach”) BWV 1111 64 J.S. Bach Nun lasst uns den Leib begraben
BWV 1112 65 J.S. Bach Christus, der ist mein Leben 22
BWV 1113 66 J.S. Bach Ich hab‘ mein Sach Gott heimgestellt BWV 1114 67 J.S. Bach Herr Jesu Christ, du höchstes Gut
BWV 1115 68 J.S. Bach Herzlich lieb hab‘ ich dich, o Herr
BWV 1116 69 J.S. Bach Was Gott tut, das ist wohlgetan
BWV 1117 70 J.S. Bach Alle Menschen müssen sterben
Frankfurt Mozart-Stiftung, Music BWV 957 71 J.S. Bach Machs mit mir, Gott, nach deiner Güt manuscript, ”140 variirte Choräle von Joh. Sebastian Bach“ BWV 1118 72 J.S. Bach Werde munter, mein Gemüte
BWV 1119 73 J.S. Bach Wie nach einer Wasserquelle
74 J.C. Bach Wer Gott vertraut
BWV 1120 75 J.S. Bach Christe, der du bist der helle Tag
- Plauener Orgelbuch, No. 227 76 F.W. Zachow Erbarm dich mein, o Herre Gott (“F.W. Zachow”) - Den Haag, Gemeente Museum MS 4.G.14 (“F.W. Zachow”) - Berlin Deutsche Staatsbibliothek, MS 30245 (“F.W. Zachow”) - Berlin Staatsbibliothek Preussischer BWV 639 77 J.S. Bach Ich ruf zu dir, Herr Jesu Christ Kulturbesitz, MS 22541 (“J.S. Bach”) - Berlin Staatsbibliothek Preussischer BWV 601 78 J.S. Bach Herr Christ, der einig Gotts Sohn Kulturbesitz, MS 22541 (“J.S. Bach”) - Den Haag, Gemeente Museum MS 4.G.14 (“J.S. Bach”) - Sorge’s Erster Theil der Vorspiele, 79 G.A. Sorge Auf, Christenmensch p. 2 (“G.A. Sorge”) - Sorge’s Erster Theil der Vorspiele, 80 (G.A. Sorge) Wo Gott, der Herr, nicht gibt sein p. 3 (“G.A. Sorge”) Gunst - Sorge’s Erster Theil der Vorspiele, 81 G.A. Sorge Herr Jesu Christ, du höchstes Gut p. 4 (“G.A. Sorge”) - Sorge’s Erster Theil der Vorspiele, 82 G.A. Sorge Freu dich sehr, o meine Seele p. 5 (“G.A. Sorge”)
As shown on the above list, The Neumeister Collection provides the only source for
48 of the 82 chorales, as well as shedding new light upon the attributions of several pieces 23
found in concordant sources. For instance, the setting In dulci jubilo (No. 12) was previously
known only from the Mempell-Preller collection, where it is identified simply as “di Bach.”
It was ascribed to Johann Sebastian Bach and listed as BWV 751, but its authenticity was
always considered doubtful.22 MS LM 4708 lists Johann Michael Bach as the composer of
this work.
According to Wolff’s study on the manuscript sources of Mag ich Unglück nicht widerstahn, this chorale appears anonymously in the Plauener Orgelbuch, however, the
editor Seiffert ascribed it to J.M. Bach on stylistic grounds.23 Additionally, this work is attributed to Pachelbel in the Walther’s MS as shown in Table 1. Wolff has stated “the attribution of twenty-five chorale preludes in MS LM 4708 to Johann Michael Bach is unequivocal and, therefore, clarifies a number of questions of authenticity...There is no reason to doubt the reliability of Neumeister’s source,”24 however, he has not provided
evidence supporting his assertion that MS LM 4708 is especially authoritative for the works of J.M. Bach.
Questions remain concerning the attributions of several chorales ascribed to J.M.
Bach in MS LM 4708. As shown in Table 1, some works have concordant sources whose
attribution does not match the attribution given in The Neumeister Collection. For example,
Gott hat das Evangelium (No.7) is ascribed to J.M Bach in The Neumeister Collection,
however, two concordant sources both ascribed this chorale to Pachelbel. It is not clear why
22 Wolff, Essays, 117.
23 Wolff, Essays, 117.
24 Wolff, Essays, 117.
24
Wolff consider Neumeister’s attribution to be more reliable than other two manuscript sources. Moreover, in the Preface to The Neumeister Chorales Wolff stated that there were no concordances for Ach Gott, vom Himmel sieh darein (no.53), a work ascribed in MS LM
4708 to J.M. Bach. After his publication, however, he discovered a concordance for this
chorale, which led him in 1998 to change his attribution from J.M Bach to Johann Heinrich
Buttstedt.25 He refers to this chorale as “a work by Johann Heinrich Buttstedt that is incorrectly attributed to Johann Michael Bach in the Neumeister manuscript” in the preface of his publication J.M. Bach: The Complete Organ Chorales.26 Wolff’s own change of mind concerning this chorale calls into question his prior assertion that “there is no reason to doubt the reliability of Neumeister’s source,” especially given that in at least one instance he himself does not agree with LM 4708’s attribution.
Some MS sources of the chorales introduce attribution problems by spelling
Pachelbel’s name Bachelbel or using abbreviations such as Bach or the initials J.B. or B. when referring to works by Pachelbel.27 This is applicable particularly to the works of J.M.
Bach. The Neumeister Collection lists J.M. Bach as the composer of five chorale preludes that were previously ascribed to Pachelbel (Nos. 4, 7, 29, 37, and 39).28 As shown in Table 1,
Nos. 4, 37, and 39 appeared anonymously in the MS sources, however, Seiffert attributed
25 Wolff, Essays, 126.
26 J.M. Bach, Orgelchoräle, 7.
27 Wolff, Essays, 117.
28 Wolff, Neumeister, Introduction, 8
25
these pieces to Pachelbel without providing clear explanations. Walther’s MS attributed Nos.
7 and 29 to Pachelbel.
In a number of instances the Neumeister attribution is supported through concordant sources, as was noted previously in connection with J.S. Bach’s chorales BWV 719, 742, and
957. In only six instances (Nos. 22, 41, 43, 44, 62, and 80) is no composer indicated. The absence of the composer’s name in No. 80 is clearly due to an oversight because all the Sorge pieces are taken from the same collection and appear in the same order as mentioned before.
Wolff suggests that similar negligence may have been the reason for the other missing names and thus, it is quite likely that the names left out are closely related to the composers directly before or after them.29 From this line of reasoning, Wolff suggested tentative attributions for anonymous works in The Neumeister Collection as listed on Table 2.
Table 2. Wolff’s tentative attribution of the anonymous works
No. Title Attribution 22 Christ lag in Todesbanden J.M. Bach or J.S. Bach 41 Was mein Gott will, das g’scheh allzeit J.S. Bach or J.M. Bach 43 Ich ruf zu dir, Herr Jesu Christ J.M. Bach 44 Ich ruf zu dir, Herr Jesu Christ J.M. Bach 62 Heut triumphieret Gottes Sohn F.W. Zachow or J.M. Bach
Wolff then adds the following comments:
The stylistic evidence helps to clarify the situation in that Nos. 22, 43, 44, 62 can hardly be works of Johann Sebastian Bach, but rather must have been composed by a musician of the elder generation. Here the most likely candidate is Johann Michael Bach, though for No. 62 Zachow cannot be
29 Wolff, Neumeister, Introduction, 10-11.
26
excluded. A solution for No. 41 cannot easily be reached. It resembles those compositions of Johann Sebastian Bach in MS LM 4708 (The Neumeister Collection) that display a more conservative mold, such as Nos. 59, 69, or 73, and therefore may well have been written by him. But there is no decisive evidence to tip the balance clearly toward Johann Sebastian rather than his father-in-law.
This same statement is included verbatim in his publication five years later.30 Shortly
after the publication of Organ Chorales from the Neumeister Collection, an edition
containing only organ chorales by J.S. Bach was published, James Dalton wrote a review of
this collection that stated:
Although the diplomatic part of the editorial work has been pursued as thoroughly and conclusively as seems possible, the question of musical style is altogether more elusive, and any attribution is not more than provisional, even if probable.31
To which Wolff responded:
If you look at the stylistic features of the 33 chorales (of J.S. Bach), they are clearly set off from music written by previous generations of the Bach family. Bach research and source studies are extremely sophisticated today. To my mind, there is absolutely no doubt that the chorales are by J.S. Bach.32
Peter Williams agrees that these works were by J.S. Bach,33 but still admits that there
is no definitive way to authenticate these works. Sara Jones examined the works by J.S. Bach
30 Wolff, Essays, 121.
31 James Dalton, review of Organ Chorales from the Neumeister Collection (Yale University, Manuscript LM 4708), ed. Christoph Wolff, Music and Letters 68 (1987): 196.
32 Dalton, review, 196.
33 Peter Williams, review of The Neumeister Collection of Chorale Preludes from the Bach Circle (Yale University, Manuscript LM 4708), ed. Christoph Wolff, Early Music 15 (1987): 95. 27
and discussed their usage as service music and pedagogical tools.34 Additionally, Stinson provides some evidence that casts doubt on the reliability of Neumeister’s attribution to J.S.
Bach. This evidence is drawn from a now-lost manuscript in the hand of J.G. Walther that
attributed Christe, der du bist Tag und Licht (No. 20) to Pachelbel.35
It is not easy to differentiate the compositional styles of young J.S. Bach (Pre-Weimar
works) and J.M. Bach, given their close relationship. Since Johann Sebastian Bach married
Johann Michael Bach’s daughter in 1707, it would be natural and reasonable to make the
assumption that Johann Sebastian came to know his father-in-law’s music through his wife.
Wolff suggests that J.S. Bach was acquainted with Johann Michael’s chorales as early as his
Ohrdruf years (1695-1700).36 Table 3 presents the list of the works that have conflicting modern attributions and provides the history of the attribution changes.
34 Sara A. Jones, “The Neumeister Collection of Chorale Prelude of the Bach Circle: An Examination of the Chorale Preludes of J. S. Bach and Their Usage as Service Music and Pedagogical Works” (DMA diss., Louisiana State University, 2002), 9-54.
35 Russell Stinson, “Some Thoughts on Bach’s Neumeister Chorales,” The Journal of Musicology 11 (1993): 456.
36 Wolff, Essays, 116.
28
Table 3. Chorales with conflicting modern attributions37
No. Title Notable information Nun freut euch, lieben Christen Previously attributed to J. Pachelbel in Orgelkompositionen by Max Seiffert, but currently attributed to Johann Michael 4 gmein Bach by Christoph Wolff. Previously attributed to J. Pachelbel in Orgelkompositionen 6 Gott hat das Evangelium by Max Seiffert, but currently attributed to Johann Michael Bach by Wolff. Previously attributed to Johann Christoph Bach in manuscript 11 Der Tag der ist so freudenreich Spitta I, but curretnly attributed to Johann Michael Bach by Wolff. In dulci jubilo Previously attributed to J.S. Bach by Seiffert and listed as 12 BWV 751, but currently attributed to J.M Bach by Wolff. Currently listed as BWV 1096 by Wolff, but Hartmann Christe, der du bist Tag und Licht 38 20 suggests it is composed by J. Pachelbel. Previously attributed to J. Pachelbel in Orgelkompositionen 29 Mag ich Unglück nicht widerstahn by Max Seiffert, but currently attributed to Johann Michael Bach by Wolff. Previously attributed to J. Pachelbel in Orgelkompositionen 37 Auf meinen lieben Gott by Max Seiffert, but currently attributed to Johann Michael Bach by Wolff. Previously attributed to J. Pachelbel in Orgelkompositionen 39 Nun lasst uns Gott, dem Herren by Max Seiffert, but currently attributed to Johann Michael Bach by Wolff. Previously attributed to J.M Bach in The Neumeister 53 Ach Gott, vom Himmel sieh darein Collection by Wolff, but currently attributed to J. H. Buttstedt in The Complete works of Johann Michael Bach by Wolff. 39 Previously attributed to J.S. Bach by August G. Ritter, but 63 Wenn mein Stündlein vorhanden ist currently attributed to J.M Bach by Wolff.
It is noteworthy that some of Wolff’s attributions for the anonymous works in The
Neumeister Collection were changed by Wolff himself in Johann Michael Bach: The Complete
Organ Chorales. For instance, in The Neumeister Collection Wolff suggests J.S. Bach and J. M.
Bach as two possible composers for the chorale Christ lag in Todesbanden (No. 22), based on stylistic and harmonic traits, as mentioned above. However, he subsequently found additional
37 Unless otherwise noted, all references in Table 3 are drawn from Wolff, Neumeister, Introduction, 12-14.
38 Russell Stinson, Some Thoughts, 456.
39 J.M. Bach, Orgelchoräle, 6.
29
MS sources, which caused him to change the attribution to J. Pachelbel in Johann Michael Bach:
The Complete Organ Chorales.40 Exactly the same thing happened in the case of Was mein Gott
will, das g’scheh allzeit (No. 41).41
Such issues of attribution demonstrate the limitation of traditional analytic methods and
suggest the need for additional tools to help authenticate authorship of organ chorales.
40 J.M. Bach, Orgelchoräle, 7-8.
41 J.M. Bach, Orgelchoräle, 7-8. 30
III. STATISTICALLY FORMULATED ANALYSIS
A. Intervallic, Contrapuntal, and Motion Analysis
Although for decades computers have been used for analysis in a variety of scholarly disciplines, computer analysis has not been applied to help solving attribution problems in the field of organ chorales. This is somewhat surprising, for in 2000 Nico Schuler listed approximately 1700 published and unpublished writings that make use of computer-assisted analysis.42 That much of this analysis needs updating is suggested, however, by the fact that most of the computer systems used in these analyses utilized FORTRAN-based programs with punch-card systems, and even the latest system in his reviews used an MS-DOS-based program.
Alexander Brinkman’s study is the only one listed by Schuler that deals with organ chorale preludes. He coded a computer program that would tabulate melodic intervals of each voice of organ chorale preludes, which he used for the works in J.S. Bach’s Orgelbüchlein.43 His primary objective was to examine melodic relationships between the cantus firmus and the contrapuntal voices in the chorale preludes. His interest was to extract correlations between the melodic patterns or contours of the cantus firmus and those of the other “accompanimental” voices. It has been well over a quarter of a century since Brinkman used a computer with punch- card system for his analysis. Given that personal computers are now capable of accomplishing the task that had been handled by a super-computer of the last century, it is now possible to develop a computer-assisted system that could automatically measure and categorize intervallic
42 Nico Stephan Schuler, “Methods of Computer-Assisted Music Analysis: History, Classification, and Evaluation” (PhD diss., Michigan State University, 2000).
43 Alexander R. Brinkman, “Johann Sebastian Bach’s Orgelbuchlein: Computer-Assisted Study of the Melodic Influence of the Cantus Firmus on the Contrapuntal Voices” (PhD diss., University of Rochester, 1978). 31
relations between each note in the score to provide materials for analysis that could assist with
authentication procedures for organ works, particularly for chorale preludes. Although such
analysis could be done manually, this type of interval and note counting is very time-consuming,
which encourages the development of computer software to automate the process.
Musical works often contain “signature” elements (e.g., characteristic motivic patterns,
formal designs, harmonic language, etc.). Careful analysis typically allows scholars to identify
defining characteristics or elements that can serve as clues to the composer’s identity. Thus,
many of the current attributions depend on such analysis. Contrapuntal writing style is one of
these elements and its analysis could reveal how composers treat each note against other notes in
their works.
“Computer-Assisted Contrapuntal, Intervallic, and Motion Analysis” is informed by statistical data used to evaluate how each note is treated in relation to other notes in the composition. Composers in the Bach circle worked in a highly-developed contrapuntal language. Because the use of consonance and dissonance between any given pair of voices is strictly controlled in this discipline, CACIMA attempts to reveal the composer’s compositional tendencies or ‘habits’ by analyzing contrapuntal intervals and motions.
32
B. Methodology
In order to analyze organ chorales using the computer, a clear system of analysis must be established. This study analyzes the following three aspects of the counterpoint in the
Neumeister chorales: (1) melodic (linear) intervals of each voice; (2) contrapuntal (vertical) intervals of each pair; (3) motion of each pair. A melodic interval is the distance a melody moves from one note to the next and is measured by the number of half-steps between the two notes and the direction of movement. A contrapuntal interval is how one voice is harmonized with the other voice and is measured by standard interval nomenclature used in music theory. Lastly, motion is determined by how a pair of voices moves in relation to each other. According to standard music theory, there are four possible motions (parallel, similar, contrary, and oblique).
The detailed procedures of each analysis are provided below.
Melodic Interval Analysis
1. Start with the highest voice and analyze the melodic interval from one note to the next.
2. Measure the melodic interval by means of number of half-steps from -12 to 12.
(Up motions are positive numbers and down motions are negative numbers.
For example, a step motion from C to D is +2 and a downward leap from C to F# is -6.)
3. All the other intervals (larger than octaves) are in “other” category.
4. The duration of each note is not considered.
5. The first note of the piece does not count. 33
6. If there is more than one measure of rest in the part, the following note does not count, as in
the case of the first note.
Example 1 shows the opening three measures of Wir glauben all an einen Gott, BWV
1098 and Figure 1 shows the analysis of each voice on a graphing paper. Please note that each square in Figure 1 represents an eighth note, which is the shortest duration of the piece.
Musical Example 1. Wir glauben all an einen Gott, BWV 1098, mm. 1-3
Soprano • 7 -2 2 -5 1 2 -2 Alto • 5 -2 2 Tenor Bass
Figure 1. Analysis of melodic intervals in Wir glauben all an einen Gott, mm. 1-3
34
Contrapuntal Interval Analysis
1. Start with a pair from the highest voices. Most of the chorale preludes have four parts
(soprano, alto, tenor, and bass), so the six possible combinations from the highest to lowest
are S-A, S-T, S-B, A-T, A-B, T-B.
2. Determine the ‘unit’ duration or resolution of the contrapuntal analysis. This is most likely
determined by the shortest notes that occur fairly frequently (this becomes one square on a
sheet of graph paper).
3. Identify the interval of each ‘unit’ between the two voices by standard music interval
nomenclature used in the music theory from unison to major 10th. All the other compound
intervals are reduced to simple intervals within an octave. The following list provides the
names of the intervals and their abbreviations.
Unison Uni minor 2nd m2 Major 2nd M2 minor 3rd m3
Major 3rd M3 Perfect 4th P4 Tritone (Aug. 4th & dim. 5th) TT Perfect 5th P5 minor 6th m6
Major 6th M6 th minor 7 m7 Major 7th M7 Octave P8 minor 9th m9
Major 9th M9 minor 10th m10 Major 10th M10 All the other intervals oth
35
Musical Example 2 is a musical excerpt from the same piece as above and Figure 2 is the complete analysis that contains both melodic and contrapuntal analyses of this section on graph paper.
Musical Example 2. Wir glauben all an einen Gott, BWV 1098, mm. 37-40
Figure 2. Complete analysis of Example 2 on a graph paper
4. Count the number of occurrences of each interval.
Table 4 shows the statistical results of each interval of Wir glauben all an einen Gott.
36
Table 4. Statistical analysis results of Wir glauben all an einen Gott
Melodic Intervals
-12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 + S 0 0 0 0 0 0 2 5 0 3 40 29 2 26 21 4 1 2 0 4 2 0 0 0 0 0 A 0 0 0 0 0 1 0 2 3 2C ontrapuntal40 25 8 Interval27 29 4 1 7 0 0 0 0 0 0 0 0 T 0 0 0 0 0 1 0 4 2 9 43 26 1 29 32 6 3 4 0 4 1 0 0 0 0 0 B 0 0 0 0 1 3 0 5 4 2 19 13 2 15 12 1 0 8 0 2 0 0 0 0 2 0
Contrapuntal Intervals
Uni m2 M2 m3 M3 P4 TT P5 m6 M6 m7 M7 P8 m9 M9 m10 M10 oth
S-A 7 6 22 69 43 78 40 56 32 20 10 9 7 0 0 2 2 5 S-T 0 0 0 0 4 21 16 56 36 59 18 4 53 10 11 61 20 0 S-B 0 0 0 0 0 15 16 37 12 18 13 3 38 1 19 54 42 0 A-T 3 3 8 68 58 62 23 60 32 31 15 5 18 0 4 14 10 2 A-B 0 0 0 0 0 7 10 43 23 39 17 11 49 3 13 61 23 3 T-B 4 0 6 28 13 15 7 49 23 23 12 2 40 0 5 33 25 1
5. The final procedure is to formulate radar graphs from these numbers. The graphs in Figure 3
are formulated by Excel.
37
Melodic Intervals Contrapuntal Intervals
Figure 3. Tabulated results of melodic and contrapuntal interval analysis
38
Motion Analysis
1. Start with a pair from the highest voices. As in the contrapuntal analysis, there are six
possible combinations from the highest to lowest which are S-A, S-T, S-B, A-T, A-B, T-B.
2. Determine the motion of a pair. In this analysis, motion is analyzed only when the two
voices play a new note or a repeated note at the same time. This is important because in
many cases only one of the voices moves to a new note while the other is holding a note as a
tie (or just a longer note value) which in effect results in “pseudo-oblique” motion. Thus
such motion is not counted for this analysis because this occurs too often compared to the
other motions, however, CACIMA does count “real oblique” motions. Musical Example 3 is
the first 4 measures of J.S. Bach’s Ach Gott und Herr (BWV 714) and it shows how a pair
of voices is analyzed.
Musical Example 3. Ach Gott und Herr, BWV 714, mm. 1-4
Because of the visual clarity, only a few adjacent voices are labeled in this example. In the first
measure, both the soprano and the alto parts move up a third into the second measure at the same
time, so this is counted as parallel motion. The tenor part, however, moves up a fourth which
creates similar motion with the alto line. From the second measure to the third measure, oblique 39
motion is observed between the tenor and the bass. Musical Example 4 shows some examples of the motion analysis of non-adjacent pair (soprano and tenor).
Musical Example 4. Ach Gott und Herr, BWV 714, mm. 1-4
3. The next step is to count the occurrence of these motions in each pair. Table 5 shows the total occurrences of these motions of every pair in this entire work of J.S. Bach.
Table 5. Motion analysis of Ach Gott und Herr
Parallel Similar Contrary Oblique S-A 13 8 25 2 S-T 18 7 20 2 S-B 4 12 24 2 A-T 23 6 31 4 A-B 19 5 42 3 T-B 9 8 23 4
Such statistical data could be useful for graph tabulation or other data analysis; however, this process is extremely time-consuming when it is done by hand, and also the quality of the data could suffer, as human errors are unavoidable. Thus, the next section will discuss how to computerize the analyses.
40
C. Computer-Assisted Charts and Graphs
Recent development and innovations in music notation software and computational programs have made it possible to automate some of these procedures. Dr. Quinton Hurst, who is a senior project manager at the Raytheon Company, helped to develop a computer program for this purpose. Consultations with Dr. Hurst and a process of trial and error led to the development of the computational procedures to produce analytical data and graphs. The following describes each step of this process.
1. Create a “clean” score in Finale notation. (In this study, Finale 2012 was used.)
a. It is possible to scan music scores directly into Finale, however, the metadata of the
scanned score contain much unnecessary information, which cause unexpected errors
on the tabulation program. Also, the placement of contrapuntal lines (voices) with
respect to the optimum voice assignment that might have appeared in the source
material is not always accurate.
b. Minimize the use of transposition or key signature change because it could create
unnecessary information in metadata.
c. “Clean” score means that the key signature is set before inputting the very first note of
the score and each note is specified in terms of the voice to which it belongs.
2. Convert a Finale file to an XML file.
a. XML (Extensible Makeup Language) format is a technology concerned with the
description and structuring of data. It is a standard text file that describes the content 41
of the data that could be converted into different formats or opened on different
programs.44
b. Finale has a function to export the score into an XML file.
3. How XML files work
a. The tabulation program will run on the computational software called MATLAB.
b. Because an XML file is a text file, MATLAB can read it in order to extract necessary
information from the notational information. Figure 4 shows how each note is
described in XML format.
Figure 4. XML metadata and its output on Finale
As shown above, an XML file contains many “tags” to define each note.
44 David Hunter, Beginning XML (Indianapolis: Wiley Publishing, Inc., 2007), 7. 42
accidental in terms of number of half-steps
4. MATLAB tabulation code
a. Determine the size of the holding array (stores information) and the length of the piece
b. Determine the number of voices
c. Set up the holding array for pitch information for all the voices
d. Assign pitch or rest information to each location of the array
e. Assign absolute pitch number to all the notes - For almost all organ music, the lowest notes do not go below two octaves below middle C, but for the possibility of extension of its use in the future, three octaves below middle C is set to pitch number 1. Thus, the absolute pitch number of middle C is 37.
f. Tabulate melodic intervals - Determine the melodic interval when there is a new note or a repeated note. - Note: Any notes that come after a rest are not considered. - The intervals are calculated in terms of number of half-steps and the direction of the movement.
g. Tabulate contrapuntal intervals - Determine the contrapuntal interval when both voices are sounding together. 43
- Note: Because the program only considers contrapuntal intervals by means of the number of half-steps, uncommon types of diminished and augmented intervals are interpreted as the enharmonic equivalent of the standard intervals. For example, the augmented 5th is counted as a minor 6th because they are both 8 half- steps, and the diminished 4th is counted as a major 3rd because they are both 4 half-steps.
h. Formulate radar graphs from the tabulated results
- Dr. Hurst’s tabulation code actually produces radar graphs, however, Microsoft Excel is used to formulate graphs for editing purposes in this study.
Table 6 compares the results of manually formulated tabulation and the MATLAB tabulation.
Table 6. Manual and MATLAB analysis results of Wir glauben all an einen Gott
Manually formulated results
Uni m2 M2 m3 M3 P4 TT P5 m6 M6 m7 M7 P8 m9 M9 m10 M10 oth
S-A 7 6 22 69 43 78 40 56 32 20 10 9 7 0 0 2 2 5 S-T 0 0 0 0 4 21 16 56 36 59 18 4 53 10 11 61 20 0 S-B 0 0 0 0 0 15 16 37 12 18 13 3 38 1 19 54 42 0 A-T 3 3 8 68 58 62 23 60 32 31 15 5 18 0 4 14 10 2 A-B 0 0 0 0 0 7 10 43 23 39 17 11 49 3 13 61 23 3 T-B 4 0 6 28 13 15 7 49 23 23 12 2 40 0 5 33 25 1
Tabulated by MATLAB code
Uni m2 M2 m3 M3 P4 TT P5 m6 M6 m7 M7 P8 m9 M9 m10 M10 S-A 7 6 22 71 44 78 40 56 33 21 10 9 7 0 0 2 2 S-T 0 0 0 0 4 21 16 56 36 59 18 4 53 10 11 61 20 S-B 0 0 0 0 0 15 16 37 12 18 13 3 38 1 19 54 42 A-T 3 3 8 69 58 62 23 60 33 31 15 5 18 0 4 14 10 A-B 0 0 0 0 0 7 10 43 24 39 17 11 49 3 13 61 25
T-B 4 0 6 28 14 15 7 49 23 23 12 2 40 0 5 33 25
44
Composers choose “uncommon types of intervals” such as augmented 5th rather than minor 6th or diminished 4th rather than major 3rd for harmonic and melodic reasons. Among the
Neumeister chorales such unusual interval spellings almost always result from sequential patterning or neighbor or passing motions. For example, five cases of uncommon intervals between soprano and alto shown in the manual result in Table 6 are: two augmented 2nds (a sequence and an appoggiatura), one diminished 4th (a neighboring tone), one augmented 5th (a passing tone), and one diminished 7th (an appoggiatura). All of them occur when the other voices are stationary and the composer did not move two notes at the same time into creating these unusual intervals. This is also true with other voice pairs and other works in The Neumeister
Collection. Also, the occurrence of uncommon types of intervals discussed above is minimal compared to the rest of the intervals. MATLAB interpreted these uncommon intervals enharmonically, which is shown in Table 6 with highlighted areas. As Table 6 shows, there are eleven instances of augmented or diminished intervals by manual count that are changed into major or minor intervals by the MATLAB program. This is 3.3% of 334 such intervals, and only .54% of the total of 2045 intervals. The small difference between manual count and machine count created by enharmonic spellings does not have a significant impact on the radar graphs that are generated by MATLAB, as you can see from the comparison in Figure 5.
45
Derived from manual analysis Derived by MATLAB tabulator
Figure 5. Radar graphs of interval counts for Wir glauben formulated by both methods
In the case of motion analysis, CACIMA was not affected by enharmonic problems as it was in intervallic analysis. Thus, the MATLAB program can count numbers of occurrences of each motion in each pair correctly. Table 7 shows the complete MATLAB motion analysis of
Ach Gott und Herr.
Table 7. MATLAB motion analysis of Ach Gott und Herr
Parallel Similar Contrary Oblique S-A 13 8 25 2 S-T 18 7 20 2 S-B 4 12 24 2 A-T 23 6 31 4 A-B 19 5 42 3 T-B 9 8 23 4
Figures 6 and 7 show tabulated graphs from this same data in two different ways, radar graph and bar graph.
46
S-A 50 40
30 T-B S-T 20 Parallel 10 Similar 0 Contrary Oblique
A-B S-B
A-T
Figure 6. Motion analysis radar graph of Ach Gott und Herr
Figure 7. Motion analysis bar graph of Ach Gott und Herr
47
D. Interpretation and Application
The purpose of this study is to reveal through analyses the tendencies or “habits” of the targeted composers in terms of contrapuntal principles. Detailed analysis is required to identify these tendencies from the graphs.
Because many of the organ chorales are composed using imitative procedures (e.g., fughetta) or at least imitative structure, the contrapuntal and motion analyses are more effective than melodic interval analyses in revealing compositional traits or habits of the composers. The influence of the chorale melody clearly shows on the graphs, which can hide the characteristics of the composer to a greater or lesser degree. However, the bass part seems to be most independent from a cantus firmus (or chorale melody) and possibly reveals some characteristics of the composer. Figure 8 shows the melodic analysis graphs of bass parts from the selected works by Johann Michael Bach.
Dies sind die heilgen zehn Gebot Nun laßt uns Gott dem Herren Mag ich Unglück nicht
Figure 8. Melodic analysis of the bass part in selected works by J.M. Bach
This shows that Johann Michael Bach uses the ascending P4 (and some descending P4 intervals as well) and the descending P5 in addition to stepwise motion. 48
Figure 9 shows that Johann Sebastian Bach also uses these motions, but he also uses both
ascending and descending octaves.
Ach, Gott und Herr O Jesu, wie ist dein Gestalt O Lamm Gottes unschuldig
Figure 9. Melodic analysis of the bass part in selected works by J.S. Bach
Figure 10 shows graphs pertaining to Johann Pachelbel. Given that there is only one
composition by Pachelbel in The Neumeister Collection, two chorale preludes from Acht Choräle
zum Praeambulieren (Eight Chorale Preludes)45 are used for this analysis to provide comparison.
Vater unser im Himmelreich Dies sind die heilgen zehn Gebot Allein zu dir, Herr Jesu Christ
Figure 10. Melodic analysis of the bass part in selected works by J. Pachelbel
45 Johann Pachelbel, Acht Choräle zum Praeambulieren, ed. Jean-Claude Zehnder (Winterthur/Schweiz: Amadeus- Verlag, 1992).
49
Compared to J.S. Bach and J.M. Bach, Pachelbel consistently used fewer motions of
ascending/descending P4 and P5 intervals, and if used, they are used in a much more balanced
manner, by comparison with usage by both Bachs.
Figure 11 shows two graphs of anonymous works in The Neumeister Collection. Both
Was mein Gott will, das g’scheh allzeit and Christ lag in Todesbanden are currently attributed to
Pachelbel on the basis of stylistic considerations.46 However, the bass graphs of their melodic
analyses clearly reveal the consistent use of the ascending P4 and the descending P5. These traits
were observed in J.M. Bach’s graphs. Thus, J. M. Bach is a more probable composer than
Pachelbel, judging only on the basis of melodic interval analysis.
Was mein Gott will, das g’scheh allzeit Christ lag in Todesbanden
Figure 11. Melodic analysis of the bass part from two anonymous works
Contrapuntal interval analysis reveals more traits of each composer than melodic interval analyses. Each composer seems to have his own way of understanding the use of certain consonances or dissonances between any given pair of voices, and the application of those rules
46 J.M. Bach, Orgelchoräle, 7. 50
appears to be consistent. The key intervals are the M2, M/m3, M/m6, m7, M9, M/m10, and the
tritone.
Figure 12 shows soprano-tenor graphs of three different pieces by Johann Michael Bach.
These three graphs do not look identical, but still reveal some tendencies of the composer.
Johann Michael Bach uses both m10 and M10 with m10 more often than M10. Use of the M9 is
apparent; however, there is minimal or no use of the m7.
Dies sind die heilgen zehn Gebot Nun laßt uns Gott dem Herren Mag ich Unglück nicht
Figure 12. Soprano-Tenor graphs of selected works by Johann Michael Bach
Figure 13 shows the soprano-tenor graph of three different pieces by Johann Sebastian Bach.
Ach, Gott und Herr O Jesu, wie ist dein Gestalt O Lamm Gottes unschuldig
Figure 13. Soprano-Tenor graphs of selected works by Johann Sebastian Bach 51
By comparing Figures 12 and 13, their clear resemblance shows that Johann Sebastian Bach and
Johann Michael Bach have very similar traits, however, these graphs reveal one clear distinction.
Johann Michael Bach seldom uses m7 while the consistent use of m7 is observed in the works of
Johann Sebastian Bach.
It is necessary to establish compositional tendencies of Pachelbel for the reason that many anonymous works are currently attributed to him; however, there is only one work of
Pachelbel in The Neumeister Collection. Thus in this study, some works from Acht Choräle zum
Praeambulieren are used for the analysis—as before—to provide comparison. Figure 14 presents soprano-tenor graphs of Pachelbel works. Allein zu dir Herr Jesu Christ is the only work of
Pachelbel in The Neumeister Collection.
Allein zu dir Herr Jesu Christ Vater unser im Himmelreich Dies sind die heilgen Zehn Gebot
Figure 14. Soprano-Tenor graphs of selected works by Johann Pachelbel
Pachelbel’s use of M9 is not as consistent as the usage observed in the works of either
Bach. The use of m7 is quite consistent among all three works by Pachelbel. Figure 15 presents soprano-tenor graphs of previously discussed anonymous works.
52
Was mein Gott will, das g’scheh allzeit Christ lag in Todesbanden
Figure 15. Soprano-Tenor graph of anonymous works in The Neumeister Collection
Was mein Gott will, das g’scheh allzeit does incorporate the interval of a M9, but makes
little use of the m7, traits which suggest J.M. Bach as the likely composer. Christ lag in
Todesbanden, on the other hand, does use the m7, but does not use the M9 and makes less use of
the P4 than do other works by Pachelbel. Although Pachelbel’s Dies sind die heilgen zehn Gebot
also exhibits the first two of these traits, the lesser use of the P4 in Christ lag in Todesbanden
casts some doubt upon the attribution to Pachelbel.
Dies sind die heilgen zehn Gebot Nun laßt uns Gott dem Herren Mag ich Unglück nicht
Figure 16. Alto-Tenor graphs of selected works by Johann Michael Bach
53
The final set of examples comes from alto-tenor contrapuntal analysis. Figure 16 presents the alto-tenor graphs of the J.M Bach works discussed earlier. These graphs reveal consistent use of m7 and strong emphasis on M/m3 and M/m6. J.M. Bach also uses M2 consistently. One of
J.M. Bach’s traits for alto-tenor voicing is that both major and minor thirds are used equally. J.S.
Bach typically uses more minor thirds than major thirds. Figure 17 presents the alto-tenor graphs of the J.S. Bach works discussed earlier.
Ach, Gott und Herr O Jesu, wie ist dein Gestalt O Lamm Gottes unschuldig
Figure 17. Alto-Tenor graphs of selected works by Johann Sebastian Bach
In J.S. Bach’s works, the use of M2 and m7 is not as consistent as in J.M. Bach’s. It is noteworthy to mention that all alto-tenor graphs show a “zigzag” line that is unique to J.S. Bach.
Finally, Figure 18 presents corresponding alto-tenor graphs of these selected Pachelbel works.
54
Allein zu dir Herr Jesu Christ Vater unser im Himmelreich Di es sind die heilgen Zehn Gebot
Figure 18. Alto-Tenor graphs of selected works by Johann Pachelbel
In Pachelbel’s works, the use of M2 and m7 is least consistent compared to practices found in the works of both Bachs. The graphs of Vater unser im Himmelreich and Dies sind die heilgen zehn Gebot look similar, but the graph of Allein zu dir Herr Jesu Christ looks significantly different from other two. Analysis beyond the limits of this study would be necessary to explain this discrepancy.
When these graphs are analyzed and compared, certain traits become visible. There are some specific intervals that a composer prefers to use or avoids using. In order to summarize these contrapuntal traits of each composer in the collection, another statistical approach is taken to create a chart. This chart shows certain traits and characteristics of each composer and provides information relevant to the authorship of anonymous works. The procedure is as follows:
1. Determine what intervals between a given pair of voices are most characteristic of a given composer.
2. Determine the most frequently used interval in this pair of voices from contrapuntal analysis data.
55
3. Calculate and evaluate the use of a given interval in comparison to the most used interval.
As the result of the first step of the procedure, composers can be distinguished by the frequency with which they use the following intervals:
Soprano-Alto: Unison, M2, TT, M6/m6, m7, P8
Soprano-Bass: P4, TT, m7, M9
Alto-Bass: P4, TT, M9
Soprano-Tenor: P4, m7, M9
Alto-Tenor: Unison, M2, M3/m3, TT, M6, m6, m7, M10/m10
Tenor-Bass: Unison, M2, P4, TT, m7, M10/m10
To show how the second and third steps are done, Johann Michael Bach’s Dies sind die heilgen zehn Gebot is used as an example. Table 8 is a data chart of contrapuntal analysis created by
MATLAB program.
Table 8. Contrapuntal analysis of J.M. Bach’s Dies sind die heilgen zehn Gebot
Uni m2 M2 m3 M3 P4 TT P5 m6 M6 m7 M7 P8 m9 M9 m10 M10 S-A 4 0 8 53 16 50 7 18 16 7 5 0 0 0 0 0 0 S-T 0 0 0 2 0 18 7 37 33 11 2 0 28 3 8 22 12 S-B 0 0 0 0 0 0 0 37 13 6 8 0 54 1 2 13 16 A-T 4 0 10 54 51 25 14 29 31 33 12 1 20 0 1 2 0 A-B 0 0 0 4 1 13 2 43 3 12 7 4 41 2 12 37 49 T-B 1 1 5 17 54 16 7 45 30 24 19 3 37 0 0 0 8
From the list above, Unison, M2, TT, M6/m6, m7, and P8 are analyzed for the S-A pair. The second step is to find the most used interval from the chart, which is m3 (53 times). The third step is to determine the frequency of the target intervals. In order to accomplish this process, the following categories and indicators are created: 56
Frequent use (more than 50% in comparison to the most-used interval)
More than minimal use (16-49% in comparison to the most-used interval)
Minimal use (6-15% in comparison to the most-used interval)
- No or little use (0-5% in comparison to the most-used interval)
In this example, the most-used interval is the m3, which is used 53 times. When an interval is
used more than 27 times (50%), it is considered frequent use; 8 to 26 times (16-49%) as more
than minimal use; 4 to 8 times as minimal use; and finally, less than 4 times as no or little use.
Figure 19 shows the trait analysis of S-A pair of this work.
Intervals Unison M2 TT M6/m6 m7 P8
Indicator m6 > M6 -
Figure 19. Trait chart indicators
Table 9 shows the results of the entire analysis of contrapuntal traits of J.M. Bach’s Gott hat das
Evangelium (I) (No.6 in the collection), Mag ich Unglück nicht (No.29), Dies sind die heilgen
zehn Gebot (No. 30), and Nun lasst uns Gott dem Herren (No. 39).
57
Table 9. Contrapuntal traits of selected works of J. M. Bach in The Neumeister Collection
No. 6 No. 29 No. 30 No. 39 Intervals Gott hat das Evangelium (I) Mag ich Unglück nicht Dies sind die heilgen Nun laßt uns Gott dem zehn Gebot Herren Unison -
S M2 - - | TT A M6/m6 both m6>M6 m6 > M6 m6>M6 m7 - P8 - - - P4 - - S - - - | TT - B m7 M9 -
A P4 | TT - - - - B M9 -
S P4 | m7 - - T M9 both m10 M10 m10 M10 m10 M10 Unison - -
M2 A M3/m3 M3>m3 m3>M3 both both | TT - T M6/m6 M6>m6 M6>m6 both both m7 M10/m10 - - - -
Unison - - -
M2 - T P4 - | - B TT m7 - M10/m10 - - M10 only M10>m10 Bass doubling Tenor concordance Pachelbel? Pachelbel? confirmed Pachelbel?
From here, we can expand it to other composers in the same manner. Table 10 shows the contrapuntal traits of selected works of Johann Sebastian Bach (Nos. 18, 19, 31, and 35).
58
Table 10. Contrapuntal traits of selected works of J.S. Bach in The Neumeister Collection
No. 19 No. 31 No. 35 No. 18 Intervals O Lamm Gottes Wir glauben all Ach, Gott und Herr O Jesu, wie ist dein unschuldig einen Gott Gestalt Unison
S M2 | TT A M6/m6 both m6>M6 both both m7 both 7ths P8 P4 - S TT | m7 B M9
A P4
| TT
B M9
S P4 | m7 T M9 m10>M10 m10>M10 m10>M10 Unison - M2
A M3/m3 m3>M3 both m3>M3 both | TT T M6/m6 both both M6>m6 both m7 M10/m10 M10 only both M10 only M10 only
Unison - - M2 T P4 | TT B m7 M10/m10 M10>m10 both both M10>m10
concordance - - confirmed -
Table 11 shows the contrapuntal traits of selected works of Johann Christoph Bach (Nos. 27, 56, and 74).
59
Table 11. Contrapuntal traits of selected works of J.C. Bach in The Neumeister Collection
No. 27 No. 56 No. 74 Intervals Allein Gott in der Höh sei Ehr An Wasserflüssen Babylon Wer Gott vertraut, hat wohl gebaut Unison - - -
S M2 - - | TT A M6/m6 both both both m7 - - P8 - - P4 - S TT - - | m7 - B M9 - -
A P4 - - | TT
B M9
P4 S
| m7
T M9 M10/m10 M10>m10 both M10>m10 Unison - - - M2 - - -
both both both A M3/m3
| TT T M6/m6 both both both m7 M10/m10 both - -
Unison - - M2 - - - T P4 | TT B m7 both 7th M10/m10 M10>m10 - -
concordance - - -
Table 12 shows the contrapuntal traits of selected works of Johann Pachelbel (No. 34). Since there is only one work attributed to Pachelbel in the collection, two other 4-voice chorales from
Acht Choräle zum Praeambulieren are also examined as reference for comparison. 60
Table 12. Contrapuntal traits of selected works of Pachelbel
No. 34 from Acht Choräle, from Acht Choräle, Intervals Dies sind die heilgen zehn Gebot Vater unser im Himmelreich Allein zu dir, Herr Jesu Christ Unison -
S M2 | TT A M6/m6 both both m6>M6 m7 P8 P4 S TT - - | m7 - B M9
A P4
| TT
B M9
S P4 | m7 T M9 M10/m10 m10 M10 both both Unison - - M2 -
A M3/m3 m3>M3 both both | TT T M6/m6 both both both m7 M10/m10 m10 only m10 only
Unison - - M2 T P4 | TT B m7 M10/m10 M10>m10 M10>m10 m10>M10
concordance confirmed - -
Table 13 shows the contrapuntal traits of selected works of F.W. Zachow (Nos. 61, 62, and 76).
61
Table 13. Contrapuntal traits of Zachow’s works in The Neumeister Collection
No. 62 No. 76 Intervals No. 61 Wie schön leuchtet.. Heut triumphieret Gottes Sohn Erbarm dich mein o Herre Gott Unison
S M2 | TT - A M6/m6 both both both m7 - - P8 - P4 S TT - - | m7 M7 m7 - - B M9
A P4 - | TT
B M9
P4 S (use of M7 ) | m7 - T M9 M10/m10 m10>M10 m10>M10 m10>M10 Unison - M2
m3>M3 m3>M3 m3>M3 A M3/m3
| TT T M6/m6 both both both m7 - M10/m10 - - -
Unison M2 - T P4 | TT B m7 M10/m10 M10>m10 M10>m10 M10>m10
concordance - anonymous confirmed
Table 14 summarizes the contrapuntal traits of all the composers in The Neumeister Collection, as exemplified in the previous tables. The values for each trait noted in the previous tables are averaged to yield a value for the corresponding trait in Table 14. In the cases of Daniel Erich and 62
J.H. Buttstedt, there is only one work attributed to them in this collection. All of Sorge’s works have only three voices.
Table 14. Contrapuntal traits of all the composers in The Neumeister Collection
Intervals J.S. Bach J.M Bach Sorge Zachow J.C. Bach Pachelbel Erich Buttstedt Unison - - - S M2 - | TT ( ) ( ) A M6/m6 both m6>M6 m6>M6 both (both) both m7 - - - - P8 ( - ) ( ) - - P4 ( ) S TT - - - - - | m7 - B M9 - - - P5,P8>10th no 6ths A P4 ( ) | TT - - - B M9 ( )
S P4 | m7 T M9 ( ) - - M10/m10 m10 M10 m10>M10 (M10>m10) (both) both both Unison ( ) ( ) - - - - M2 ( ) - ( ) - A M3/m3 m3>M3 m3>M3 both m3>M3 both | TT T M6/m6 less use M6>m6 less use less use m7 ( ) ( ) M10/m10 M10 only - - ( - ) (m10) m10 3rd, 6th based 3rd, 6th 3rd, 4th based Unison ------M2 ( ) - - - T P4 ( ) | TT - - B m7 ( ) M10/m10 (both 10th) M10 > m10 M10>m10 ( - ) either both m10
* Parenthetical entries indicate that there are some exceptions.
These indicators become the “profile” of each composer and could be compared to others. 63
Finally, Table 15 shows the contrapuntal traits of anonymous works in the collection.
Christe der du bist Tag und Licht (BWV 1096), mentioned previously, is included in the chart because some scholars attribute it to J.S. Bach.
Table 15. Contrapuntal traits of the anonymous works in The Neumeister Collection
No. 22 No. 41 No. 43 No. 44 No. 20 Intervals Christ lag in Was mein Gott will, Ich ruf zu dir (I) Ich ruf zu dir (II) Christe der du bist Todesbanden das g’scheh allzeit Tag und Licht BWV 1096 Unison - - - -
S M2
| TT both m6>M6 m6>M6 m6>M6 both A M6/m6 m7 - P8 - P4 - - S TT - | m7 - B M9 - - P5,P8>10th
A P4 - | TT
B M9 Use of M7
S P4 | m7 T M9 m10 M10 m10 M10 Unison - - - - M2 - -
A M3/m3 m3>M3 m3>M3 M3>m3 m3>M3 m3>M3 | TT - T M6/m6 m6 M6 both both both m7 - M10/m10 m10 M10 - - both m10 M10 - 3rd, 6th based Unison - - - - M2 - - T P4 - | TT - B m7 M10/m10 m10 M10 - both M10>m10 M10>m10 use of M7 Attribution by J.S. Bach or J.S. Bach or J.M. Bach J.M. Bach Wolff in 1986 J.M Bach J.M Bach Attribution by Pachelbel Pachelbel J.M. Bach J.M. Bach Wolff in 1997 64
Now we look at motion graphs to see if the analytical data could support Wolff’s current
attribution. Figure 20 shows motion analysis radar graphs of Christ lag in Todesbanden (No.22),
Ich ruf zu dir (No. 44), and Wenn mein Stündlein vorhanden ist (No. 63).
Christ lag in Todesbanden Ich ruf zu dir Wenn mein Stündlein.. S-A S-A S-A 25 35 40 20 30 25 30 15 20 T-B S-T T-B S-T T-B 20 S-T 10 15 10 Parallel 5 10 5 Similar 0 0 0 Contrary Oblique A-B S-B A-B S-B A-B S-B
A-T A-T A-T Figure 20. Motion analysis radar graphs of Nos. 22, 44, and 63
The basic contours of these graphs resemble one another, which suggests the probable composer
of Nos. 22 and 44 is J.M. Bach, from the view point of contrapuntal motion.
Figure 21 shows the motion analysis radar graphs of J.M. Bach’s Mag ich Unglück nicht
widerstahn (No. 29) and the anonymous work Was mein Gott will das g’scheh allzeit (No. 41),
which is currently attributed to Pachelbel.
Mag ich Ungluck nicht widerstahn Was mein Gott will das gscheh allzeit S-A S-A 60 40 50 30 40 T-B 30 S-T T-B 20 S-T 20 10 10 0 0
A-B S-B A-B S-B
A-T A-T Figure 21. Motion analysis radar graphs of Nos. 29 and 41 65
Among all of the motion graphs tabulated in this study (please refer Appendix A in this
document), J.M. Bach’s Mag ich Unglück nicht widerstahn most resembles Was mein Gott will das g’scheh allzeit with contrary motion used as prominent motion and less use of it for S-A and
S-T pairs as shown in Figure 21. This anonymous work was originally attributed to J.M. Bach by
Wolff, but currently is attributed to Johann Pachelbel, as mentioned above. The new analysis from the motion graphs, however, seems to support Wolff’s original ascription of Was mein Gott will das g’scheh allzeit to J.M. Bach. This is also confirmed by the close resemblance of
Soprano-Alto and Alto-Tenor contrapuntal analysis graphs as shown in Figure 22.
No. 21 No. 41 No. 21 No. 41 Soprano-Alto Soprano-Alto Alto-Tenor Alto-Tenor
Uni Uni Uni Uni M10 140 m2 M10 60 m2 M10 140 m2 M10 60 m2 120 50 120 50 m10 M2 m10 M2 m10 M2 m10 M2 100 40 100 40 80 80 M9 30 m3 M9 m3 M9 30 m3 M9 60 m3 60 20 20 40 40 10 20 10 m9 20 M3 m9 M3 m9 M3 m9 M3 0 0 0 0 P8 P4 P8 P4 P8 P4 P8 P4
M7 TT M7 TT M7 TT M7 TT m7 P5 m7 P5 m7 P5 m7 P5 M6 m6 M6 m6 M6 m6 M6 m6 Figure 22 Contrapuntal analysis of S-A and A-T pairs of Nos. 29 and 41
Figure 23 shows the motion analysis radar graphs of Wir glauben all einen Gott (No.31)
and Ich ruf zu dir Herr Jesu Christ (No. 43).
66
Ich ruf zu dir Herr Jesu Christ Wir glauben all einen Gott S-A S-A 50 25 40 20 15 30 T-B S-T T-B S-T 10 20 5 10 0 0
A-B S-B A-B S-B
A-T A-T
Figure 23. Motion analysis radar graphs of Nos. 31 and 43
Among all the motion radar graphs, concentric contours are only observed in the works of J.S.
Bach which suggests J.S. Bach as a possible composer for Ich ruf zu dir Herr Jesu Christ.
Finally, the motion graphs reveal something interesting: a similar graph to the aforementioned J.S. Bach work Christe der du bist Tag und Licht (No. 20), not from another J.S.
Bach work, but Pachelbel’s Allein zu dir, Herr Jesu Christ (No. 34). Figure 24 shows the motion analysis radar graphs of these works.
Christe der bu bist Tag und Licht Allein zu dir, Herr Jesu Christ S-A S-A 40 70 60 30 50 T-B 20 S-T T-B 40 S-T 30 10 20 10 0 0
A-B S-B A-B S-B
A-T A-T Figure 24. Motion analysis radar graphs of Nos. 20 and 34 67
Their contrapuntal analysis graphs are similar, particularly for S-A and A-T pairs as shown in
Figure 25.
No. 20 No. 34 No. 20 No. 34 Soprano-Alto Soprano-Alto Alto-Tenor Alto-Tenor
Uni Uni Uni Uni 160 140 M10 m2 M10 200 m2 M10 m2 M10 250 m2 140 120 m10 M2 m10 M2 m10 200 M2 120 m10 150 M2 100 100 80 150 80 M9 m3 M9 100 m3 M9 m3 M9 m3 60 60 100 40 40 50 50 20 m9 20 M3 m9 M3 m9 M3 m9 M3 0 0 0 0
P8 P4 P8 P4 P8 P4 P8 P4 M7 TT M7 TT M7 TT M7 TT m7 P5 m7 P5 m7 P5 m7 P5 M6 m6 M6 m6 M6 m6 M6 m6
Figure 25. Contrapuntal analysis of S-A and A-T pairs of Nos. 20 and 34
This analysis supports Hartmann’s argument that suggests Pachelbel as the more probable composer of Christe der du bist Tag und Licht, BWV 1096.
The last remaining anonymous work is Heut triumphieret Gottes Sohn (No. 62), which is currently attributed to F.W. Zachow by Wolff. Figure 26 shows clear resemblance between
Heut triumphieret Gottes Sohn and another work of Zachow, Erbarm dich mein, o Herre Gott
(No. 76) on their contrapuntal analysis for S-A, S-T, and A-T pairs.
68
No. 62 No. 76 No. 62 No. 76 Soprano-Alto Soprano-Alto Soprano-Tenor Soprano-Tenor
Uni Uni Uni Uni M10 120 m2 M10 120 m2 M10 80 m2 M10 100 m2 100 100 m10 M2 m10 M2 m10 60 M2 m10 80 M2 80 80 60 M9 60 m3 M9 60 m3 M9 40 m3 M9 m3 40 40 40 20 20 20 20 m9 M3 m9 M3 m9 M3 m9 M3 0 0 0 0 P8 P4 P8 P4 P8 P4 P8 P4
M7 TT M7 TT M7 TT M7 TT
m7 P5 m7 P5 m7 P5 m7 P5 M6 m6 M6 m6 M6 m6 M6 m6
No. 62 No. 76
Alto-Tenor Alto-Tenor
Uni Uni M10 140 m2 M10 150 m2 120 m10 M2 m10 M2 100 100 80 M9 m3 M9 60 m3 50 40 m9 20 M3 m9 M3 0 0
P8 P4 P8 P4
M7 TT M7 TT
m7 P5 m7 P5 M6 m6 M6 m6
Figure 26. Contrapuntal Analysis of S-A S-T, and A-T pairs of Nos. 62 and 76
These graphs confirm the current attribution (F.W. Zachow) given by Wolff.
69
IV. CONCLUSION
In the field of organ chorales, stylistic analyses have served as one of the main methods
to assign composer attributions to anonymous works. However, these stylistic analyses could be
subjective, and scholars and professionals often disagree with each other. The prominent Bach scholar Christoph Wolff stated, “but there is no decisive evidence to tip the balance clearly.”47
The purpose of the statistical analysis approach in this study is to provide a different type of
evidence that may be considered when addressing problems of authorship. This evidence was
generated by a process I have named CACIMA. Based upon the data provided by CACIMA,
Table 16 shows the most probable composers of anonymous works and a doubtful work of Bach
in The Neumeister Collection.
Table 16. Probable composers of anonymous works
No. Title Current attribution Attribution suggested by CACIMA data 22 Christ lag in Todesbanden J. Pachelbel J.M. Bach 41 Was mein Gott will, das g’scheh J. Pachelbel J.M. Bach allzeit 43 Ich ruf zu dir, Herr Jesu Christ J.M. Bach J.S. Bach 44 Ich ruf zu dir, Herr Jesu Christ J.M. Bach J.M. Bach 62 Heut triumphieret Gottes Sohn F.W. Zachow F.W. Zachow 20 Christe der du bist Tag und Licht J.S. Bach J. Pachelbel
The use of machine generated statistical data for attribution problems is still in its infancy,
and is not sophisticated enough at present to offer definitive conclusions. More thorough and in
depth interpretation of the data, and modification of CACIMA MATLAB program may yield
47 Wolff, Neumeister, Introduction, 11. 70
more convincing results or some different suggestions. As mentioned before, the purpose of this
study is not to “prove” or “disprove” current attributions given by scholars, but to provide meaningful data to assist authenticating anonymous works and other works with doubtful attribution.
One of the limitations and challenges of CACIMA is that it is not easy to isolate salient features of a composer. As shown in contrapuntal analyses in this study, the graphs from the same composer sometimes did not look alike. This may have been caused by the fact that each composer keeps learning new things, incorporating new ideas, and trying new skills—and thus his writing style keeps evolving as he gains more experience. Some of the pieces in this collection could have been “trial” compositions wherein the composer had ventured some new idea to break away from his old style. To deal with such variables, one will need to assess the history and background of each piece of the composer and categorize the works according to the time period and the compositional style within the composer’s life, in order to increase the accuracy of CACIMA data. It is also likely that each composer has several different writing styles. Though an attempt was made to pinpoint the unique aspects of each composer as shown in Figures 27 through 33, this process will make it difficult to create such “standardized” lists of the composer’s salient features.
Despite these limitations, the data and graphs generated by this study suggest that
CACIMA has value as a way to authenticate anonymous or otherwise dubious works in The
Neumeister Collection. Many CACIMA graphs from the same composer clearly showed correlations, and some of them looked almost identical. The strongest value that CACIMA could
offer is that the process of producing data is replicable and that it generates the same results for 71
researchers who follow the same procedure. Conventional and historical formal analyses are still the main methods used today when authenticating anonymous musical works; however, even
distinguished scholars disagree with each other in such discussions. CACIMA could provide
another way to compare the musical pieces, and thus does yield some new information that may
be relevant to decisions about authorship as shown in this study. All of the graphs and data used
in this research are provided in Appendix A, and the actual MATLAB code used for tabulation is
provided in Appendix B for further research.
It is possible to expand this approach to other organ works or even works of other genres
in future research. For instance, it would be interesting to see what kind of graphs CACIMA
would produce for J.S. Bach’s larger organ works. Although conventional analyses and the
existence of concordances are still the main methods of attribution of musical works, CACIMA data and graphs could provide some additional information about the pieces to tip the balance
between two or more equally probable composers when attributing anonymous works.
72
APPENDIX A: TABULATED CHARTS AND GRAPHS
No. 4. Nun freut euch, lieben Christen gmein (I)...... 74
No. 6. Gott hat das Evangelium (I)...... 78
No. 13. Christum wir sollen loben schon...... 82
No. 18. O Jesu, wie ist dein Gestalt...... 86
No. 19. O Lamm Gottes unschuldig...... 90
No. 20. Christe, der du bist Tag und Licht...... 94
No. 22. Christ lag in Todesbanden...... 98
No. 25. Vater unser im Himmelreich...... 102
No. 27. Allein Gott in der Höh sei Ehr (I)...... 106
No. 28. Allein Gott in der Höh sei Ehr (II)...... 110
No. 29. Mag ich Unglück nicht widerstahn...... 114
No. 30. Dies sind die heilgen zehn Gebot...... 118
No. 31. Wir glauben all an einen Gott...... 122
No. 34. Allein zu dir, Herr Jesu Christ...... 126
No. 35. Ach, Gott und Herr...... 130
No. 37. Auf meinen lieben Gott or Wo soll ich fliehen hin...... 134
No. 39. Nun lasst uns Gott, dem Herren or Wach auf, mein Herz, und singe...... 138
No. 41. Was mein Gott will, das g’scheh allzeit...... 142
No. 43. Ich ruf zu dir, Herr Jesu Christ (I)...... 146
No. 44. Ich ruf zu dir, Herr Jesu Christ (II)...... 150
No. 50. Wenn dich Unglück tut greifen an...... 154 73
No. 53. Ach Gott, vom Himmel sieh darein...... 158
No. 56. An Wasserflüssen Babylon...... 162
No. 61. Wie schön leuchtet der Morgenstern...... 166
No. 62. Heut triumphieret Gottes Sohn...... 170
No. 63. Wenn mein Stündlein vorhanden ist...... 174
No. 74. Wer Gott vertraut hat wohl gebaut...... 178
No. 76. Erbarm dich mein, o Herre Gott...... 182
No. 79. Auf, Christenmensch...... 186
No. 80. Wo Gott, der Herr, nicht gibt sein Gunst...... 190
No. 82. Freu dich sehr, o meine Seele...... 194
74
No. 4. Nun freut euch, lieben Christen gmein (I)
Melodic Intervals
Contrapuntal Intervals
Melodic Intervals Contrapuntal Intervals
-12 + 100 -11 Uni 12 -10 M10 400 m2 11 80 -9 350 m10 300 M2 10 60 -8 250 S-A 200 40 M9 m3 9 -7 S 150 S-T 20 100 8 -6 A m9 50 M3 S-B 0 0 7 -5 T A-T P8 P4 6 -4 B A-B 5 -3 M7 TT T-B 4 -2 m7 P5 3 -1 M6 m6 2 0 1
No. 4. Nun freut euch, lieben Christen gmein (I) 75
Melodic Intervals
No. 4. Nun freut euch, lieben Christen gmein (I) 76
Contrapuntal Intervals
No. 4. Nun freut euch, lieben Christen gmein (I) 77
Relative Motion
Parallel Similar Contrary Oblique S-A 7 20 14 3 S-T 12 6 23 4 S-B 2 7 13 2 A-T 8 6 24 5 A-B 1 1 12 3
T-B 33 0 0 0
Radar Graph
Bar Graph
78
No. 6. Gott hat das Evangelium (I)
Melodic Intervals
Contrapuntal Intervals
Melodic Intervals Contrapuntal Intervals
-12 + 80 -11 Uni 12 -10 400 70 M10 m2 350 11 60 -9 m10 300 M2 50 10 -8 250 S-A 40 M9 200 m3 9 30 -7 S 150 S-T 20 100 8 -6 10 A m9 50 M3 S-B 0 0 7 -5 T A-T P8 P4 6 -4 B A-B 5 -3 M7 TT T-B 4 -2 m7 P5 3 -1 M6 m6 2 0 1
No. 6. Gott hat das Evangelium (I) 79
Melodic Intervals
No. 6. Gott hat das Evangelium (I) 80
Contrapuntal Intervals
No. 6. Gott hat das Evangelium (I) 81
Relative Motion
Parallel Similar Contrary Oblique S-A 19 5 27 8 S-T 19 7 26 3 S-B 4 8 14 2 A-T 3 1 18 14
A-B 0 0 8 10 T-B 37 0 0 0
Radar Graph
S-A 40
30
T-B 20 S-T Parallel 10 Similar 0 Contrary Oblique A-B S-B
A-T
Bar Graph
40
35
30
25 Parallel 20 Similar Contrary 15 Oblique 10
5
0 S-A S-T S-B A-T A-B T-B
82
No. 13. Christum wir sollen loben schon
Melodic Intervals
Contrapuntal Intervals
No. 13. Christum wir sollen loben schon 83
Melodic Intervals
No. 13. Christum wir sollen loben schon 84
Contrapuntal Intervals
No. 13. Christum wir sollen loben schon 85
Relative Motion
Parallel Similar Contrary Oblique S-A 31 16 28 10 S-T 31 11 34 9 S-B 2 12 35 7 A-T 39 17 29 9
A-B 16 6 25 8 T-B 6 12 35 5
Radar Graph
S-A 40
30
T-B 20 S-T Parallel 10 Similar 0 Contrary Oblique A-B S-B
A-T
Bar Graph
45 40 35
30 Parallel 25 Similar 20 Contrary 15 Oblique 10
5
0 S-A S-T S-B A-T A-B T-B
86
No. 18. O Jesu, wie ist dein Gestalt
Melodic Intervals
Contrapuntal Intervals
No. 18. O Jesu, wie ist dein Gestalt 87
Melodic Intervals
No. 18. O Jesu, wie ist dein Gestalt 88
Contrapuntal Intervals
No. 18. O Jesu, wie ist dein Gestalt 89
Relative Motion
Parallel Similar Contrary Oblique S-A 1 7 11 2 S-T 7 6 12 2 S-B 4 8 24 1 A-T 16 11 28 1
A-B 11 7 29 2 T-B 10 10 31 2
Radar Graph
S-A 35 30 25 T-B 20 S-T 15 10 Parallel 5 Similar 0 Contrary Oblique A-B S-B
A-T
Bar Graph
35
30
25 Parallel 20 Similar 15 Contrary
10 Oblique
5
0 S-A S-T S-B A-T A-B T-B
90
No. 19. O Lamm Gottes unschuldig
Melodic Intervals
Contrapuntal Intervals
No. 19. O Lamm Gottes unschuldig 91
Melodic Intervals
No. 19. O Lamm Gottes unschuldig 92
Contrapuntal Intervals
No. 19. O Lamm Gottes unschuldig 93
Relative Motion
Parallel Similar Contrary Oblique S-A 4 3 5 13 S-T 6 3 15 6 S-B 4 4 15 6 A-T 17 8 23 7
A-B 18 13 16 9 T-B 9 12 25 2
Radar Graph
S-A 25 20 15 T-B S-T 10 Parallel 5 Similar 0 Contrary Oblique A-B S-B
A-T
Bar Graph
30
25
20 Parallel 15 Similar Contrary 10 Oblique
5
0 S-A S-T S-B A-T A-B T-B
94
No. 20. Christe, der du bist Tag und Licht
Melodic Intervals
Contrapuntal Intervals
No. 20. Christe, der du bist Tag und Licht 95
Melodic Intervals
No. 20. Christe, der du bist Tag und Licht 96
Contrapuntal Intervals
No. 20. Christe, der du bist Tag und Licht 97
Relative Motion
Parallel Similar Contrary Oblique S-A 20 12 9 13 S-T 16 7 29 12 S-B 3 13 35 9 A-T 33 18 40 8
A-B 32 17 38 6 T-B 19 17 40 6
Radar Graph
Bar Graph
98
No. 22. Christ lag in Todesbanden
Melodic Intervals
Contrapuntal Intervals
No. 22. Christ lag in Todesbanden 99
Melodic Intervals
No. 22. Christ lag in Todesbanden 100
Contrapuntal Intervals
No. 22. Christ lag in Todesbanden 101
Relative Motion
Parallel Similar Contrary Oblique S-A 12 5 18 4 S-T 12 1 24 4 S-B 0 3 4 4 A-T 16 6 24 2
A-B 8 3 9 1 T-B 4 2 17 1
Radar Graph
Bar Graph
102
No. 25. Vater unser im Himmelreich
Melodic Intervals
Contrapuntal Intervals
No. 25. Vater unser im Himmelreich 103
Melodic Intervals
No. 25. Vater unser im Himmelreich 104
Contrapuntal Intervals
No. 25. Vater unser im Himmelreich 105
Relative Motion
Parallel Similar Contrary Oblique S-A 10 5 9 3 S-B 1 5 33 3 A-B 33 12 47 1
Radar Graph
Bar Graph
106
No. 27. Allein Gott in der Höh sei Ehr (I)
Melodic Intervals
Contrapuntal Intervals
No. 27. Allein Gott in der Höh sei Ehr (I) 107
Melodic Intervals
No. 27. Allein Gott in der Höh sei Ehr (I) 108
Contrapuntal Intervals
No. 27. Allein Gott in der Höh sei Ehr (I) 109
Relative Motion
Parallel Similar Contrary Oblique S-A 38 8 10 24 S-T 17 9 12 45 S-B 7 11 23 19 A-T 61 10 25 44
A-B 18 15 24 26 T-B 32 10 25 17
Radar Graph
Bar Graph
110
No. 28. Allein Gott in der Höh sei Ehr (II)
Melodic Intervals
Contrapuntal Intervals
No. 28. Allein Gott in der Höh sei Ehr (II) 111
Melodic Intervals
No. 28. Allein Gott in der Höh sei Ehr (II) 112
Contrapuntal Intervals
No. 28. Allein Gott in der Höh sei Ehr (II) 113
Relative Motion
Parallel Similar Contrary Oblique S-A 44 4 27 21 S-T 31 7 55 20 S-B 5 21 48 7 A-T 32 19 54 29
A-B 20 9 42 21 T-B 18 17 51 21
Radar Graph
Bar Graph
114
No. 29. Mag ich Unglück nicht widerstahn
Melodic Intervals
Contrapuntal Intervals
No. 29. Mag ich Unglück nicht widerstahn 115
Melodic Intervals
No. 29. Mag ich Unglück nicht widerstahn 116
Contrapuntal Intervals
No. 29. Mag ich Unglück nicht widerstahn 117
Relative Motion
Parallel Similar Contrary Oblique S-A 14 6 10 5 S-T 8 6 12 2 S-B 3 11 23 1 A-T 36 5 35 7
A-B 19 7 54 8 T-B 19 13 50 6
Radar Graph
Bar Graph
118
No. 30. Dies sind die heilgen zehn Gebot
Melodic Intervals
Contrapuntal Intervals
No. 30. Dies sind die heilgen zehn Gebot 119
Melodic Intervals
No. 30. Dies sind die heilgen zehn Gebot 120
Contrapuntal Intervals
No. 30. Dies sind die heilgen zehn Gebot 121
Relative Motion
Parallel Similar Contrary Oblique S-A 7 3 7 7 S-T 3 4 7 9 S-B 1 3 12 4 A-T 22 9 27 7
A-B 17 8 23 4 T-B 9 12 26 6
Radar Graph
Bar Graph
122
No. 31. Wir glauben all an einen Gott
Melodic Intervals
Contrapuntal Intervals
No. 31. Wir glauben all an einen Gott 123
Melodic Intervals
No. 31. Wir glauben all an einen Gott 124
Contrapuntal Intervals
No. 31. Wir glauben all an einen Gott 125
Relative Motion
Parallel Similar Contrary Oblique S-A 13 6 25 6 S-T 14 12 41 1 S-B 3 14 30 1 A-T 20 12 35 8
A-B 12 9 22 8 T-B 16 13 27 2
Radar Graph
Bar Graph
126
No. 34. Allein zu dir, Herr Jesu Christ
Melodic Intervals
Contrapuntal Intervals
No. 34. Allein zu dir, Herr Jesu Christ 127
Melodic Intervals
No. 34. Allein zu dir, Herr Jesu Christ 128
Contrapuntal Intervals
No. 34. Allein zu dir, Herr Jesu Christ 129
Relative Motion
Parallel Similar Contrary Oblique S-A 35 14 23 6 S-T 33 8 46 3 S-B 4 11 54 3 A-T 68 30 47 3
A-B 27 14 57 1 T-B 29 17 54 1
Radar Graph
Bar Graph
130
No. 35. Ach, Gott und Herr
Melodic Intervals
Contrapuntal Intervals
No. 35. Ach, Gott und Herr 131
Melodic Intervals
No. 35. Ach, Gott und Herr 132
Contrapuntal Intervals
No. 35. Ach, Gott und Herr 133
Relative Motion
Parallel Similar Contrary Oblique S-A 13 8 25 2 S-T 18 7 20 2 S-B 4 12 24 2 A-T 23 6 31 4
A-B 19 5 42 3 T-B 9 8 23 4
Radar Graph
Bar Graph
134
No. 37. Auf meinen lieben Gott or Wo soll ich fliehen hin
Melodic Intervals
Contrapuntal Intervals
No. 37. Auf meinen lieben Gott or Wo soll ich fliehen hin 135
Melodic Intervals
No. 37. Auf meinen lieben Gott or Wo soll ich fliehen hin 136
Contrapuntal Intervals
No. 37. Auf meinen lieben Gott or Wo soll ich fliehen hin 137
Relative Motion
Parallel Similar Contrary Oblique S-A 21 9 30 19 S-T 11 9 21 14 S-B 3 6 17 11 A-T 35 9 42 6
A-B 16 14 34 4 T-B 2 12 36 4
Radar Graph
Bar Graph
138
No. 39. Nun lasst uns Gott, dem Herren or Wach auf, mein Herz, und singe
Melodic Intervals
Contrapuntal Intervals
No. 39. Nun lasst uns Gott, dem Herren or Wach auf, mein Herz, und singe 139
Melodic Intervals
No. 39. Nun lasst uns Gott, dem Herren or Wach auf, mein Herz, und singe 140
Contrapuntal Intervals
No. 39. Nun lasst uns Gott, dem Herren or Wach auf, mein Herz, und singe 141
Relative Motion
Parallel Similar Contrary Oblique S-A 9 1 5 5 S-T 3 0 7 3 S-B 2 7 11 4 A-T 25 1 28 10
A-B 14 13 28 5 T-B 10 7 26 3
Radar Graph
Bar Graph
142
No. 41. Was mein Gott will, das g’scheh allzeit
Melodic Intervals
Contrapuntal Intervals
No. 41. Was mein Gott will, das g’scheh allzeit 143
Melodic Intervals
No. 41. Was mein Gott will, das g’scheh allzeit 144
Contrapuntal Intervals
No. 41. Was mein Gott will, das g’scheh allzeit 145
Relative Motion
Parallel Similar Contrary Oblique S-A 12 7 9 10 S-T 8 2 15 5 S-B 0 8 26 3 A-T 14 4 22 6
A-B 12 4 39 7 T-B 15 6 33 2
Radar Graph
Bar Graph
146
No. 43. Ich ruf zu dir, Herr Jesu Christ (I)
Melodic Intervals
Contrapuntal Intervals
Melodic Intervals Contrapuntal Intervals
-12 + 25 -11 Uni 12 -10 M10 80 m2 11 20 -9 70 m10 60 M2 10 15 -8 50 S-A 40 10 M9 m3 9 -7 S 30 S-T 5 20 8 -6 A m9 10 M3 S-B 0 0 7 -5 T A-T P8 P4 6 -4 B A-B
5 -3 M7 TT T-B
4 -2 m7 P5 3 -1 2 0 M6 m6 1
No. 43. Ich ruf zu dir, Herr Jesu Christ (I) 147
Melodic Intervals
No. 43. Ich ruf zu dir, Herr Jesu Christ (I) 148
Contrapuntal Intervals
No. 43. Ich ruf zu dir, Herr Jesu Christ (I) 149
Relative Motion
Parallel Similar Contrary Oblique S-A 7 4 21 2 S-T 4 1 15 2 S-B 4 3 16 2 A-T 7 6 12 5
A-B 9 4 16 2 T-B 6 3 13 5
Radar Graph
Bar Graph
150
No. 44. Ich ruf zu dir, Herr Jesu Christ (II)
Melodic Intervals
Contrapuntal Intervals
No. 44. Ich ruf zu dir, Herr Jesu Christ (II) 151
Melodic Intervals
No. 44. Ich ruf zu dir, Herr Jesu Christ (II) 152
Contrapuntal Intervals
No. 44. Ich ruf zu dir, Herr Jesu Christ (II) 153
Relative Motion
Parallel Similar Contrary Oblique S-A 10 6 13 1 S-T 2 2 13 0 S-B 2 4 4 0 A-T 32 8 26 2
A-B 9 4 21 4 T-B 11 3 20 0
Radar Graph
Bar Graph
154
No. 50. Wenn dich Unglück tut greifen an
Melodic Intervals
Contrapuntal Intervals
No. 50. Wenn dich Unglück tut greifen an 155
Melodic Intervals
No. 50. Wenn dich Unglück tut greifen an 156
Contrapuntal Intervals
No. 50. Wenn dich Unglück tut greifen an 157
Relative Motion
Parallel Similar Contrary Oblique S-A 6 8 6 2 S-T 6 3 8 4 S-B 1 3 16 3 A-T 25 4 15 5
A-B 13 13 17 3 T-B 4 6 19 5
Radar Graph
Bar Graph
158
No. 53. Ach Gott, vom Himmel sieh darein
Melodic Intervals
Contrapuntal Intervals
No. 53. Ach Gott, vom Himmel sieh darein 159
Melodic Intervals
No. 53. Ach Gott, vom Himmel sieh darein 160
Contrapuntal Intervals
No. 53. Ach Gott, vom Himmel sieh darein 161
Relative Motion
Parallel Similar Contrary Oblique S-A 10 1 15 3 S-B 2 4 41 2 A-B 51 11 52 3
Radar Graph
Bar Graph
162
No. 56. An Wasserflüssen Babylon
Melodic Intervals
Contrapuntal Intervals
No. 56. An Wasserflüssen Babylon 163
Melodic Intervals
No. 56. An Wasserflüssen Babylon 164
Contrapuntal Intervals
No. 56. An Wasserflüssen Babylon 165
Relative Motion
Parallel Similar Contrary Oblique S-A 16 6 19 14 S-T 16 4 20 8 S-B 6 11 35 5 A-T 15 9 24 11
A-B 10 22 16 11 T-B 8 18 24 3
Radar Graph
Bar Graph
166
No. 61. Wie schön leuchtet der Morgenstern
Melodic Intervals
Contrapuntal Intervals
No. 61. Wie schön leuchtet der Morgenstern 167
Melodic Intervals
No. 61. Wie schön leuchtet der Morgenstern 168
Contrapuntal Intervals
No. 61. Wie schön leuchtet der Morgenstern 169
Relative Motion
Parallel Similar Contrary Oblique S-A 11 4 16 9 S-T 8 7 14 8 S-B 7 9 18 7 A-T 35 12 25 9
A-B 10 9 34 8 T-B 16 11 34 10
Radar Graph
Bar Graph
170
No. 62. Heut triumphieret Gottes Sohn
Melodic Intervals
Contrapuntal Intervals
No. 62. Heut triumphieret Gottes Sohn 171
Melodic Intervals
No. 62. Heut triumphieret Gottes Sohn 172
Contrapuntal Intervals
No. 62. Heut triumphieret Gottes Sohn 173
Relative Motion
Parallel Similar Contrary Oblique S-A 23 8 5 16 S-T 22 5 16 12 S-B 4 8 24 12 A-T 23 16 16 27
A-B 6 7 29 21 T-B 12 9 54 11
Radar Graph
Bar Graph
174
No. 63. Wenn mein Stündlein vorhanden ist
Melodic Intervals
Contrapuntal Intervals
No. 63. Wenn mein Stündlein vorhanden ist 175
Melodic Intervals
No. 63. Wenn mein Stündlein vorhanden ist 176
Contrapuntal Intervals
No. 63. Wenn mein Stündlein vorhanden ist 177
Relative Motion
Parallel Similar Contrary Oblique S-A 20 6 18 6 S-T 17 4 24 0 S-B 3 5 11 1 A-T 38 11 31 5
A-B 4 3 11 3 T-B 1 4 15 3
Radar Graph
Bar Graph
178
No. 74. Wer Gott vertraut hat wohl gebaut
Melodic Intervals
Contrapuntal Intervals
No. 74. Wer Gott vertraut hat wohl gebaut 179
Melodic Intervals
No. 74. Wer Gott vertraut hat wohl gebaut 180
Contrapuntal Intervals
No. 74. Wer Gott vertraut hat wohl gebaut 181
Relative Motion
Parallel Similar Contrary Oblique S-A 16 2 11 11 S-T 14 3 14 8 S-B 5 7 22 7 A-T 26 4 9 7
A-B 6 10 19 8 T-B 8 6 29 2
Radar Graph
Bar Graph
182
No. 76. Erbarm dich mein, o Herre Gott
Melodic Intervals
Contrapuntal Intervals
No. 76. Erbarm dich mein, o Herre Gott 183
Melodic Intervals
No. 76. Erbarm dich mein, o Herre Gott 184
Contrapuntal Intervals
No. 76. Erbarm dich mein, o Herre Gott 185
Relative Motion
Parallel Similar Contrary Oblique S-A 13 17 23 7 S-T 14 15 17 7 S-B 4 13 25 2 A-T 40 17 35 11
A-B 15 9 32 7 T-B 8 7 46 8
Radar Graph
Bar Graph
186
No. 79. Auf, Christenmensch
Melodic Intervals
Contrapuntal Intervals
No. 79. Auf, Christenmensch 187
Melodic Intervals
No. 79. Auf, Christenmensch 188
Contrapuntal Intervals
No. 79. Auf, Christenmensch 189
Relative Motion
Parallel Similar Contrary Oblique S-A 4 1 6 3 S-B 1 2 20 2 A-B 45 13 30 1
Radar Graph
Bar Graph
190
No. 80. Wo Gott, der Herr, nicht gibt sein Gunst
Melodic Intervals
Contrapuntal Intervals
No. 80. Wo Gott, der Herr, nicht gibt sein Gunst 191
Melodic Intervals
No. 80. Wo Gott, der Herr, nicht gibt sein Gunst 192
Contrapuntal Intervals
No. 80. Wo Gott, der Herr, nicht gibt sein Gunst 193
Relative Motion
Parallel Similar Contrary Oblique S-A 8 4 9 5 S-B 0 9 21 3 A-B 20 9 29 2
Radar Graph
Bar Grap h
194
No. 82. Freu dich sehr, o meine Seele
Melodic Intervals
Contrapuntal Intervals
No. 82. Freu dich sehr, o meine Seele 195
Melodic Intervals
No. 82. Freu dich sehr, o meine Seele 196
Contrapuntal Intervals
No. 82. Freu dich sehr, o meine Seele 197
Relative Motion
Parallel Similar Contrary Oblique S-A 12 1 12 1 S-B 6 8 27 1 A-B 23 19 52 0
Radar Graph
Bar Graph
198
APPENDIX B. MATLAB TABULATOR CODE Created by Dr. Quinton Hurst
function interval_tabulator_rev19 % initialize variables thisPitchDone = false; thisNoteDone = false; timeSigDone = false; beatsFound = false; beatTypeFound = false; divisionsFound = false; measureCount = 0; fileLine = 1; tieStop = false; voiceValueMax = 1;
% cell arrays of names for various labels global voiceNamesShort global contraLabels global motionLabels global comboArray voiceNames = {'Soprano' 'Alto' 'Tenor' 'Bass' 'Other 1' 'Other 2' 'Other 3' 'Other 4' 'Other 5' 'Other 6'}; voiceNamesShort = {'S' 'A' 'T' 'B' 'O1' 'O2' 'O3' 'O4' 'O5' 'O6'}; contraLabels = {'Uni' 'm2' 'M2' 'm3' 'M3' 'P4' 'TT' 'P5' 'm6' 'M6' 'm7' 'M7' 'P8' 'm9' 'M9' 'm10' 'M10' 'oth'}; motionLabels = {'Parallel' 'Similar' 'Contrary' 'Oblique'};
% get the file and path name of the XML data file [FileName,PathName] = uigetfile('*.XML','Select the Music XML file'); inPathFile = [PathName,FileName];
% open the data file inFileID = fopen(inPathFile,'r');
% error trapping for score-partwise vs. score-timewise % this code will only read score-partwise % throw an error if the file is score-timewise inLine = fgetl(inFileID); while ischar(inLine) inLine = fgetl(inFileID); comb = ~isspace(inLine); thisLine = inLine(comb); 199
fileLine = fileLine + 1; if strncmp(' % determine how big the holding array needs to be % look for time signature data disp('Finding time signature') while (ischar(inLine) && ~timeSigDone) if strncmp(' elseif strncmp(' elseif strncmp(' inLine = fgetl(inFileID); comb = ~isspace(inLine); thisLine = inLine(comb); fileLine = fileLine + 1; timeSigDone = beatsFound && beatTypeFound && divisionsFound; end % read through the rest of the file counting measures disp('Counting measures...') while ischar(inLine) if strncmp(' if strncmp(' % add up the total time units (1 extra measure for good measure) totalUnits = (measureCount + 1) * beatsValue * beatTypeValue * divisionsValue; disp(['TotalUnits = ' num2str(totalUnits)]) % set up the holding array for pitches currentTime = zeros(1,voiceValueMax); pitchArray = NaN(totalUnits,voiceValueMax); newNoteArray = zeros(totalUnits,voiceValueMax); timingArray = NaN(totalUnits,2); currentMeasureValue = NaN; frewind(inFileID); % loop through the file disp('Reading notes') inLine = fgetl(inFileID); comb = ~isspace(inLine); thisLine = inLine(comb); while ischar(inLine) % look for measure indicator if strncmpi(' % read in a note if strncmpi(' else while ~thisPitchDone % read the next line inLine = fgetl(inFileID); comb = ~isspace(inLine); thisLine = inLine(comb); [tempStr, remain] = strtok(thisLine, '<>'); % logic branch depending on first keyword in line just read switch tempStr case 'step' stepName = strtok(remain, '<>'); case 'alter' alterValue = str2double(strtok(remain, '<>')); case 'octave' octValue = str2double(strtok(remain, '<>')); case '/pitch' thisPitchDone = true; end end end thisPitchDone = false; while ~thisNoteDone % read the next line inLine = fgetl(inFileID); comb = ~isspace(inLine); thisLine = inLine(comb); [tempStr, remain] = strtok(thisLine,'<>'); % logic branch depending on first keyword in line just read switch tempStr case 'duration' durValue = str2double(strtok(remain,'<>')); case 'voice' voiceValue = str2double(strtok(remain,'<>')); case 'tietype="stop"/' tieStop = true; case '/note' thisNoteDone = true; end end thisNoteDone = false; 202 % assign the absolute pitch % 12 half steps per octave % Octave 4 is the octave that starts with middle C % Pitch 1 is the C, 3 octaves below middle C (contra octave) % This does exclude 3 notes in the sub-contra octave. % TODO: find a way to handle the sub-contra octave notes. octavePitch = 12 * octValue; switch stepName case 'C' basePitch = 1; case 'D' basePitch = 3; case 'E' basePitch = 5; case 'F' basePitch = 6; case 'G' basePitch = 8; case 'A' basePitch = 10; case 'B' basePitch = 12; end if stepName == 'R' absolutePitch = -1; else absolutePitch = octavePitch + basePitch + alterValue; end % write the note to the holding array % set newNoteArray element to 1 each time we run through here % unless tieStop is set true, then set to newNoteArray to zero newNoteArray(currentTime(voiceValue)+1,voiceValue) = ~tieStop; for n = 1:durValue % write the absolute pitch value to the pitch array pitchArray(currentTime(voiceValue)+n,voiceValue) = absolutePitch; % write the current time and the measure number to the timing array timingArray((currentTime(voiceValue)+n),1) = currentTime(voiceValue)+n; timingArray((currentTime(voiceValue)+n),2) = currentMeasureValue; end 203 currentTime(voiceValue) = currentTime(voiceValue) + durValue; end % reset for the next time around the loop stepName = ''; alterValue = 0; octValue = 0; durValue = 0; voiceValue = 0; basePitch = 0; tieStop = false; inLine = fgetl(inFileID); comb = ~isspace(inLine); thisLine = inLine(comb); end fclose(inFileID); % do a check here to see if any of the voices are empty for the whole piece testA = sum(isnan(pitchArray),1); testB = totalUnits*ones(1,voiceValueMax); checkVoice = logical(testA >= testB); negCheckVoice = ~checkVoice; pitchArray = pitchArray(:,negCheckVoice); newNoteArray = newNoteArray(:,negCheckVoice); voiceValueMax = voiceValueMax - sum(checkVoice); disp(['Max number of voice in piece = ' num2str(voiceValueMax)]) % set up holding arrays for interval counts ii = 1; nRows = sum(1:voiceValueMax-1); melodicArray = zeros(26,voiceValueMax); contrapuntalArray = zeros(nRows,17); motionTypeArray = zeros(nRows,4); intervalNotationArray = cell(totalUnits, nRows); % tabulate melodic intervals for voice = 1:voiceValueMax for timeUnit = 2:totalUnits % if a new note and not a rest at this time or previous time if ((pitchArray(timeUnit,voice) ~= -1) && (pitchArray(timeUnit - 1,voice) ~= -1) ... && (newNoteArray(timeUnit,voice) == 1)) 204 % - determine melodic interval interval = pitchArray(timeUnit,voice) - pitchArray(timeUnit - 1,voice); % - increment appropriate melodic interval count if interval > 12 || interval < -12 melodicArray(26,voice) = melodicArray(26,voice) + 1; else melodicArray(interval+13,voice) = melodicArray(interval+13,voice) + 1; end end end end melodicArray = melodicArray'; % build up an array of combinations for indexing the contrapuntal voices tempComboArray = NaN(nRows,2); for n = 1:(voiceValueMax - 1); for m = 1:n tempComboArray(ii,1) = voiceValueMax - n; tempComboArray(ii,2) = voiceValueMax - m + 1; ii = ii + 1; end end % flip the array over comboArray = flipud(tempComboArray); % tabulate contrapuntal intervals for timeUnit = 1:totalUnits for jj = 1:nRows if (pitchArray(timeUnit,comboArray(jj,1)) ~= -1) && ~isnan(pitchArray(timeUnit,comboArray(jj,1)))... && (pitchArray(timeUnit,comboArray(jj,2)) ~= -1) && ~isnan(pitchArray(timeUnit,comboArray(jj,2))) tempInterval = abs(pitchArray(timeUnit,comboArray(jj,1)) - pitchArray(timeUnit,comboArray(jj,2))); if tempInterval > 16 if mod(tempInterval,12) <= 4 colIndex = mod(tempInterval,12) + 13; else colIndex = mod(tempInterval,12) + 1; end else colIndex = tempInterval + 1; end 205 % write a numeric value to contrapuntalArray contrapuntalArray(jj,colIndex) = contrapuntalArray(jj,colIndex) + 1; % write an alpha value to notationArray switch colIndex case 1 intervalNotationArray{timeUnit,jj} = ' Uni'; case 2 intervalNotationArray{timeUnit,jj} = ' m2'; case 3 intervalNotationArray{timeUnit,jj} = ' M2'; case 4 intervalNotationArray{timeUnit,jj} = ' m3'; case 5 intervalNotationArray{timeUnit,jj} = ' M3'; case 6 intervalNotationArray{timeUnit,jj} = ' P4'; case 7 intervalNotationArray{timeUnit,jj} = ' TT'; case 8 intervalNotationArray{timeUnit,jj} = ' P5'; case 9 intervalNotationArray{timeUnit,jj} = ' m6'; case 10 intervalNotationArray{timeUnit,jj} = ' M6'; case 11 intervalNotationArray{timeUnit,jj} = ' m7'; case 12 intervalNotationArray{timeUnit,jj} = ' M7'; case 13 intervalNotationArray{timeUnit,jj} = ' P8'; case 14 intervalNotationArray{timeUnit,jj} = ' m9'; case 15 intervalNotationArray{timeUnit,jj} = ' M9'; case 16 intervalNotationArray{timeUnit,jj} = ' m10'; case 17 intervalNotationArray{timeUnit,jj} = ' M10'; end end end end % tabulate relative motion 206 for timeUnit = 2:totalUnits for jj = 1:nRows if ((pitchArray(timeUnit,comboArray(jj,1)) ~= -1)... % upper voice pitch at current time step is not a rest && ~isnan(pitchArray(timeUnit,comboArray(jj,1)))... % upper voice pitch at current time step is not a NaN && (pitchArray(timeUnit,comboArray(jj,2)) ~= -1)... % lower voice pitch at current time step is not a rest && ~isnan(pitchArray(timeUnit,comboArray(jj,2)))... % lower voice pitch at current time step is not a NaN && (pitchArray(timeUnit-1,comboArray(jj,1)) ~= -1)... % upper voice at previous time step is not a rest && ~isnan(pitchArray(timeUnit-1,comboArray(jj,1)))... % upper voice at previous time step is not a NaN && (pitchArray(timeUnit-1,comboArray(jj,2)) ~= -1)... % lower voice at previous time step is not a rest && ~isnan(pitchArray(timeUnit-1,comboArray(jj,2)))... % lower voice at previous time step is not a NaN && ((newNoteArray(timeUnit,comboArray(jj,1)) == 1)... % upper voice at current time step is a new note && (newNoteArray(timeUnit,comboArray(jj,2)) == 1))) % lower voice at current time step is a new note % determine the motion vector for each voice in the contrapuntal pair vec1 = pitchArray(timeUnit,comboArray(jj,1)) - pitchArray(timeUnit- 1,comboArray(jj,1)); vec2 = pitchArray(timeUnit,comboArray(jj,2)) - pitchArray(timeUnit- 1,comboArray(jj,2)); % determine the pair-wise interval magnitude for current and % previous time steps intNow = abs(pitchArray(timeUnit,comboArray(jj,1)) - pitchArray(timeUnit,comboArray(jj,2))); intPre = abs(pitchArray(timeUnit-1,comboArray(jj,1)) - pitchArray(timeUnit- 1,comboArray(jj,2))); % classify the type of relative motion if ((intNow == intPre) ... || (intNow == 1 && intPre == 2) ... || (intNow == 2 && intPre == 1) ... || (intNow == 3 && intPre == 4) ... || (intNow == 4 && intPre == 3) ... || (intNow == 5 && intPre == 6) ... || (intNow == 6 && intPre == 5) ... || (intNow == 6 && intPre == 7) ... 207 || (intNow == 7 && intPre == 6) ... || (intNow == 8 && intPre == 9) ... || (intNow == 9 && intPre == 8) ... || (intNow == 10 && intPre == 11) ... || (intNow == 11 && intPre == 10) ... || (intNow == 13 && intPre == 14) ... || (intNow == 14 && intPre == 13) ... || (intNow == 15 && intPre == 16) ... || (intNow == 16 && intPre == 15)) % parallel motion motionTypeArray(jj,1) = motionTypeArray(jj,1) + 1; elseif (intNow ~= intPre ... && ((vec1 > 0 && vec2 > 0)... || (vec1 < 0 && vec2 < 0))) % similar motion motionTypeArray(jj,2) = motionTypeArray(jj,2) + 1; elseif (intNow ~= intPre ... && ((vec1 > 0 && vec2 < 0)... || (vec1 < 0 && vec2 > 0))) % contrary motion motionTypeArray(jj,3) = motionTypeArray(jj,3) + 1; elseif (intNow ~= intPre ... && ( vec1 ==0 || vec2 == 0 )) % oblique motion motionTypeArray(jj,4) = motionTypeArray(jj,4) + 1; end end end end % export the data to a file readable by Microsoft Excel % set up a default file name and path based in the input file dotLoc = strfind(FileName,'.'); % replace the characters forward of the last '.' with csv tempOutFileName = [FileName(1:dotLoc(end)) 'csv']; [outFileName, outPathName] = uiputfile([PathName tempOutFileName],'Select Output File'); 208 % set up a name for the notation output file dotLoc = strfind(outFileName,'.'); notationOutFileName = [outFileName(1:dotLoc(end)-1) '_Notes.csv']; % write the tabulated interval data to the csv output file outFilePath = [outPathName outFileName]; outFileID = fopen(outFilePath,'w'); fprintf(outFileID,'%s \n',outFilePath); fprintf(outFileID,'\n'); fprintf(outFileID,'Melodic Intervals \n'); fprintf(outFileID,',-12,-11,-10,-9,-8,-7,-6,-5,-4,-3,-2,- 1,0,1,2,3,4,5,6,7,8,9,10,11,12,+\n'); for voiceNum = 1:voiceValueMax fprintf(outFileID,'%s ,',voiceNamesShort{voiceNum}); for jj = 1:size(melodicArray,2)-1 fprintf(outFileID,'%u,',melodicArray(voiceNum,jj)); end fprintf(outFileID,'%u\n',melodicArray(voiceNum,jj+1)); end fprintf(outFileID,'\n'); fprintf(outFileID,'Contrapuntal Intervals\n'); fprintf(outFileID,','); for colNum = 1:size(contrapuntalArray,2)-1 fprintf(outFileID,'%s,',contraLabels{colNum}); end fprintf(outFileID,'%s\n',contraLabels{colNum+1}); comboNameString = cell(size(motionTypeArray,1),1); for comboNum = 1:size(comboArray,1) comboNameString{comboNum} = [voiceNamesShort{comboArray(comboNum,1)} '-' voiceNamesShort{comboArray(comboNum,2)}]; fprintf(outFileID,'%s,',comboNameString{comboNum}); for jj = 1:size(contrapuntalArray,2)-1 fprintf(outFileID,'%u,',contrapuntalArray(comboNum,jj)); end fprintf(outFileID,'%u\n',contrapuntalArray(comboNum,jj+1)); end fprintf(outFileID,'\n'); fprintf(outFileID,'Relative Motion\n'); fprintf(outFileID,',Parallel,Similar,Contrary,Oblique\n'); for comboNum = 1:size(comboArray,1) comboNameString{comboNum} = [voiceNamesShort{comboArray(comboNum,1)} '-' voiceNamesShort{comboArray(comboNum,2)}]; fprintf(outFileID,'%s,',comboNameString{comboNum}); for jj = 1:size(motionTypeArray,2)-1 fprintf(outFileID,'%u,',motionTypeArray(comboNum,jj)); end 209 fprintf(outFileID,'%u\n',motionTypeArray(comboNum,jj+1)); end fclose(outFileID); % write the notation data to the notation output file outFilePath = [outPathName notationOutFileName]; outFileID = fopen(outFilePath,'w'); fprintf(outFileID,'%14s,','Time Step'); for jj = 1:size(timingArray,1) fprintf(outFileID,'%6d,',timingArray(jj,1)); end fprintf(outFileID,'\n'); fprintf(outFileID,'%14s,','Measure Number'); for jj = 1:size(timingArray,1) fprintf(outFileID,'%6d,',timingArray(jj,2)); end fprintf(outFileID,'\n'); for kk = 1:nRows lineTitleString = [voiceNamesShort{comboArray(kk,1)} '-' voiceNamesShort{comboArray(kk,2)}]; fprintf(outFileID,'%14s,',lineTitleString); for jj = 1:size(timingArray,1) fprintf(outFileID,'%6s,',intervalNotationArray{jj,kk}); end fprintf(outFileID,'\n'); fprintf(outFileID,'%14s,','New Note'); for jj = 1:size(timingArray,1) if newNoteArray(jj,comboArray(kk,1)) && newNoteArray(jj,comboArray(kk,2)) fprintf(outFileID,'%6d,',1); else fprintf(outFileID,' ,'); end end fprintf(outFileID,'\n'); end fclose(outFileID); % plot the data colPal = lines; titleFontSize = 14; 210 % radar plot of each melodic interval for voiceNum = 1:voiceValueMax figure('name',[voiceNames{voiceNum} ' Melodic Intervals']) radarPlot(melodicArray(voiceNum,:),'Melodic','LineWidth',3,'Color',colPal(voiceNum,:)) title([voiceNames{voiceNum} ' Melodic Intervals'],'FontSize',titleFontSize) end % radar plot of all combined melodic intervals figure('name','All Melodic Intervals') radarPlot(melodicArray,'Melodic','LineWidth',3); title('All Melodic Intervals','FontSize',titleFontSize) % radar plot of each contrapuntal interval for comboNum = 1:size(comboArray,1) figure('name',[voiceNames{comboArray(comboNum,1)} '-' voiceNames{comboArray(comboNum,2)} ' Contra Int']) radarPlot(contrapuntalArray(comboNum,:),'Contrapuntal','LineWidth',3,'Color',colPal(comboNum, :)) title([voiceNames{comboArray(comboNum,1)} '-' voiceNames{comboArray(comboNum,2)} ' Contrapuntal Intervals'],'FontSize',titleFontSize) end % radar plot of all combined contrapuntal intervals figure('name','All Contrapuntal Int') radarPlot(contrapuntalArray,'Contrapuntal','LineWidth',3) title('All Contrapuntal Intervals','FontSize',titleFontSize) % radar plot of motion type for each contrapuntal combination for comboNum = 1:size(comboArray,1) figure('name',[voiceNames{comboArray(comboNum,1)} '-' voiceNames{comboArray(comboNum,2)} ' Motion Type']) radarPlot(motionTypeArray(comboNum,:),'MotionType','LineWidth',3,'Color',colPal(comboNum,:)) title([voiceNames{comboArray(comboNum,1)} '-' voiceNames{comboArray(comboNum,2)}],'FontSize',titleFontSize) end % radar plot of motion type for all contrapuntal combinations figure('name','All Motion Types') radarPlot(motionTypeArray,'MotionType','LineWidth',3) title('All Motion Types','FontSize',titleFontSize) % bar plot of motion type for each contrapuntal combination yIndex = 1:4; 211 for comboNum = 1:size(comboArray,1) figure('name',[voiceNames{comboArray(comboNum,1)} '-' voiceNames{comboArray(comboNum,2)} ' Motion Type Bar']) h = bar(yIndex,motionTypeArray(comboNum,:)); set(h,'FaceColor',colPal(comboNum,:)); set(gca,'XTickLabel',motionLabels) title([voiceNames{comboArray(comboNum,1)} '-' voiceNames{comboArray(comboNum,2)} ' Motion'],'FontSize',titleFontSize) end % bar plot of motion type for all contrapuntal combintations figure('name','All Motion Types Bar') bar(yIndex,motionTypeArray') set(gca,'XTickLabel',motionLabels) title('All Motion Types','FontSize',titleFontSize) legendString = cell(size(motionTypeArray,1),1); for jj = 1:size(motionTypeArray,1) legendString{jj} = [voiceNamesShort{comboArray(jj,1)} '-' voiceNamesShort{comboArray(jj,2)}]; end legend(legendString{:},'Location','Best') colormap lines(6) grid on function varargout = radarPlot( plotInArray, plotType, varargin ) %% radarPlot global voiceNamesShort global contraLabels global motionLabels global comboArray % Get the number of dimensions and points [~, numCols] = size(plotInArray); maxVal = max(max(plotInArray)); % Plot the radial axes % Radial offset per axis if strcmp(plotType, 'Melodic') th = (2*pi/numCols)*(ones(2,1)*(numCols:-1:1)) + pi/2 + 12*(2*pi/numCols); elseif strcmp(plotType, 'Contrapuntal') || strcmp(plotType, 'MotionType') th = (2*pi/numCols)*(ones(2,1)*(numCols:-1:1)) + pi/2; end % Axis start and end 212 if maxVal < 10 radialIndex = 0:maxVal+1; elseif 11 <= maxVal && maxVal < 50 radialIndex = 0:5:5*ceil(maxVal/5); elseif 51 <= maxVal && maxVal < 100 radialIndex = 0:10:10*ceil(maxVal/10); elseif 101 <= maxVal && maxVal < 500 radialIndex = 0:50:50*ceil(maxVal/50); elseif 501 <= maxVal && maxVal < 1000 radialIndex = 0:100:100*ceil(maxVal/100); else radialIndex = 0:500:500*ceil(maxVal/500); end r = [0; radialIndex(end)]*ones(1,numCols); % Conversion to cartesian coordinates to plot using regular plot. [x,y] = pol2cart(th, r); hLine = line(x, y,... 'LineWidth', 0.5,... 'Color', [1, 1, 1]*0.5 ); for i = 1:numel(hLine) set(get(get(hLine(i),'Annotation'),'LegendInformation'),... 'IconDisplayStyle','off'); % Exclude line from legend end toggle = ~ishold; if toggle hold on end % Plot axes isocurves % We want to have between 5 and 10 isocurves if strcmp(plotType, 'Melodic') th = (2*pi/numCols)*(ones(length(radialIndex),1)*(numCols:-1:1)) + pi/2 + 12*(2*pi/numCols); elseif strcmp(plotType, 'Contrapuntal') || strcmp(plotType, 'MotionType') th = (2*pi/numCols)*(ones(length(radialIndex),1)*(numCols:-1:1)) + pi/2; end % Axis start and end r = (radialIndex')*ones(1,numCols); 213 % Conversion to cartesian coordinates to plot using regular plot. [x,y] = pol2cart(th, r); hLine = line([x, x(:,1)]', [y, y(:,1)]',... 'LineWidth', 1,... 'Color', [1, 1, 1]*0.5 ); for i = 1:numel(hLine) set(get(get(hLine(i),'Annotation'),'LegendInformation'),... 'IconDisplayStyle','off'); % Exclude line from legend end % Insert axis labels if strcmp(plotType, 'Melodic') for j = 1:numCols % Generate the axis label if j < 26 msg = num2str(j-13); else msg = '+'; end [mx, my] = pol2cart( th(1, j), radialIndex(end)*1.1); if th(1,j) > pi/2 && th(1,j) < 3*pi/2 text(mx*1.1,my, msg); else text(mx, my, msg); end end elseif strcmp(plotType, 'Contrapuntal') for j = 1:numCols [mx, my] = pol2cart( th(1,j), radialIndex(end)*1.1); if th(1,j) > pi/2 && th(1,j) < 3*pi/2 text(mx*1.1, my, contraLabels{j}); else text(mx, my, contraLabels{j}); end end elseif strcmp(plotType, 'MotionType') for j = 1:numCols [mx, my] = pol2cart( th(1,j), radialIndex(end)*1.1); if th(1,j) > pi/2 && th(1,j) < 3*pi/2 text(mx*1.1, my, motionLabels{j}); else text(mx, my, motionLabels{j}); end end else 214 error('ErrMsg:PlotType','Unknown plot data type. Use only Melodic or Contrapuntal data sets') end for j = 2:length(radialIndex) msg = num2str(radialIndex(j)); text(radialIndex(j)+0.75, 0, msg); end axis([-1.2, 1.2, -1.2, 1.2]*radialIndex(end)) axis('equal') hold on set(gca,'box','on'); set(gca,'XTick',[]); set(gca,'YTick',[]); set(gca,'XTicklabel',''); set(gca,'YTicklabel',''); lineColors = lines; legendLineHandles = NaN(size(plotInArray,1),1); legendString = cell(size(plotInArray,1),1); for lineNum = 1:size(plotInArray,1) % Radius RadA = ones(2,1)*plotInArray(lineNum,:); RadB = [RadA(1,:);circshift(RadA(2,:),[2, 1])]; if strcmp(plotType, 'Melodic') Th = (2*pi/numCols)*ones(2,1)*(numCols:-1:1) + pi/2 + 12*(2*pi/numCols); elseif strcmp(plotType, 'Contrapuntal') || strcmp(plotType, 'MotionType') Th = (2*pi/numCols)*ones(2,1)*(numCols:-1:1) + pi/2; end ThB = [Th(1,:);circshift(Th(2,:),[2, 1])]; [X, Y] = pol2cart(ThB, RadB); hLine = line(X, Y, varargin{:}); if size(plotInArray,1) > 1 set(hLine(:),'Color',lineColors(lineNum,:)) legendLineHandles(lineNum) = hLine(1); if strcmp(plotType, 'Melodic') legendString{lineNum} = voiceNamesShort{lineNum}; else legendString{lineNum} = [voiceNamesShort{comboArray(lineNum,1)} '-' 215 voiceNamesShort{comboArray(lineNum,2)}]; end end end if size(plotInArray,1) > 1 legend(legendLineHandles,legendString); end if nargout > 0 varargout{1} = hLine; end 216 REFERENCES Bach, Johann Michael. Johann Michael Bach Sämtliche Orgelchoräle. Edited by Christoph Wolff. Stuttgart: Carus-Verlag, 1988. Bach, Johann Sebastian. J.S. Bach Organ Chorales from the Neumeister Collection. Edited by Christoph Wolff. New Haven: Yale University Press, 1986. Bach, Johann Sebastian. Kompositionen für die Orgel. Vol. 9. Edited by Max Seiffert, Leipzig: Peters, 1904. Barrett, Karen. “Musical Counterpoint: Attention and Perception.” PhD diss., Northwestern University, 2015. Brinkman, Alexander R. “Johann Sebastian Bach’s ‘Orgelbuchlein’: Computer-Assisted Study of the Melodic Influence of the Cantus Firmus on the Contrapuntal Voices.” PhD. diss., University of Rochester, 1978. Dalton, James. Review of The Neumeister Collection of Chorale Prelude of the Bach Circle (Yale University, Manuscript LM 4708), edited by Christoph Wolff. Music and Letters 68, no.2 (April 1987):195-196. Hunter, David. Beginning XML. Indianapolis: Wiley Publishing, Inc., 2007. Jones, Sara A. “The Neumeister Collection of Chorale Prelude of the Bach Circle: An Examination of the Chorale Preludes of J. S. Bach and Their Usage as Service Music and Pedagogical Works.” DMA diss., Louisiana State University, 2002. Pachelbel, Johann. Acht Choräle zum Praeambulieren. Edited by Jean-Claude Zehnder. Winterthur/Schweiz: Amadeus, 1992. Pachelbel, Johann. Orgelkomposition von Johann Pachelbel (1653-1706) nebst beigefügten Stücken von W.H. Pachelbel (1686-1764). Edited by Max Seiffert. Leipzig: Breitkopf & Härtel, 1903. Reilly, Allyn Dixon. “Georg Andreas Sorge's ‘Vorgemach der Musicalischen Composition’; A Translation and Commentary.” PhD. diss., Northwestern University, 1980. Schuler, Nico Stephan. "Methods of Computer-Assisted Music Analysis: History, Classification, and Evaluation." PhD. Diss., Michigan State University, 2000. 217 Stinson, Russell. “Some Thoughts on Bach’s Neumeister Chorales.” The Journal of Musicology 11, no. 4 (Autumn 1993): 455-77. Williams, Peter. Review of The Neumeister Collection of Chorale Preludes from the Bach Circle (Yale University, Manuscript LM 4708), edited by Christoph Wolff. Early Music 15, no. 1 (February 1987): 93-96. Wolff, Christoph. Bach: Essays on His Life and Music. Cambridge MA: Harvard University Press, 1991.