Unmute the ringer (side switch) and complain to Apple of this interlocking.
Most likely no clef was detected. Clefs with alteration signs are not supported, ie. (cb3) or (cb4) in GABC code. Double clefs (c2@c4) are not either. Please report other cases.
Set "Temperament" to "just", as it sounds most linked.
Set "Envelope smooth" to at least 30, but avoid 100 (which causes litte cracking artefacts each note).
If tone is sometimes cut or fades away, computational load is probably too high. See below.
Untick "Miscellaneous" > "Stir during playback".
Minimise the browser window or switch to a blank tab during playback.
Generate the audio ahead of time using "Miscellaneous" > "Save audio file...", and play that file.
GABC files must contain the sequence:
line break, percent sign, percent sign, line break.
It divides the header section from the notation.
Chant not found. This site is not a complete copy of gregobase.selapa.net, most chants are still missing here.
Another number than 404? Please report.
See next.
You are offline.
Your browser or an addon blocks the "fetch" API, for example when the player is served from a "file://" URL (some browsers even block JavaScript entirely, eg. iOS).
In the "file://" case, you can work around that by running a web server on your machine:
Create a folder named "gabc" next to the player file, and put GABC files named like "123.gabc" in it. Then serve the containing folder (run in a command prompt, have Python installed, omit the "3" if it isn't found):
python3 -m http.server --directory path-to-containing-folder-here
For old python2, from within the containing folder:
python -m SimpleHTTPServer
You opened thousands of GABC files? Don't navigate away before all titles are loaded. Additionally, your browser limits how much data can be remembered in navigation history.
Otherwise, please report.
Your browser or an addon blocks the "localStorage" API; some browsers (eg. chromium) do this when the player is served from a "file://" URL.
The workaround for the latter case is to modify the default settings of your player using a text editor: search the setting name, and, depending on the kind of setting:
value="42"
selected
checked
Men, even if using a normal tuning fork (440 Hz), should set the "Ref. pitch" to 220 Hz to get a more helpful rendering of the pitch timeline (but with the reference an octave off).
To make the current note the new reference, click the "now" button below "Ref. pitch".
Alternatively, you may try to meet resonances of the building:
(Ref. pitch in Hz) = (331.5 + 0.6*(air temperature in °C)) / (2*(parallel distance of the most prominent walls in m))
Then find a register that minimizes the denominators of most notes relative to Ref., i.e. n:1 is ideal.
You may finally set a more beautiful reference using the "now" button.
The "Register" setting can also be changed conveniently thru the ♯/♭ buttons in the bottom left corner. An equivalent "Ref.→low semitones" value is shown to guide those used to an older version of GABC player. Register is anchored at 3/4 of the range of each chant, rounding up.
You have to find a compromise between matching your register and placing the reference in the harmonic center [average position in the Tonnetz] of the score.
Tones highlighted yellow cannot directly be reached from the reference: Either more than one regular or a wolf interval is required.
is a Tonnetz. It is applicable only in just intonation, and its subset, Pythagorean, but not in proper temperaments.
For practical advice, skip this and go to the next section.
Each point or letter is a different pitch class, i.e. an exact pitch and any number of octaves higher or lower.
[With non-"dots" "Tonnetz style"] Each note name is repeated (four times); yet every instance slightly differs in pitch.
Going right means a fifth higher (or a fourth lower, due to octave-invariance).
Going down means a major third higher; compared to most authors this is flipped (↕) in order to be more intuitive (Going a just major third up, you end lower than in equal temperament).
Math version: Frequency [the measure of pitch] ratios are built from the first three primes; their multiplicity is depicted as follows:
2 ‒ for octaves ‒ not depicted,
3 ‒ for fifths ‒ abscissa,
5 ‒ for thirds ‒ reversed ordinate.
The key appears as rounded rectangle spanning 3×4 points [pitch classes]. It is the harmonic context, defining the scale.
We call movements of this rectangle key changes, deviating a bit from common musical usage:
For example, modulating between F major and A minor causes no movement (but another subset of points is used).
This "key" is neither bound to key signatures nor to mode [the number given above the initial letter of a chant].
Notes (not shown) sit between as well as on the lines. That's only for readability, no difference in meaning. The dots on the right indicate all possible altitudes that notes can take.
Still, there are two kinds of step between adjacent altitudes: whole and semitone.
In this figure, parabola bands (not the decorative hops in them) visualize the semitone steps. Memorise their positions relative to the clef symbols.
The clef symbol at the beginning of each staff determines how the steps are distributed. The effect of the flat sign (♭) ends when the word ends, at a natural sign (♮), or at a barline (the spacers consisting of pure vertical lines: ' | ||), whatever comes first.
Please rotate your device to landscape orientation for viewing the table below.
# steps |
crossing # semitone bands |
that's # semitones total, |
called ... . | Tonnetz diagram: low—high note |
frequency ratio |
prime-exponent vector v: 2v₁ × 3v₂ × 5v₃ = ratio |
equal tempered semitones = 12 log2(ratio) |
---|---|---|---|---|---|---|---|
7 | 2 | 12 | an octave | 2:1 | (1, 0, 0) | 12.00 | |
3 | 11 | a major seventh | 15:8 | (-3, 1, 1) | 10.88 | ||
6 | 1 | ||||||
2 | 10 | a minor seventh | 9:5 | (0, 2, -1) | 10.18 | ||
16:9 | (4, -2, 0) | 9.96 | |||||
5 | 1 | 9 | a major sixth | 5:3 | (0, -1, 1) | 8.84 | |
2 | 8 | a minor sixth | 8:5 | (3, 0, -1) | 8.14 | ||
4 | 1 | 7 | a fifth | 3:2 | (-1, 1, 0) | 7.02 | |
2 | 6 | a tritone | 36:25 | (2, 2, -2) | 6.31 | ||
64:45 | (6, -2, -1) | 6.10 | |||||
3 | 0 | 45:32 | (-5, 2, 1) | 5.90 | |||
25:18 | (-1, -2, 2) | 5.69 | |||||
1 | 5 | a fourth | 27:20 | (-2, 3, -1) | 5.20 | ||
4:3 | (2, -1, 0) | 4.98 | |||||
2 | 0 | 4 | a major third | 5:4 | (-2, 0, 1) | 3.86 | |
1 | 3 | a minor third | 6:5 | (1, 1, -1) | 3.16 | ||
1 | 0 | 2 | a (whole) tone (step), also major second |
9:8 | (-3, 2, 0) | 2.04 | |
10:9 | (1, -2, 1) | 1.82 | |||||
1 | 1 | a semitone (step), also minor second |
27:25 | (0, 3, -2) | 1.33 | ||
16:15 | (4, -1, -1) | 1.12 | |||||
0 | -1 | 25:24 | (-3, -1, 2) | 0.71 | |||
0 | 0 | the same tone | 81:80 | (-4, 4, -1) | 0.22 | ||
1:1 | (0, 0, 0) | 0.00 | |||||
visible |
deduced | interpreted by just intonation |
In square notation, major and minor thirds look the same, as do whole and semitones. But you can tell it's the smaller thing if it spans over a semitone band.
In just intonation however, two kinds of whole tone step exist, namely the greater (9:8) and the lesser (10:9) one.
And here's the catch: Notation doesn't tell you which to use. So you have to remember that for each occurrence!
There are rules and patterns, though, but — maths aside — nothing definite:
Because intervals must add up and humans are generally bad at maths, GABC player aids in:
The "Warning: Untuned score!" reminds you that the melody will sound subtly wrong because it hasn't been tuned yet.
You can find my tunings of chants from the Graduale Romanum 1961 here.
If the following tuning procedure is too much work for you, or you lack the sensitivity required, consider using a meantone temperament instead. ⅕-, ¼-, or ²⁄₇-comma are best at approximating just intonation, with ⅕-comma being closer to modern listening habits and ¼-comma being the dominant tuning for instruments during renaissance.
Choose "Operating mode" > "Edit key changes".
Move the rounded rectangle in the Tonnetz to set a new key at the current tone.
A grey edge with the key coordinates written onto it appears in the timeline to indicate the presence of the key change.
To remove a key change, seek to the first note it effects, and set the key to match the key before this change, 0/0 being the implied start key.
Changing all keys by +4/−1 or ±0/+3 has no net effect. So please make the average key be close to 0/0 as a standard.
Before saving your work, click "Minimal key-changes form". This keeps all intervals the same while ensuring a compact and uniform key changes sequence. If the result surprises you, reconsider the tuning.
To save, copy the just-key-changes:[...]; GABC header and insert it into the source GABC file using a text editor (not a word processor).
Alternatively, click "Miscellaneous" > "Save minified GABC file...", which removes comments, unneeded whitespace and redefined headers from the file.
Eliminate the orange lines (wolf intervals) from the timeline.
For starters, set the key at Note# 0 such that the first orange line occurs as late in time as possible.
Seek to the note preceding the first wolf, and adjust the key as little as possible as to get rid of this wolf.
If that brings up a new wolf just before the old one, apply your new key earlier.
Repeat.
This procedure makes a "lazy" tuning: key only changes as late as possible to avoid a wolf.
Applied to e.g. the Agnus Dei II, this would result in an all-0/0 tuning, but I went another way...
Sometimes we feel that we shall change key on our own volition.
To me, the following example GABC snippets seem to be indicators for this:
(bba) or (b_a) → a-b is a lesser tone,
(a_b) or (b_a_) → a-b is a greater tone.
Voluntary key changes usually sound strange. This is remedied when:
The interval structure requires them (as in lazy tuning above).
Vowel changes.
There is a +2−4+2 or −2+4−2 semitone step pattern.
There is a rest.
The new key was in use shortly before.
Learn from the melody: when the key of a motif is fixed at one place by the preceding melody, apply the same key to the motif in places of uncertainity. Especially for Alleluias look at the end to re-tune the start.
When sections sound like being stuck in a groove, you can add key changes to create tension. Beware of that artificial touch.
Compare these tunings of the Offertory Jubilate Deo, where the stubborn version insists on: keeping the pitch of that flattened note consistent, and later on condemning the 27:25 semitone as wolf.
A long-term big key drift (typically by +4/−1) is unacceptable.
Unlike temperaments, it always keeps some overtone (and its multiples) unchanged between two notes.
This enables it to sound beautiful even (especially!) when the room reverberates.
The matching overtone must be within audible frequency range.
Say, you can hear up to 18 kHz and sing at 0.3 kHz, this leaves about 60 as the highest allowable overtone.
Thus eg. the syntonic comma (81:80) cannot be sung reliably.
Restricting the prime factors of frequency ratios reduces the number of dimensions (independent directions) in which the melody could walk away from the reference tone.
One prime, 2, enables only octaves; we need melodies!
Two primes, 2 and 3, would be Pythagorean tuning, but it results in way too big fractions like 256:243 for a semitone.
Three primes (2, 3, 5) are sufficient to represent all intervals we need for Gregorian chant.
The benefit of 7 is to add two(!) proper tritones. But chant avoids this problematic interval, anyway.
So let's not overtax ourselves, and stay with three primes (dimensions).
Thinking of key as a 3×4 rectangle is very practical.
It contains all 12 semitones that are in an octave, each of them once.
Calculations with rectangles are easy to program for.
Its intervallic width of 33=27 overtones is practically equal to the height of 52=25; we equally claim both dimensions.
It contains the major, minor, harmonic and melodic scales as point subsets. The chant determines which scale is in use by not using certain points, thus this concept is in no need to define a constrictive (heptatonic) scale.
Yet there are more harmonious choices:
Figure: Chromatic scales. Any is suitable as key shape [more on this below]. The rectangle produces two major limmas (135:128), denoted by Y and Z. The other shapes produce only good semitones ‒ 25:24, 16:15 and 27:25.
3×4 rectangle: Y # # # Z # # Y # # # Z symmetric chromatic: # # # # # # # # # # # # minor chromatic: # # # # # # # # # # # # major chromatic: # # # # # # # # # # # #
Figure: The Tonnetz representation of these heptatonic scales fits into any of the key shapes above.
natural minor scale: 6 3 7 4 1 5 2 harmonic minor scale: 6 3 4 1 5 2 7 melodic minor scale: 3 4 1 5 2 6 7 natural major scale: 4 1 5 2 6 3 7 harmonic major scale: 6 4 1 5 2 3 7
The choice of key shape has no real consequences on monophonic music: You may need more and generally different key changes to get the same result.
In polyphony however, key shape becomes critical if we want simultaneous notes to all receive the same key. Doing so greatly simplifies usage, but obviouly limits compositional freedom.
Side note: Sustained notes should not be affected by later key changes because all comma intervals are dissonant (and hard to get right in practice).
Octave-invariant key shapes are unsustainable in polyphony: consider these octave+semitone variants: 2×16:15=32:15 and 2×25:24=25:12. Assuming that lower parts mean higher consonance, this shows how the preferred semitone variant changes as we add an octave to it!
A consonance-optimized key shape thusly must be three-dimensional: We expect an infinitely high (in prime-2-axis) oblique (to compensate for 2s in factorisation) prism with the most compact chromatic scale as its base in the Tonnetz coordinate plane.
Obliqueness with a slope derived from logarithms implies a continuous key space: Prepare for real numbers and a base shape that is not just made of twelve pixels but of a polygon that tiles the Tonnetz when translated by any comma interval vector (∈ discrete span of 4/-1 and 0/3)...
Constructing this shape and finding an algorithm that maps from (semitone pitch, enhanced key) tuples to prime exponent vectors is left for future research.
Because there are probably six somehow bad variants of it:
25:18, 36:25, 7:5, 10:7, 45:32, 64:45
Their deviations from equal temperament (semitones) are:
−0.31, +0.31, −0.17, +0.17, −0.10, +0.10
Did you note that enticing pair, 7:5 and 10:7 ? Is it really worth the new prime factor, 7 ? How are we supposed to return from a step into 7-direction? Introduce more 7-based interval interpretations... But they are worse than every interpretation we already have for our 12-semitones-per-octave system. And a schola will hate learning so many interval variants.
The ones without 7 have bigger parts than the 16:15 semitone, but while not at all being superparticular [of the form (n+1):n]. This makes them harder to memorise.
Even worse, four of those have to be memorised. Unless the composer avoids just some of them...
While 25:18 and 36:25 feature lower parts, their deviations from equal temperament are twice that of a minor third.
It's a tie.
Note that minor sevenths aren't in chant either, probably because 7:4, 16:9 and 9:5 are all equally bad solutions in the same sense.
Major sevenths would be 15:8, but who wants that when the octave is only a semitone away?
Minor sixths are next in badness, some 8:5 jammed between the fifth (3:2) and the major sixth (5:3).
But we can ultimately argue against all intervals this way (I must have missed 16:15 and those hard-to-discern whole tones much earlier), so where to stop?
Finally, the historic reason might simply be that all these bad intervals are not contained in the hexachord, which formed the scale of original solfège:
Ut -w- Re -w- Mi -s- Fa -w- Sol -w- La, with w=whole and s=semitone.
On touchscreens, the pitch timeline is scrolled by dragging in its larger low part but sought on the upper part.
You can operate by keyboard when the play button is focused:
←→ seek,
↑↓ seek to a barline,
Pg↑Pg↓ seek to a line break,
HomeEnd seek to start/end.
In "Edit key changes" mode with just intonation:
WASD (or whatever letters are on the left of your keyboard) move the key,
M (or the fourth key to the left of right shift) minimizes key changes,
⌫ deletes preceding key change,
Delete deletes next key change.
You can drag'n'drop GABC files onto the player.
You can pass chants via URL by appending e.g.
#123a 🌍 GregoBase (external link) chant ID* prefixed with a hash sign, and/or
##name:Demo;%0Ajust-key-changes: 0=-1/0;%0A%25%25%0A(c4) O(bdhf)a URL-encoded GABC file prefixed with two hash signs.
Browser support begins roughly in 2016. Please report when one doesn't work:
You can download GABC player for offline use. ID-based playlists need some trickery though.