Spem in alium: a motet for 40 synthesizers

Spem in alium was written by Thomas Tallis in c1570 and stands apart from most other choral music because it is written for 40 parts. Most choral music, regardless of the number of people in the choir, only has 4-6 parts. Just for its sheer flamboyance, Spem is famed among choristers due to the challenges of learning and performing it.

Delving into the details of how the music is constructed, rather than being written for a single choir of 40 voices, it is written for eight choirs each of five voices. Each choir comprises one soprano, one alto and either two tenors and one baritone, or one tenor and two baritones.

I decided it would be fun to experiment with recording it, although I don’t currently have access to a choir of 40 with the time to learn and perform it! I thought about William Orbit‘s recording of Barber’s Adagio for Strings and how well the gentle synthesised sounds worked for him. I’m no expert at electronic music but it is something I have played with in the past.

My goals were:

  1. Synthesise the choral parts for Spem
  2. Master the recording to be played back in a 5.1 surround-sound format

Being out of copyright, it was easy (and legal!) to obtain a MIDI file of Spem which contains the 40 parts as separate tracks. I imported it into my favourite musical editor, MuseScore, and had a look at the tracks.

Spem - first 15 bars for the first 15 voices
Spem – first 15 bars for the first 15 voices

For those not in the know, MIDI files don’t contain sound but rather are the computerised equivalent of sheet music – they contain instructions about what notes to play. The computer generates the sound during playback by using a soundfont, which contains sound samples. Just like a real font with a text document, you can change the soundfont for a different sound. The default soundfont with MuseScore is reasonably good but the choir sound is lacking. I downloaded a few free soundfonts until I found one with a choir sound that I liked.

As well as using a soundfont to play MIDI files back, MuseScore can generate a WAV or MP3 sound file from the MIDI file. I got MuseScore to export each choral part as a separate sound file, which can then be edited using a multi-track sound editor – in my case, Adobe Audition. I told MuseScore not to add any effects like reverb to the output, as I’ll do that later.

Adobe Audition screenshot
Adobe Audition screenshot

I imported each sound file to a separate track and played back the result. It sounded pretty terrible – obviously the synthesised choir is not very realistic but with the whole thing played back in mono and with no reverb, it was a rowdy wall of noise. As I planned to create a surround-sound version, I needed to create a sound stage with each voice pinpointed in the right position. This is done by positioning each voice at an angle offset, like this:

Track panner
Track panner

Traditionally, when performing Spem, the 40 choristers stand in a semicircular shape around the conductor, grouped in their eight choirs. This is how I configured my first attempt with the 40 singers standing in a semicircle.

It sounded odd. The first voice is the 1st Soprano followed by the 1st Alto which are voices 1 and 2 out of 40. These both come from the extreme left. As the piece evolves, more choirs join in in ascending numerical order which gives the impression of the sound moving from left to right. This diagram shows the eight choirs, each drawn in a different colour. Sopranos are the palest shades and baritones are the darkest,

Choir layout
Choir layout

I wondered about arranging the voices grouped not in choirs but in parts: into soprano, alto, tenor and baritone. This would mean all the high notes coming from the left and all the low notes from the right, and that would also sound odd.

Choir layout
Choir layout

Eventually I decided to sort the voices using a numerical pattern to split up the choirs and the parts so there would be no overall weighting. I made a spreadsheet to work out the ordering, and then spread the 40 voices over the arc, 5 degrees apart with a total spread of 200 degrees – just over a full semicircle.

Choir layout
Choir layout

With the positioning set, I applied gentle compression to each individual voice part to limit the dynamic range and then added a surround reverb to the master channel (i.e., after the parts have been mixed). I chose a cathedral reverb for a long duration and a large, swimmy effect.

The final recording was mastered for 5.1 surround but there’s also a stereo version for Internet compatibility.

Spem in alium (for synthesized choir)

As a bonus, I’ve also included Spem rendered for more traditional electronic synthesizers, with each of the eight choirs taking on a different synthesized sound.

Spem in alium (for synthesizer)

Last but not least, I thought I’d render a recording of another of my favourite choral pieces, When to the temple Mary went by Johannes Eccard. It was written around the same time as Spem and also sound richer than the average choral motet because it is written for six parts rather than the more common four. I experimented with sounds but didn’t like either the choral or synth takes, so I decided to render it for string sextet. I think it works quite nicely, and if I can ever get my hands on a real string sextet then I will ask them to play it!

When to the temple Mary went

2 thoughts on “Spem in alium: a motet for 40 synthesizers

  1. Hi there! I’ve been doing research on synthesizer arrangements of classical pieces and got curious about efforts to arrange this piece for synthesizer. Do you have a link to your recording? I don’t see it in the post.


    1. Hi Taylor. Sorry about this, it looks like all the links to images and audio got lost when I migrated to a new blog host a while ago. I’ve restored them now so you can listen. Always happy to talk about music technology 🙂


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: