In a few pieces of music I have read through, I have come across double-sharps and flats.
To my understanding, they are two semitones above/below the note indicated. What is, then, the point of these notations?
These are also known as augmented and diminished notes, respectively.
Often it has to do with altering notes in a key that are already sharpened or flattened, such as a harmonic minor in a key where the 7th is a sharp. You could write F## (or Fx) as a G, but then your scale would have no F note in it but two different G's. Every time you put down an G note, you'd have to attached a sharp or natural to indicate which note is to be played. It's clearer to have an Fx and a G# than to have a G and a G#. And some will insist that every scale should have one of each letter-note.
I also suspect than in just intonation there's a difference between an augmented note and what would be the equivalent note in equivalent temperament (i.e., Fx is not actually the same sound/frequency as G). This answer to another question does a good job of explaining that.
It's spelling. It's like "hear" vs. "here". You wouldn't write "Come over hear so I can here you better" even though it sounds the same.
A major triad is spelled as if the notes are a certain distance apart. On the staff the notes will be on three lines or three spaces. In the key of C sharp minor, the tonic chord is C sharp, E, G sharp. You write it as C E G without the sharps because the sharps are already in the key signature. To turn it into a major chord you write C , E sharp, G -- not C, F natural, G.
Now suppose you're in B major. The third note of the scale is D sharp. To build a minor chord on D sharp you write D, F, A (which you play as D sharp, F sharp, A sharp because of the key signature). Now to make it a major chord you write D, F double-sharp, A.
There are times when you might write D sharp, G natural, A sharp when the chord has a different meaning. It has the same notes but it's functioning as something other than a major triad because of the chords that come before and after it. Again, it's like "here" vs. "hear".
The flat or sharp symbols (not yet considering double-sharps and double-flats, we'll get to that) are used for two purposes:
It's in the latter case you encounter double-sharps and double-flats.
Consider the case of D major: F♯ and C♯ are notes in the scale (the third degree and seventh degree respectively). This is an example of the first type. But if you augmented the 5th in D major, you'd write it A♯. This is an example of the second type. NOTE that you couldn't write an augmented 5th in D major as B♭ because the fifth is an A and you're raising that one semi-tone.
When you raise or lower a diatonic note, it keeps its letter name. Now say you were augmenting the third. The diatonic note is already marked with a sharp, so you have to use a double-sharp to indicate it's raised a semi-tone. Hence it becomes (G would be incorrect as that would be a fourth in D major, not an augmented third; similarly a diminished fourth in D major would be G♭ not F♯)
In B major, with its diatonic notes: B C♯ D♯ E F♯ G♯ A♯, if you needed to augment the 2nd, 3rd, 5th, 6th or 7th degrees, you'd use a double sharp. NOTE if you need to augment the B or E you write them B♯ and E♯ and NOT C or F.
If the diatonic note is already flat; the diminishing by a semi-tone would require a double-flat.
If a diatonically sharp note is to be diminished or a diatonically flat note to be augmented, you typically explicitly use the natural symbol ♮.
For example, a diminished fifth degree in B major would be F♮.
It's all about conventions. It would sound pretty weird to say that the major key of G sharp has both natural G and G sharp, don't you think?
It's also done to make it obvious when there's a foreign note to the current scale (say, a natural B in a C sharp major key).
It might be used by composers to point out certain tonal (diatonic or chromatic) relationships. For example, C sharp is "closer" to E double-sharp than to F. That way, composers can make any modulation into E double-sharp and then, by enharmonic equivalency go to the "distant" F.
There's even some documented music theory about how to write the chromatic scale correctly based on the current key signature.
One benefit of using F## instead of G Natural in a key where G is sharp (e.g., A Major) is that if you mark the G Natural it stays natural throughout the bar, and you may want the G to be played as a G sharp in the rest of the bar. It would be unfortunate to write G Natural, then G# again in the same bar. Better to write the F## and leave the subsequent G notes alone, i.e., they are already sharp as per the key signature.
The actual reason double accidentals were created was to complete music theory. An example of this would be in augmented and diminished notes.
The rules of music theory state that an augmented interval MUST be a raised semitone of the perfect interval:
In the key of B, your steps are: B, C#, D#, E, F#, G#, A#, B
Your perfect 5th is an F#. To diminish it, you HAVE to drop the pitch a semitone, and so your diminished 5th would be an F♮ instead of an E#. When augmenting, the same rules apply. To augment it, you HAVE to raise the pitch a semitone, so your augmented 5th would be an Fx instead of a G♮.
In the key of Db, your steps are: Db, Eb, F, Gb, Ab, Bb, C, Db
Your perfect 5th is an Ab. To augment it, you raise the pitch a semitone, so your augmented 5th would be an A♮. To diminish it, the same rules apply. You HAVE to drop the pitch a semitone to diminish the interval, so your diminished 5th would be an Abb instead of a G♮.
However... when composing music, accidentals are dealt with differently. The modern purpose is to use the least amount of accidentals as possible.
When doing this, you should try to make it so you have no written naturals since they are already understood. Only the notes that are not natural should have accidentals. You will find out that this is not always possible with just single accidentals.
Below is a blue scale run in the key of C, written 3 different ways. The one at the bottom is the one with the least amount of accidentals.
|C, Eb, F, Gb, G♮, Bb, B♮, C, B, Bb, G, Gb, F, Eb, C| 7 accidentals
|C, D#, E#, F#, G, A#, B, C, B, A#, G#, F#, E#, D#, C| 4 accidentals
|C, D#, F, Ex, G, A#, B, C, B, A#, G, Ex, F, D#, C| 3 accidentals
Using less accidentals makes it less complicated, of course... Reading an Ex after an F♮ is really wierd, but it makes sense because it uses less accidentals.
Triple accidentals also exist. They are rare though, because the only case you would use them is if you need a double accidental on G#/Ab. Try to guess why ;)
Say we have music in a certain minor scale where a particular note is sharp, according to the key signature.
For instance, the key of G# minor.
In G# minor, in the natural minor scale corresponding to the notes of B major, we have an F# note: it approaches the G# tonic from a tone below.
Now what happens if we want G# harmonic or melodic minor? We need to sharpen this note to make a leading tone. So F# is sharpened again: Fx (let the x symbol denote double sharp). Although this note is enharmonic to G, logically, it is a natural minor scale's sharpened note.
Trying to represent it as a natural G would be notationally awkward as well as confusing.
It would be notationally awkward because given phrase of music in the same bar could use both the G# and the Fx pitches. If the same note letter G is used for both, then there may have to be numerous transitions to G natural and back to G#, which might be verbose and hard to read.
There is a bigger problem than merely too many incidentals: namely that the G would be written on the "wrong" staff line. If we use G natural instead of Fx, and then write an ascending G# melodic minor scale, we will end up with two consecutive notes on the same line: the G natural and the G#. This would be unnecessarily confusing, visually: a half step looking like a repeated note (where you have to decipher some incidentals to see that it is not the case).
It would be confusing because the Fx note in the harmonic minor scale in the key of G# minor is in fact a sharpened F#. It is not a flattened G#. We know that the G# is not flattened because G# is still present in the altered scale (it is the root, after all). Flattening a note in a scale means that we remove that note and replace it with one which is one semitone down. In fact what is going on here that the F# has been removed, and was replaced by a G. The notation follows this understanding, and calls it an F double sharp.
So this is the purpose of a double sharp (and likewise a double flat). It occurs when we want to sharpen (or flatten) a note in a scale, but that note is already sharpened (or flattened) by the key signature.