Music Compositions of Philip Goddard — www.philipgoddard-music.co.uk

Philip Goddard's MIDI realizations
— a summary of how they were done —

Watch out!

First, let me caution anyone contemplating producing similar or better realizations! Although they certainly could do so in theory, it couldn't be done without a very great amount of time expenditure and the ability to apply single-minded concentration to details over sustained periods. My being very long-term unemployed had put more time at my disposal than many would have, and, without having any obvious prospect of my orchestral / choral works being performed within my lifetime, I had strong motivation to produce the best possible simulations of actual performances — at least as far as I could manage on very small financial resources.

Also you cannot achieve such results without having an acute inner ear and having a clear perception of what you want. Non-perfectionists need not apply… Of course, if your own music involves only a few instruments, then the task isn't so monumental, but in my case it was all the orchestral instruments (including piano) and a choir and a full pipe organ with all the stops and combinations.

However, having said that, I have to put my hand up and own up to a grievous error in my making up the bass drum sounds, because at that time I didn't realize how deficient even the Castle Harlech speakers I was using at that time were in reproduction of really low frequencies, so I thought the various bass drum samples I was using were deficient in those frequencies and thus needed boosting.

Thus, with a really good, monitor-quality hi-fi system now, with dedicated subwoofers and correction for room and speaker colorations of the bass, I was almost blown off my feet by various bass drum sounds in my recordings, because both their very low and their 'boomy' frequencies were considerably exaggerated and came out too loud in my recordings!

That also meant that I had to set the volume level for the overall sound considerably lower than I wanted for the CDs, which latter therefore would need to be played at 3dB or indeed 6dB above normal — the latter representing a doubling of the volume.

Much more recently, I found means to mitigate the strength of that bass drum overloading (using the VST plugin TDR Nova GE), so the issue is less marked now in all the recordings. Also, in 2020 I found that I could vastly improve clarity, depth and overall realism of the soundstage of every recording by using the soundfile editor Audacity to apply a tilt to the frequency spectrum of each recording (no change at 100Hz to +6dB at 8KHz).

The work and issues fall into the following main categories:

 

1. Choosing appropriate devices

