La Serenissima for violin and strings (after Vivaldi) – how its chords and harmonic sequences are made : generating a stream of pitches from a white-noise fractal : how to devise 4-part chords : how to create chord sequences : the idea of the function substitute-map : chaining score-scripts together : the problem of fashioning the solo part in the slow second movement : developing a trajectory generator to link intervals between chords : the third movement – a different approach to handling chords and sequences : marrying rhythmic articulation and harmonic rhythm.
In the previous section melody is seen as an ordered collection of pitches that can come together to form the material for accompaniment, and this is often a sequence of harmonic objects, some vertically aligned in chords, some arpeggiated, or as a melodic counterpoint. In this section harmony and chords are more closely linked, melody appearing as a result of composing harmony and chordal progression.
The piece chosen to illustrate how this might come about in a CAC system began life from a long-held fascination with an idea first expressed by the composer Antonio Vivaldi. His collection of 12 string concertos (includes The Four Seasons) owned the title Il cimento dell’armonia e dell’inventione (The Contest Between Harmony and Invention). These celebrated pieces for violin, strings and basso continuo have rightly enjoyed wide-spread popularity because of their clear-cut harmonies expressed in a rhythmic continuum uncomplicated or defused by counterpoint. Such music reveals an agreeable sonic structure that transfers well into 20 and 21C styles and situations. There are many examples in the contemporary literature that adopt the play of harmonic invention found in the music of the Italian masters of the Baroque. In the opening of Michael Tippett’s 2nd Symphony the composer acknowledges ‘the pounding low Cs’ providing a Vivaldian spirit to the highly syncopated violin melody’. For a composition closer still in spirit and scoring Violin Concerto No.1 by Poul Ruders is a striking ‘take’ on the Vivaldi model including brief echoes of The Four Seasons.
La Serenissima (2013) for violin and string orchestra focuses on Vivaldi’s Concerto in D major Op.3 No.6. Whilst it shares the structure, scoring and in the final movement moves by stealth towards Vivaldi’s rhythmic scheme, the score wholly reinvents harmony and rhythmic interplay between the solo violin and the ensemble.
The pulsing rhythmic starting point of La Serenssima has already featured in the section ‘Starting with Rhythm‘, and a section from the solo violin part has been used in ‘More on Rhythm’to demonstrate how CAC can help a composer improvise towards a novel and decorative rhythmic play of pitches over a pulsing accompaniment.
The generation of chords and harmonic sequences follow a similar pattern in all 3 movements. The chords are gathered from a pitch stream converted from the vector output of a white-noise fractal.
To establish the rhythmic boundaries the pulsing note-lengths of the first movement are defined like this:
The function length-divide divides up the flow of 1/8th lengths to add 1/16ths into the rhythmic texture. Then the function gen-divide makes lists containing 6 lengths. This creates bars of 5/8, 4/8, 9/16, 11/16 . . .
The final expression using the function make-omn brings length and pitch together to produce an OMN list. Now there are lengths alongside pitches, this list of bars enables time-signatures of each bar to be generated.
The vector-to-pitch range has been reduced and reversed from (g2 g5) to (g5 to g4). These extra chord tones from the violin melody produce an effective extension of the tonality of the first harmonic object, here shown below:
The next section of the first movement demonstrates the use of substitute-map. Such a function is invaluable for creating and organising chord sequences. The idea of the function is to match a list of integers against a list of chords or pitches.
So, ‘(1 2 3 4) might be matched against:
The advantage of using this function is that the composer doesn’t have to manipulate a new or extended arrangement of chords ‘by hand’. In the second section of La Serenissima the harmony is based on the same 13 chords created for the introductory bars 1 -13, but remapped and using repetitions with this list of integers ’(1 2 1 3 1 4 3 1 2 3 4)
Here is the substitute mapping for the bars 13 to 24 using the original list of thirteen chords created for the opening section:
For the rest of the first movement a similar pattern of chord creation and ordering is followed until there are some seven different sections completed. These are devised as separate-score scripts and then organised as separate midi-files. Compare the script example below with that of the section assemble-seq of the second Selah for cello and piano.
Although the second movement of La Serenissima uses the same approach as the first movement in creating a sequence of chords, the musical context is wholly different. It’s a very slow movement, there is no basso and the solo part weaves between three violin parts underpinned by a viola. Straight-forward certainly, but how to ‘make’ the solo part both distinct and virtuosic. Here’s the harmonic backdrop:
Although what will be described here is not about building chords or harmonic sequences, it is dependent on harmonic information. It shows how the interval difference between one chord voice and the next can generate a linking trajectory of pitches. This means creating a special or bespoke function; it seems a good opportunity to pause here and think what the design elements for such a function might be. Suppose we extract the pitches of the soprano part of first eight chords and look at the intervals:
Oh dear, we’ve got two points where adjoining intervals are the same. What we could do is write into the function the condition which says: if this happens the function would generate a random number of pitches surrounding the pitch (in the manner of an ornament).
In creating such a function it can be a good idea to build several smaller functions than attempt a ‘catch-all’ function. Partly it’s a matter of style, but it’s also easier to manage. For our examples we’ll just look at the first eight chords and how each of the two functions work: This does the business but doesn’t mark out for the composer the individual trajectories between chords. But this version does:
The rhythmic articulation of the trajectories is composed ‘freehand’ without computer intervention, the composer imagining the partition of the pitches into rhythms that best fit the contours of the generated phrases.
The third movement of La Serenissima segues attacca from the second movement. The harmonic structuring is similar to movements one and two, but the chordal content, the number of chords and their arrangement are new. Also, there is a swifter harmonic rhythm with a contrapuntal dialogue between the higher strings and the basso of cello and double bass. The solo violin meanwhile plays many repeated arpeggiated figures that often carry the harmony of the sixteen-chord sequence against the basso alone. Here’s the harmonic material, again with a structuring based on a map of integers:
Between the parentheses the rhy-acc loops for the duration of the rhy-harm producing repeated figures. The exception to this is the viola part whose length and harmonic rhythm are rhy-acc. This produces a more flowing and changing part playing against the more repetitive figures in the violin parts.
Although the opening of this movement is certainly not typical of Vivaldi the music gradually takes on the structuring of harmonic movement and assumes the rhythmic appearance and articulation. The structuring of the sections is shown clearly here:
This notion of using an existing model into which the composer pours new pitches and harmonies can have powerful and affecting results. Whilst the chordal harmonies are newly-made the substitute-map device enables a structure of movement, order and repetition to be modelled on the Vivaldi original.
Some composers like to use allusion and quotation, as found in Poul Ruder’s First Violin Concerto mentioned earlier. For my part, the approach shown here occasionally fulfils a need: to reference older music in a contemporary context. For another example of this approach, examine the final movement of my Schumann-inspired piano collection The White Light of Wonder. Here the model is Schumann’s Der Dichter Spricht.
One of the recurrent problems with computer-assisted composing is the recovery of method. You create a solution to the coding of a musical problem, such as how to create 4-part chords from a stream of pitches, but in doing so that method does not always remain wholly fixed or even understood. In La Serenissima the method works and is explainable, but almost immediately the composer can begin to think of how it might need to work (or not) in another and different situation, for example in a keyboard piece. So this Afterword is the partial result. The material and ‘method’ of chord and sequence making is almost identical to La Serenissima, but now it’s revisited in series of miniature studies.
Study 1 recreates a chord-sequence method; Study 2 uses the chord-sequence but seeks to solve the problem of introducing ties and suspensions; Study 3 creates a rhythmic articulation of the chord sequence by breaking it up into a mixture of chords and arpeggios.
Study 1 uses almost the exact material of La Serenissima: the pulsed rhythm, the pitch-stream from the white-noise fractal, the ‘method’ for making chords, and their distribution (using gen-chord and ambitus) into right and left hands.
Chord Study 1
In Chord Study 2 the same chords are used but instead of a set rhythmic value for each bar, as a result of the expression titled rh-len, the length of each bar is randomised to a length between 5 and 12 1/16ths. The function length-condense sums each bar of 1/16ths. Then suspensions are added in the left hand. Apart from these expressions below, the code is identical to Study 1.
In Chord Study 3 the idea was to be able to fragment the chordal texture, but to keep the metre constant. One way to achieve this was to create two new functions: one makes a list of randomized divisions; the other to use that list to reorganise the melodised list into mixtures of chords and single pitches.
These miniature studies have been collected together as a single study score with notation and annotated score-script and can be downloaded from the composer’s website.