J.S. Bach chorale repertory

The URL http://verovio.humdrum.org/?file=chorales lists a set of 371 four-part chorales that were collected after J.S. Bach’s death by his son C.P.E. Bach (and finished by Kirnberger, a student of J.S. Bach, after C.P.E. Bach’s death). The chorales are ordered by Breitkopf & Härtel edition numbers and includes all chorales except #150 which is not in four parts.

The first complete edition of the chorales in this set was published by Breitkopf & Härtel from 1784-1787 in four volumes. The first incomplete edition consisted of 200 chorales in two volumes by Friedrich Wilhelm Birnstiel in 1765 & 1769, which was reprinted in 1975 by Georg Olms.

This digital edition is referenced against the fourth edition of the chorales by Breitkopf & Härtel: 371 vierstimmige Choralgesänge von Johann Sebastian Bach. 4th ed. by Alfred Dörffel. Breitkopf & Härtel, Leipzig [c. 1875]. 178 pp. Plate Number: V.A.10. Retypeset c. 1915 as Edition Breitkopf 10. Reprinted by Associated Music Publishers, Inc., New York [c. 1940].

Scans of the source edition for the first 50 chorales can be viewed by pressing alt-p when viewing a particular chorale:

chorale scan
Displaying the source edition scan with alt-p.

See this article: The History of the Breitkopf Collection of J.S. Bach’s Four-Part Chorales by Thomas Braatz for more information about the source edition of the Bach chorales.

Original-clef feature

The Bach-chorale repertory demonstrates how to encode original clefs. Type alt-o in VHV to switch between modern and original clefs when viewing the chorales:

alt-o demonstration

The first edition of this chorale collection was actually published in grand-staff arrangement, using soprano clef for the top staff and bass clef on the bottom staff:

first edition
First edtion of the chorales in soprano and bass clefs on a grand staff.

Here is an example arrangement of the music that more closely matches the original edition:

Grand-staff arrangement

The Same Bach chorale data can be viewed in grand-staff layout by using this link: verovio.humdrum.org/?file=chorales&filter=satb2gs.

grand-staff layout
Grand-staff layout of chorales using the satb2gs filter.

Transposed chorales

The Bach chorales can also be transposed all to the same tonic pitch in grand-staff layout by adding a transpose filter to the URL: verovio.humdrum.org/?file=chorales&filter=satb2gs%7ctranspose%20-kc.

grand-staff layout and transposed to C
Chorale transposed to tonic on C using the transpose filter.

Change the “c” at the end of the URL for C-transposed chorales to change to another tonic:


Humdrum data shown in the text editor is untransposed (showing the pre-filtered data). In the following screen shot, notice the music is in F major, but the notation is in F-sharp major:

chorale 27 in f-sharp major
Chorale 27 transposed to F-sharp major using the transpose filter.

To view the transposed score in the text editor, type alt-c to compile the filter instructions:

chorale 27 in f-sharp major
Chorale 27 data compiled to F-sharp major with alt-c.

Downloading and corrections

This digital edition of the J.S. Bach chorales is available on Github for download. Corrections to the edition can be submitted on Github, either as an issue (in prose), or preferrably as a pull request (direct corrections to the data files). The corrections should match the source edition scans (viewed by typing alt-p on the first 50 chorales, or an explanation should otherwise be submitted with the correction as to why the correction does not match the source scans.

Bach chorale website

J.S. Bach chorale website
Website using the Bach chorale digital scores

This website demonstrates how to publish scores on the web after they are edited with Verovio Humdrum Viewer. Source code for the website can be viewed here. The chorale website utilizes the Humdrum notation plugin to render notation for the chorales dynamically on the website in a manner similar to VHV. Also check out the Typesetter page where you can adjust the layout for the choral (controlling the size, spacing, parts, measure range and transposition), and then either copy plugin code to insert the dynamic notation of a score on your webpage, or download an SVG to display on your webpage or insert into a paper edited in Microsoft Word, for example.

Measures 6–7 of chorale no. 273
Measures 6–7 of chorale no. 273 generated on the typesetter page.

The above SVG image can also be generated dynamcally in a webpage using the following code:

<title>My Example</title>
<script src="https://verovio-script.humdrum.org/scripts/verovio-toolkit.js"></script>
<script src="https://plugin.humdrum.org/scripts/humdrum-notation-plugin.js"></script>
<script>var vrvToolkit = new verovio.toolkit()</script>
<div style="width:590px">

   source: "chor273-mm6-7",
   scale: 60,
   spacingNonLinear: 0.58,
   filter: "myank -m 6-7 | satb2gs",
   uri: "github://craigsapp/bach-370-chorales/kern/chor273.krn"
<script id="chor273-mm6-7" type="text/x-humdrum"></script>


Try copy-and-pasting the above HTML code into a file and open it in a web browser to view the same notation as in the figure further above.