My own devices were:

  • Soundblaster Live soundcard (used as a poor person's sampler)

  • E-mu Proteus 2 orchestral sound module

  • Yamaha MU10 sound module (the DB50XG daughterboard in an external box)

  • Midiman Flying Calf D/A converter

  • Zoom Studio 1202 reverb unit

  • Mackie 1202-VLZ mixer

SoundBlaster Live

Samplers are in; sound modules are more or less out. I used the Soundblaster Live for most of my instruments, though this ran me into a problem because the number and quality of the instrument sounds I used resulted in a full orchestral (/choral) playback exceeding the SBL's patch-accessing memory limit (not the same as the quantity of soundfonts that you could load into memory with software) and resulting in instruments losing notes or going altogether mute.

At the end of 2003 I purchased a new computer, with a more recent version of the SoundBlaster Live, and I was greatly disappointed to find that, although it did get clearer sound from the samples, it was much more prone to sounds dropping out when many instruments or layers were playing simultaneously, and also various instruments containing a number of layered samples caused clicking in fairly dense textures. It was thus policy of mine, wherever possible, not to re-record anything with the new SBL.

The important thing about a sampler is that you choose your own instrument sample sets and can edit and improve them — and most of them indeed need improving!!

E-mu Proteus 2

I got this before I had the SoundBlaster Live, and, despite its having been a greatly hyped and praised product in its time, I was appalled by the poor quality of the instruments therein and the downright slovenly way in which its samples and presets had been set up. All the factory presets were entirely useless and I took ages setting up my own custom presets in the 64 user preset slots, in many cases using a cross-switch function to gain me an alternative sound for the particular instrument within one user preset.

I still used it for my flute and piccolo, timpani in orchestral works, and harp. After having recorded all my works I configured all my orchestral music files to use better string section sounds on the SoundBlaster Live, but this caused a major problem by running me seriously into its ceiling of memory usage in the instruments that it accesses. The real downer with sound modules in general is that you're stuck with whatever samples they contain, and for the most part the sample sets are chosen to be economical of memory, which means most are not good enough for the likes of me.

Yamaha MU10

This, as the DB50XG daughterboard, wasn't only hyped by Yamaha but was RAVED about in reviews all over the place, with statements like A musician's wet dream, and so on. Well, I could go along with that particular quote, but not quite in the way the ignorant and uncritical reviewer meant. When you wake up from one of those dreams you wake up from something probably rather exciting to what seems to be a pretty humdrum reality. Being still fairly new to the MIDI world, after all the hype I was frankly appalled at the execrable quality of the orchestral instruments — at least the sustaining ones — but found that a few of the tuned percussion (especially glockenspiel and celesta) were actually better than any of the samples of these that I'd yet obtained by the time I recorded my works.

D/A converter

In order to minimize any background noise caused by the electromagnetic radiation from the computer's innards, it's good practice to use a digital output from any soundcard that has one, and do the digital-to-analogue conversion a little bit away from the computer. This is particularly worthwhile for realizations with a wide dynamic range, such as most of mine.

Reverb unit

I had to get this because the Proteus 2 sound module had no reverb of its own at all. Therefore, to keep things simple and avoid getting unexpected effects, I had reverb disabled on the SBL and the Yamaha, and used this external reverb unit for the mixed sounds from all the devices. It had a fair range of reverb settings and effects, but I used only two: the 'Plate' preset for cathedral reverb and 'Orche' preset for a pleasantly reverberant concert hall (I don't care for dry acoustics). For both those presets I used specific fine tuning settings for them to sound as natural as possible. My cathedral reverb seemed at the time to come pretty close, but I was still aware of the difference…

That 'cathedral' reverb tended to lose a fair amount of detail in dense textures, and didn't have enough delay, and so was far from ideal. In 2020, although I couldn't do anything to improve the 'cathedral' recordings I'd already made, I produced much more realistic 'cathedral' versions of the extant non-cathedral recordings of 11 of my compositions. These preserved much more of the fine detail in denser textures, and sounded much more as though performed in a real cathedral (the model for this was my very nearby Exeter Cathedral, whose acoustics I know pretty well) rather than just having a generic 'awesome' reverb.

For that I used a custom setting in a free VST plugin called Orilriver, which provides an excellent range of settings and presets to enable one to add almost any type of reverb to a recording.

You can listen to those 'cathedral' versions at YouTube.

Mixer

Even if I were using only one sound producing device, I'd need some external agent to amplify the output signal, and any good mixer enables you to boost what it receives. But, as I've said, I had three devices, and their levels needed to be balanced in the final mix. Some cheap mixers have very high background noise, but the Mackie model that I chose was a widely respected smallish model with good power handling, wide dynamic range and very low noise 'floor'.

The need to boost the output volume comes because of the need to set most instruments to levels far below their potential in order that the really loud instruments can sound at their proper relative volumes without causing overload in the soundcard, sampler, module or in-computer software mixer. Overloading distortion primarily from my fortissimo brass was the final straw that made me get the mixer. Incidentally, I found that the output from my D/A converter was at a higher level than the line output from the Soundblaster Live mixer, which was very helpful.

 

2. Choosing the samples

These are the sample sets used in the Soundblaster Live. My main sources were the Sonido orchestra CD, with a not very good piano from the Sonido Piano & Organs CD, clarinet & some 'attack' brass from the Creative Essentials Woodwind & Brass CD, a few additional percussion from the E-mu Soundfont Library CD, choir from Peter Siedlaczek's Classical Choir CD, and my organ adapted from John McCoy's Jeux soundfont.

One of the downfalls of MIDI instruments is that although with a lot of effort you can add expression with MIDI controllers in your sequencer files (more about that below), the instruments don't change their timbre in the way that real instruments do. But at least I sought to include variant sounds for some instruments, such as in the trumpet, where I have soft, normal-loud, extra loud, strident / attack (good mostly for 'stabs'), and muted. Some of these variant sounds use the same samples but with different parameters set, while others have to be completely different sample sets and therefore increasing load on memory and storage space.

In choosing sample sets I looked out for a number of things as well as simply whether individual notes sounded like the nominal instrument:

Are the individual samples long enough?
Many, many, are not. What is the point of a piano whose notes decay quickly even when you play long notes? Many piano presets try to get round this by looping the tail end of the note or setting unrealistic parameters in the volume envelope — but such tricks usually show glaringly in causing a very unnatural and shelved or fluctuating decay profile. Cymbals are another case where you're normally stuck with far too rapid a decay of the sound. Better to have a sample with full-length decay and then to have additional variant presets with shorter decays set using the volume envelope to simulate degrees of damping.

In the case of sustaining instruments short samples sound more unnatural, and in the case of very short ones the sound has a definitely 'electronic' sound about it. The natural sound of any 'acoustic' sustaining instrument incorporates a multitude of small fluctuations in volume and timbre, and this is what's lacking in short samples. But we must be clear that the ultimate determinant of the sound quality is the length of the loop section. You could have a reasonable length sample which still sounds electronic because only a tiny snip is being used for the loop.

Are there enough multisamples in the set for the instrument?
This is extremely important and one of the prime reasons why sound modules let you down. For most instruments you need to have each multisample spanning no more than a minor third, and preferably no more than a whole tone. In most Soundfonts you find that even if the samples do more or less keep to that rule in the middle of the range, they don't cover the full range, so that the uppermost and bottom samples each have to span quite a lot of notes, thus giving you unnatural sound at the extremes of the instrument's range.

Too-widely-spanning multisamples cause two problems. One is the obvious one — that the further away you are from the original playing pitch, the more unnatural the sound is, but the other is that when such an instrument is played, you notice a big change in the sound when moving between adjacent multisamples. Typically the top note of a multisample is over-bright and prominent compared with the next note up.

Are the multisamples in the set properly matched?
Often they aren't. This is a real curse in sound modules, where you are stuck with whatever samples the manufacturers put there. Often just one poorly matching multisample ruins an instrument. In my Proteus 2 it appeared to me that the bottom sample of the section violins is played in a different way from the other samples — something towards the sul ponticello sound and certainly not what we would recognise as the violin's open G-string sound. And in the case of the solo violin in the same module, I'm sure that the bottom sample is played sul ponticello.

That's a particular irony, because I'd really have liked full sample sets for sul ponticello on those instruments, but couldn't get them anywhere. Poorly matched multisamples were one of the prime reasons for my rejecting many sample sets.

Will the samples require more editing than I want to do?
Maybe it's not worth using a potentially good sample set because of the amount of editing it would require to knock it into proper shape. For example, there was the occasional choir soundfont that I thought sounded promising, but there were so many pitch variations in the individual samples that it would have taken a lot of time trying to correct this (using graphic pitch bend transforms in Sound Forge).

 

3. Debugging, editing and setting up the samples to work the way you want.

Unfortunately one cannot simply buy glossy commercial CDs of samples and straightaway load them into their system and get immaculate or even acceptable performance. It may seem disgraceful that samples are sold in such a rough and ready state as they usually are, but that appears to be how things are at the moment — i.e., at the time that I was creating my MIDI realizations. The Sonido samples had infuriated many people through many of them requiring a lot of work to make them really usable by discriminating classical musicians.

I had to spend a lot of time tuning the pitch of multisamples in many of the Sonido instruments. This wasn't simply adjusting the fine tuning parameter in the soundfont editor, but often using the graphic pitch bend transform in Sound Forge to correct pitch variations within a sample, which is a tricky thing to do effectively.

Let me mention here some of the things I found I needed to do to soundfont instruments to make them work well.

  • Badly matched sample: change volume and / or low-pass filter to improve matching; sometimes need to do a graphic EQ on a sample to make it fit in properly.

  • Poor tuning: adjusted in soundfont editor or with graphic pitch bend in Sound Forge. A lengthy and tricky business.

  • Volume fluctuations: undesirable fluctuations reduced or eliminated using graphic fade function in Sound Forge. This needs to be done before normalization, otherwise the sample needs to be renormalized.

  • Volume: multisamples normalized to 100% in Sound Forge.

  • Problems with the natural attack (e.g., often too slow): edit or remove the natural attack in Sound Forge, in the latter case setting an appropriate artificial attack in the volume envelope.

  • Looping or relooping samples.

Here is an example of the sort of work entailed in a rather extreme case — the production of my choir sounds. Since I (laboriously) made this set, I encountered similar choir sets already in Soundfont format, though still needing a lot of work on them to be acceptable for my sort of use. My samples came in audio CD format, so to start with I had to extract all the multisamples of the choir ahhhs as WAV. Then:

  • I renamed the WAV files to make them list in proper order with informative names.

  • In Sound Forge I then had to do a sad thing and reduce the lovely sounding stereo samples each to mono, because, quite apart from memory considerations, I had no facility for looping stereo samples.

  • Reduced the samples each to about half length (in Sound Forge) to make them more practical memory-wise. This still left them of pretty generous length (if I remember rightly, about 5 seconds or so).

  • In Vienna SF editor, I set the note range and root key value for each sample.

  • Nipped off the natural attack of all samples (too slow for general use), then set appropriate artificial attack in the volume envelope.

  • Corrected tuning in a few of the samples; in several of them I had to do a graphic pitch bend transform because of a very slight 'scoop' at the sample beginning.

  • Volume: normalized each sample to 100%, first using graphic fade transform to reduce or eliminate unwanted volume peaks.

  • Made a copy of the soundfont, then imported its choir set into my primary copy, so creating an identical second set of multisamples, which were to be used as Choir 2.

  • For Choir 2, nipped off a bit more at the beginning of each sample. This was to eliminate phasey , 'flanging' effects that would otherwise occur when voices in Choir 1 sing any notes in unison with Choir 2.

  • Made another copy of the soundfont, and imported Choir 1 and Choir 2 from it, so putting into the working soundfont a second set of samples for Choir 1 and for Choir 2. These new choir sets were called Women 1 and Women 2.

  • For Women 1 & 2 I did graphic EQ on the samples from their mid- to bottom range, to emasculate them because it's a mixed choir and I had to try to make the women sound a little less like the men that they audibly were from mid-range downwards. This degraded the sound quality, which I'm not proud of at all. Roll on, a quality Soundfont set for real separate male and female choirs!

  • In the Women presets I referenced all the note ranges that didn't require a graphic EQ to the respective original Choir 1 & 2 samples, so that most of the samples that were duplicated to create the women choirs could then be eliminated.

  • Looped all the samples. Sounds so bloody quick and easy, huh? Actually it was a long and exacting task and was driving me loopy as well as the samples, I can tell you!

Well, in truth it was considerably more work than what is listed above, because I didn't have the process all planned as I've set it out here, and in reality I did things out of order and then had to keep redoing things like looping (and cursing under my breath…). Most of the samples thus got looped at least twice.

In the case of woodwind and strings the samples mostly had a natural somewhat marcato attack, with the tonguing sound of the woodwind or the slight scrape of the string attack. This was a sound that I needed, yet wasn't appropriate for most of the time in normal legato playing. Therefore for all these instruments I made a variant legato preset in which I'd set the attack parameter of the volume envelope to hide the initial scrape or blip in the sound. Indeed, as I reckoned on using the legato version most of the time I made this the primary preset (bank 0) and the 'straight', un-tampered-with preset one of the variants (a non-zero bank number).

However, there was a catch about setting an attack value in the volume envelope in the Soundblaster AWE series and SB Live. These cards or at least the soundfont system had a bug which resulted in any preset with a non-minimum attack value suffering very considerable treble attenuation in MIDI playback, though this not being evident when I sounded notes within the soundfont editor. Therefore for samples in any such presets I had to set a high value for To Filter Cutoff in the Modulation Envelope settings.

Once upon a time my cymbal rolls were faked from a suspended cymbal with the attack parameter set to eliminate the initial impact sound, strings of notes being used to simulate a roll. But this sounded rough. More recently I hunted around for samples and got cymbals and bass drum really well fixed, with sounds that seem really authentic for classical orchestral music; in my view these instruments are extremely badly served by ordinary soundfont presets.

I needed and eventually found a variety of real cymbal rolls, for it would sound quite wrong for every cymbal swell to have the same profile and speed. In the case of cymbals, I eventually found a crash cymbal with a somewhat more realistically long decay than the normal ones in soundfonts, and I managed to lengthen this significantly in Sound Forge without obvious spurious effects coming in, and layered it with a different cymbal sound to get an extremely powerful and realistic cymbal crash.

My organ soundfont also took quite a lot of time to set up — but much of the setting up in this case had to be in bits and pieces actually while I was composing my first organ works. Never having composed for the organ before, or played one, I depended on advice freely and generously given me by Carson Cooman and what I gleaned from a couple of books — backed up by certain gut feelings and intuitions which derived from my careful listening to many organ works.

Rather than use any old sound that I fancied in the Jeux soundfont, I wanted to work with a seemingly real organ, albeit still virtual, as this would ensure that I composed realistically for the instrument. Thus I got Carson to hammer out with me a specification for a reasonably specified 3-manual organ and also a modestly specified 2-manual one the like of which you would find in many churches. Having arrived at these specifications, I extracted from the Jeux soundfont a very much cut-down version meeting my specification, and then proceeded to set up a whole range of combinations that I thought I might want to use.

Most of the combinations already set up in Jeux were rather conventional ones that I was unlikely to want to use. Then, during the composition work I frequently wanted to use particular combinations that were not already set up, so then would interrupt the composing to create the new combination, and probably some other related combinations at the same time. Each time I did this I also had to update the patch maps of my sequencer and the Sibelius score-writing program, and also update the printable listing of all my combinations (for my own reference).

Many times when I made such new combinations I found various problems and bugs in the soundfont and had to spend more time fiddling around to get things working well — and some problems I was never able to eliminate, such as the slight click at the start of notes in certain ranks and combinations (on good playback equipment you can hear this problem in the opening notes of The Great Wilderness).

 

4. In the sequencer: create and maintain a custom patch map

Patch maps are the instrument lists that you can access in your sequencer, which enable you to choose instrument sounds without having to enter patch and bank numbers each time. In most sequencers such as Digital Orchestrator Pro, which I used, there was no facility in the program for creating or editing patch maps, so one had to go to the patch map files and work on them directly.

That involved learning the format and syntax that was used in the particular sequencer's patch map system. At least the file was an ordinary text file, so was easy to work with. When entering new sounds in these lists I found it easiest to copy existing parts of such listings and then edit details of the copy to show the new data — so reducing the frequency of format / syntax errors.

Incidentally, the Megafont program, which I couldn't use for its prime purpose (dynamic patch caching in the Soundblaster Live), had a very handy function for Cakewalk users: it could create a patch map file for Cakewalk directly from the data stored in soundfonts that one was using.

 

5. In the sequencer (MIDI) files: extensive use of controllers

For an orchestral or choral file this was another big task, but I had no need to do this for a pipe organ, which cannot play expressively, apart from the crude measure of using the swell pedal. You can have the best instrumental sounds in the world, but if you don't shape the notes in the sort of way that a live performer would, the music will still sound unnatural and not very 'human'. This is where my sequencer's graphic controller editor window came in.

With that I could create 'fills' or 'sweeps' of expression controllers to produce smooth volume changes within a note. I use the Expression controller (no.11) and not the Volume controller (no.7) for this purpose. The latter is reserved for setting the overall track volume, and if any attempt is made to use it for expression, then I wouldn't have been able later on to readjust the volume of the entire track (well, apart from changing the velocity values of all the notes).

Many of these expressive volume changes were not linear but speeded up or slowed down towards the end of the note, and for these I used the curve tool a lot in shaping the controller 'fills'. I used trial and error to establish the right amplitude of volume change and its degree of curvature, if any, in different situations.

To avoid over-bloating the sequencer files with controllers, I didn't fill every note with these, but identified the particular notes that particularly needed them. Usually, notes that were unstressed could go without controllers or, in the case of longer notes, might still have just a short and gentle lead-in (values rising from 115 to 127).

For 'fills' using a lot of controllers I used the 'Thin MIDI' function, which removed unnecessary controllers where there wasn't much change of value occurring. For example, in a curved swell on a long note there would initially be a prodigious number of expression controller messages, but after doing a 'Thin MIDI' on it, where the slope is almost level there would be big gaps between controllers, the density increasing with increasing speed of change, so that at the steepest part of the change the controllers were at their densest.

Despite my attempts at economy in use of expression controllers, typically my orchestral / choral sequencer files had doubled or in one or two cases nearly trebled in size just because of the addition of all these controllers.

After all this, had I neared perfection in my realizations?

No, no, no! Not only had I been working with very limited equipment and samples compared with what a good deal of money could buy, even back then in the early 2000s, but all along the line I had to make compromises on how much time to spend on the work. The reason why my realizations stand out from the crowd isn't because they're anything near perfect, but rather, that they're realistic enough to give many (but not all) people a powerful musical experience, and most people are not prepared to spend as much time and concentrated thought as I have on creating MIDI realizations of such music.

Another thing in my favour is my musicianship, which is something that goes beyond being a good MIDI technician. I'm not impressed by some MIDI whizz-kid coming and telling me that (s)he could produce better realizations on their own system. Maybe I myself could produce better realizations of my works on their system, given the time — but most such people playing with MIDI wouldn't have the insight that I do into my music and how a real musician would play it. For example, allowing an algorithm to automatically shape notes may seem (and sound) quite impressive, but, however realistic it may seem initially, it cannot match in its effect the shaping of the notes by a real musician, even if that's done as I do it, manually at the computer.

My last and presumably final recording of any of my works (in my round of original recordings) was made sometime in 2005, and in 2007 I finally got rid of my music-related peripheral hardware because it was taking up much-needed space in my modest-sized living room, and indeed causing me some harmful environmental stress effects. I have little doubt that, if I were to have cause to get new equipment for making recordings of my music in the future, with the much greater speed and memory handling of my system then, I'd be able to use all-stereo samples and so produce much more realistic MIDI realizations — but I have other time priorities nowadays, so that, sadly, that is very unlikely to come about.

In 2021 I did actually commence a round of re-recording the works, managing to do all the works not using an orchestra. Unfortunately nowadays I have no sequencer software that runs on current Windows and has the functionality I need for such large scores (up to 64 MIDI channels required). Maybe, when MuseScore 4 is upgraded according to the development plan for it, I may be able to use that to enable me to record my works that require an orchestra.

I continued to be bugged by the still far-from-brilliant sound quality of the MIDI renditions I'd recorded, but in 2020, by then with a lot of experience of processing my natural soundscape recordings, I was bugged anew by the poor definition of my MIDI recordings, and tried something that I'd found necessary to do with the natural soundscape recordings — NOT to boost a specific small part of the frequency spectrum, but to apply an EQ tilt to the sound.

As previously noted, I achieved this by using the Audacity soundfile editor to apply a straight-line 'curve' from no change at 100Hz to +6dB at 8KHz. The transformation was dramatic, in some recordings now sounding pretty well like real instruments / ensembles. Although the string and choir sections couldn't help still sounding rather naff because they were each mono, nonetheless at last they did have a bit of clarity, with the natural subtle 'bloom' to their sound, which also translated into much more fine detail being audible in denser textures and faster passages. The cymbals tend to be over-bright, though, for they were better-quality samples to start with.


Alternatively, get a live performance…
— it might be easier! :-)