The Virtual Jami Blog Progress of creating a virtual performance of Sorabji's Jami Symphony


Beginning work on the 3rd Movement

Filed under: Uncategorised — David Carter @ 06:06 pm

One of the technical issues which will significantly boost the performance of my PC is using Solid State Drives (SSDs) instead of Hard Disc Drives (HDDs). The sound samples that make up the VSL virtual orchestra take up about 750GBs of data and are stored over two HDDs. The software that needs access to that data, (the Vienna Ensemble Pro – VEPro), has to read the data off the HDDs. No HDD (or indeed SSD) will provide instant access to the data creating a latency between a note being played and a note being heard. To remedy that problem a small part of the start of every sample is preloaded into RAM the memory modules where all programmes (including VEPro) are loaded each time you start your computer or start a new programme. VEPro will then instantly read the start of the sample loaded into the RAM which allows sufficient time to capture the rest of the sample off the HDD. We are however talking milliseconds here.

What causes the bottleneck is if the HDD is slow then more of the sample has to be preloaded into RAM. And bearing in mind how huge the data is this can quickly fill up the RAM available. My recent performance of the 2nd Movement had over 20GBs of my available 24GBs of RAM filled in this way and my system was on the verge of becoming unstable. The 2nd Movement is but a mere minnow compared to the other movements.

The benefit of SSDs is that their “read speed” is potentially much quicker and therefore the amount of each sample you have to have preloaded into RAM is less which means you can run bigger performances. The downside of SSDs has been their expense and their capacity. Recently the price of two 450GB SSDs has come down to my level of affordability (although at £ per GB they are still 5 to 10x as expensive as HDDs). So I have taken the plunge. Turns out, inevitably, that it’s not as straightforward as that as I also have to have a special PCIe card which plugs into my motherboard and into which you plug a special housing cage into which you plug the SSDs. And then it further turns out I cannot take full advantage of the new technology of the SSD because my motherboard is getting terribly old (about 3-4 years old) and doesn’t support the latest protocols (it supports SATA II and not SATA III if you know what that’s about). It does appear however that I should still be able to get read speeds several times quicker than my current HDDs.

I got the new SSDs easily enough but have had huge amounts of trouble with the PCIe card and have now sent back the second one awaiting a third replacement. I am however getting closer to attempting a new performance of one of the bigger movements and have decided to go the whole hog and tackle the biggest movement of all the 3rd. I wanted to leave the first movement to last which is easily my favourite movement and the one I want to do best.

And of course it’s not just that the 3rd movement is 5 times as long as the second it’s the size of the orchestra and corresponding data I need. The 2nd movement had 72 virtual instruments (VIs), the 3rd looks like it will need 126. This is largely because of the strings. In Mvt 2 they are only ever divided into two parts each and so 10 VIs. In the 3rd Mvt all sections are divided into 2, 3 & 4 parts as well as unison and both violins are, for one extended passage, divided into 8 parts. VSL has 4 different string packages. The Appassionata Strings (20 Violins, 14 Violas, 12 cellos and 10 basses) which I’ll use for the unison passages; Orchestral Strings (14, 10, 8, 6) which I’ll use when the sections are divided into two parts; Chamber Strings (6, 4, 3, 2) which I’ll use when they’re divided into three and four parts and I’ll use solo violins when they are divided into 8. This means I have to have 51 Vis just for the strings and the data for the different string packages is huge.

So with 126 virtual instruments my virtual stage is getting very crowded. As is the Sibelius score. For each virtual instrument I have 3 staves. One has the unaltered part for reference. The second has the same part but with the many alterations I need to make a musically convincing performance and the third which is littered with midi instructions. So 378 staves. That’s a mighty big score. Thank goodness no one needs to have a physical copy. I remember seeing the score to Brian Ferneyhough’s La Terre et un Homme which has up to 70 staves and is four feet tall!

I’ve learnt the hard way that in tackling a project of this size you have to be meticulously organised in advance so whilst I’m waiting for replacement computer bits and before I can actually start creating the performance I am documenting the set up logistics of the virtual instruments and have created a rather attractive looking template which shows each of the virtual instruments I will need, what Sibelius Soundset each section needs, and what VSL sample set is needed.


I’m also making sure the parts are all correctly separated out and on their correct stave and making sure the Sibelius score is correctly set up so it communicates the correct midi information to the respective virtual VSL instrument.

I suspect that even with the new SSD drives I will still not be able to run the entire orchestra at the same time but I am fairly sure I will be able to do each section one at a time and I shall start with the strings which is easily the biggest. Once I have perfected the string section performance I can “freeze” the data needed for them and move on to another section. I suspect by the time I have completed the performance of each section (which could take many, many months, if not years) I will have upgraded my PC again so that I will then be able to run the whole shebang and perfect the whole performance. Assuming of course I haven’t gone stark raving mad before then.

Watch this space.


New Complete Performance of 2nd Movement (June 2012)

Filed under: Uncategorised — David Carter @ 06:58 pm

This new performance of the second movement uses exclusively samples from the wonderful Vienna Symphonic Library and their full DVD collections.

The Sibelius score communicates directly with the VSL samples through the VSL software Vienna Ensemble Pro 5 (VEP5). Each instrument (stave) in the score is ‘played’ through a “Vienna Instrument Pro 2” (VIP2) hosted within VEP5. The ambience/reverb is provided by the extraordinary Vienna MIR Pro (VMP). I have used the Vienna Konzerthaus Stage with the microphone position in the 15th row.

One of the main differences in the process this time is I have incorporated a clever software plugin to Sibelius called “Sound Sets” (created by the VSL team) which means the music directly triggers the correct sample patch. So that a legato line triggers legato samples, a sfz marking triggers notes played sforzato, tremolo lines trigger tremolo samples, trill lines trigger trill samples etc etc. This means I don’t have to have additional staves attached to each instrument littered with midi commands. It is not completely comprehensive but covers almost all articulation possibilities and any not incorporated I can still use via appropriate midi commands.

I still have to make enormous amounts of changes to the notation to ensure a more realistic and musical performance. For instance brass players faced with a string of quavers will by default play them detached or even staccato whereas Sibelius will play them for their exact duration. And of course Sorabji includes very few playing instructions or expression marks so I have had to import my own interpretation and playing techniques to ensure the correct sample patch gets played.

Whilst a live performance would require approximately 150 instrumentalists and a large double chorus (say 300 at least). The number of virtual instruments needed was 71. With the necessary samples loaded into each virtual instrument the amount of RAM used for this performance was just short of 20 GBs (of my available 24GBs). Much more would have meant my PC becoming unstable. With the performance at its maximum volume and complexity my i7 Extreme quad core processor, which has been overclocked to 4ghz, was pushing temperatures at about 80 degrees so again at just about its limit. (I’ve recently installed a high end water cooler as experiments with the previous stock fan cooler had temperatures getting up to 100 degrees).

So it has just been possible to do the “small” 2nd movement with my current set up but I would still not be able to undertake the larger movements which would require nearer 100 virtual instruments and an upgrade to 48GBs of RAM and ideally a dual processor server type PC. Having several Solid State Drives to handle the massive sample database would also be ideal but those two upgrades would cost several thousand pounds at current prices.

This performance has much more “interpretation” than the previous one. It comes in at over a minute longer at 21 minutes. I have varied the tempi throughout the movement and added rubato here and there. I have widely used my discretion in respect of dynamics, phrasing and articulations. There are still some limitations with VSL. They do not have muted French horns so largely indications to mute have been ignored but I have used some stopped horn sounds where I thought this worked musically. Another annoying VSL omission is string glissandos. Fortunately there was only three brief instances in this movement (other movements make extensive use them) and I have had to make compromises. Some of Sorabji’s extreme instrumental ranges go outside the VSL recorded range so some compromises where used. You’d have to have a keen ear and eye on the score to spot them though.

I think this music is very exciting and excellently composed.


First try at a complete performance

Filed under: Uncategorised — David Carter @ 02:36 pm

I’ve jumped in at the deep end and started a complete performance of the second movement, the smallest movement in every respect. The VSL template has 58 virtual instruments (the string section has ten staves for 92 players). Without any samples loaded the template uses over 10 GBs of RAM. I have used the full VSL presets for each instrument and after loading all but percussion the template has reached 20GBs. At that point I have started to notice some strange behaviour suggesting the RAM is about maxed out. However VSL has a clever sample purge function so that once you have perfected each parts performance you can get rid of all the samples not used which frees up a lot of RAM enabling me to run the whole orchestra.

The Sibelius performance score has three staves per part. One to show the unaltered part which does not play back (for reference), the second for the altered part which does play back (altered to create something more than just a mechanical playback of the notes) and the third for the performance midi data (Which covers changes of articulation, crescendo/diminuendo etc). This means there are 188 staves. Setting up the template and performance score, which you only have to do once, probably took around ten hours. I have created a performance of the first 50 seconds which took around an additional 15 hours.

Here is part of the performance score showing the three staves for each instrument.

And here is the earlier performance for comparison.

So it seems I could probably create a performance of the whole of the 2nd movement. Although if 15 seconds took 15 hours, 20 mintues would take … a long time! And because of the inclusion of the multi divisi choir and multi divisi strings in the other movements they would probably take nearer 100 VSL virtual instruments and nearer 300 staves and consequently a lot longer to create per minute of music. So a full performance of the other movements is daunting and would need more RAM and a more powerful PC. Both of which are achievable in the not too distant future. But as for time and sanity?…


At home with the Brass

Filed under: Uncategorised — David Carter @ 02:16 pm

The brass requirements are eight horns, six trumpets, four trombones and two tubas. All are muted and the horns are required to play cuivre. In the second and fourth movements there are parts for four tubas, briefly in the former but extensively in the latter. In general the parts seem well written.

The ranges employed are B1 to A5 for the horns – pretty extreme but not unplayable (the VSL samples only go up to F5 so that’s gonna cause me a small problem). Trumpets are in C and go from E3 to E6 – That’s a tone lower than a three valve range so lower trumpets would have to be Bb. Trombones are D1 to B4 – that’s pretty low but bass trombone players love it down there. The tuba’s range is C1 to A4 – now that is pretty high and it may need the first to double on Euphonium. There are some oddities between the tubas and the lower trombones with the tubas not infrequently being above the trombones and  no obvious musical reason why and Iwonder whether Sorabji went between writing the tubas as octave transposing (like the doublebasses) and not.

The passage I have worked up is a tremendous moment for the brass and I have incorporated dynamics and playing techinques not specifically indicated. I’m more and more convinced that I shall be very creative with such things throughout the score.

Heres the PDF of the score

And here’s the MP3

Oddly the 5th & 6th trumpets pay briefly in the first guiet passage but not at all in the big climax. My VSL brass are very good at sustaining long loud notes and being able to catch just the quickest of breaths!! This passage is identical to the percussion one and of course the rest of the orchestra are in full swing as well.


Percussion, Harps & Piano

Filed under: Uncategorised — David Carter @ 01:47 pm

One of the surprising things about the Jami Symphony is the very limited part the piano takes. One of the least used instruments in the symphony with only an occasional flourish usually as part of a full texture and hardly at all as the principal instrument. The untuned percussion is limited to base drum, side drum, tambourine, castanets, two sizes of triangle and two sizes of cymbal and are used fairly traditionally.

The timpani are listed as one chromatic octave 4 players. In fact the 1st part has a range of F2 to F#4 and the 2nd part Eb2 to E4 both two octaves and a semitone. The part goes way above the standard timpani range which is to C4. There are several sections where there are 4 rolling parts and therefore requiring the 4 players. The parts are very chromatic with some quick passages that look more like a marimba part! The tuned percussion is glockenspiel, xylophone and celeste which look fairly traditional to my unproffesional eye. The score also calls for 4 harps although there are only 2 written parts. There is also an important melodic part for tuned gongs which in the first movement ranges from Bb2 to G4 and sounds beautiful played by the VSL gongs (but don’t appear in this extract – but did appear briefly in the first blog entry).

For the passage I have worked up here is the PDF and here is the MP3.

This extract is from the 1st movement bars 167 to 197 in my typeset score and starts at around 8′ 24″ of the current full performance. The climax of this passage is huge for the whole orchestra. I have however started it at fairly modest dynamics and only ratchetted it up at the end.

With the range of the VSL timpani to C4, which I can pitch bend to D4, I have put the few notes in this passage higher than that down the octave. Two, three or four part harmony in rolled timpani is nonsensical really as, even listening to the timpani on their own, I certainly would struggle to make out the individual notes and when it’s mixed in with a full blowing orchestra it just adds to the noise (but a most exciting noise).

The technical aspect of making the notated untuned percussion play back properly in VSL is tricky and laborious as the various playing techniques (LH RH short notes, rolls, different sticks etc etc) is triggered by specific notated pitches so that a minim C7 will trigger a minim roll but singe hits is C4. So I have to copy and rewrite those parts onto a treble clef stave (the PDF shows the actual notation). The tuned percussion, harps & piano are thankfully straight forward although I will have to write out any harp glisses in full. I’m not conversent in harp playing to know whether the written parts are well written or not.

Balance with just these parts was a problem and so much is lost in the noise. The full orchestra in this passage will of course make that exponentially more difficult. The virtual performance however enables tricks of balancing to be done that you just couldn’t do live.


Woodwind ambiguities

Filed under: Uncategorised — David Carter @ 08:09 pm

Here’s the PDF score of this passage

And here’s the MP3

The title page of the score calls for 2(piccolos)+4 (flutes)+bss flt, 4 (oboes)+alto oboe+bass oboe, 2Eb clt+4Bb clt+1 bass clt+cbs clt, 4+1+cbs sar.  The score however has three staves for each group of instruments. On the first page flutes are Picc. Flutes. bass. Oboes are two staves of oboes and one for alto & bass. Clarinets are two staves of clarinets and one for bass. Bassoons start as just two staves of Bassoons and when the third stave appears 150 bars into the work it’s labeled Contrabassoon & Sarrusophone. After the first page each set of three staves is simply Flutes, Oboes, Clarinets & Bassoons. On each individual stave there is either a single voice or two part harmony in rhythmic unison. There is never any indication of solo, tutti or a2 etc and there is never any indication of which particular instrument of the group should be playing any particular part.

It’s fairly easy to surmise that the top flute stave is piccolo throughout although there are some doubtful passages. The second stave stays within the flute range apart from one A3!. The lower flute stave is G3 to B6 so no need for the bass flute, alto will do but the upper range means they must double flute.

The first oboe stave goes down to A3 several times and up to C7 once so needs cor anglais and oboe unless there is some part swapping. The second stave goes down to F#3 and up to G6 so needs cor anglais and oboe. The third stave goes down to G2 frequently and up to Bb5. As far as I can find from a web search the bass oboe’s range starts at B2 and the Hecklephone at A2. With VSL you can pitch bend down but a live player would have to find another solution (presumably just transpose up an octave) and will also need to double oboe.

The first clarinet stave is D3 (no problem) to C#7 (ouch!) right at the top of the Eb range So doubling Bb and Eb. Stave two is C3 to A6 so just into the bass clarinet range but doubling Bb. The third stave is C2 to E5 so nicely in the Bass range and no need for the contrabass.

Bassoons cause no problems except you can forget the Contrabass Sarrusaphone and we’ll have 2 x contrabassoons.

With the lack of indication whether each stave is solo or tutti in a live performance I’d be inclined to let the players decide and in full orchestral passages have parts doubled.

This particular extract is a nice contrast it starts with full wind (except contras) in lyrical counterpoint. Single notes per stave so I’ve used VSL’s flute, clarinet, oboe and bassoon a3 ensembles, I’ve doubled the piccolo, cor angais and bass clarinet. The second half of the excerpt is a nice contrast with lots of rapid passages tongued and legato some trills and I’ve used single instruments per stave. Only a small amount of contrabassoon in this passage though. The writing is highly virtuosic. Some passages are so fast as to be virtually unplayable live I suspect. One or two little twiddles are so quick that they would be inaudible and I have doubled their length.

I think VSL copes pretty well with this excerpt. I had to do a small amount of pitch bend with one or two patches where the recorded range doesn’t meet the written range.


Violins div a16 – a bagfull of articulations

Filed under: Uncategorised — David Carter @ 06:42 pm

I thought I’d try next a fairly common passage where the violins divide into 16 parts and display a plethora of playing techniques. It’s largely 4 quartets of violins each playing the same technique in rhythmic unison four part part block harmony.  The score calls for 24 1st and 24 2nd violins. So when their divided into 16 parts that’s 3 players per part. I use the VSL chamber strings for this section which actually has 6 players per part but works fine.

Here’s a PDF of the excerpt

and here’s the MP3

This passage is like putting a giant jigsaw puzzle together. Trying to fit VSL articulation patches with the various playing techniques required in the score. Rapid legato, rapid legato artificial harmonics, pizzicato, tremelo, trills, normal legato, spiccato, glissando etc. Sometimes there’s several choices of patches in VSL that may work and it’s about picking and choosing.

So far VSL is holding up pretty well. Sometimes the note range required in the score (Sorabji writes fiendishly high parts) is higher than the recorded range in the requisite VSL patch. This can be countered by using midi pitch bend but that only allows for a maximum of a major second up or down. I’m told that the VSL software allows you to transpose the patch range but I haven’t worked out how to do that yet.

Two moments have proved difficult. The first is a straight glissando over two octaves. VSL have recorded octave glissando’s but only for solo violin and orchestral violins not chamber violins. I’ve used the solo violin and it works quite well you here the start note the octave glissando and the end note an octave higher. Bearing in mind all the other stuff going on throughout the orchestra even if you could pick out the glissando you’d be hard pushed to spot the compromise. The other problem was one moment where Sorabji asks for a tremelo two octave glissando for which there’s no work around so It’s just a glissando as before. But again even if you knew where it was and listened out really hard you wouldn’t spot it.

Playing at the same time as this excerpt there are 12 other lower string parts, 2 harps, glock, celeste, 2 horns and six wind parts.


1st snippet – problems with RAM

Filed under: Uncategorised — David Carter @ 05:23 pm

1st Movements bars 90-99 (new VSL version).

Currently I have 12 GBs of RAM and it’s the amount of RAM that is the main limit on how many virtual instruments i can have playing at the same time and how many different playing technique patches each instrument has. After first boot with just Windows 7 running about 2 GBs of RAM is used. Sibelius 6.2 uses very little. I use Vienna MIR for the virtual performance space and of course the Jami has to be placed in the biggest hall they have which is the Vienna Konzerthaus and that takes up about 2.5 GBs of RAM alone. So before adding any virtual instruments I onle have about 7 GBs of RAM left but of course the system will unstable if you get anywhere near full capacity so in reality I have less than that.

How much RAM each virtual instrument needs depend on how many patches you want. You can use the custom built sample packages or you can pick and choose your own selection. If I use the biggest bag of custom patches (known as a preset in VSL) for each instruments then that’s anything between 626 MB to 271 MBs per instrument. A full string section, which with Jami is a minimum of 10 lines and a maximum of 30+ would take up all the rest of my RAM before even moving onto the other sections.

However using the big top level presets is useful because VSL lays them out in a uniform way between instruments and it’s easier to use from one instrument to the next. My experience with creating my own custom samples sets is getting endlessly confused with the layout between instruments and consistency in the use of controllers. That way you really need to preplan how you are going to do everything in great detail.

A very useful tool in the virtual instrument is being able to purge unused samples. So I can set up all the strings, perfect the performance, and then purge the unused samples which in a short clip with only a few articulations means getting rid of the vast majority of the samples and freeing up large amounts of RAM. You can then move onto the next section and do the same and so on.

This first short clip of 40 odd seconds from about five minutes into the first movement uses 20 string parts, 8 choral parts, 7 brass parts and 5 woodwind parts. Whilst the symphony has potentially 100+ seperate parts at maximum divisi the most ever used is just over 60 because Sorabji wrote his music by hand on real manuscript. This excerpt uses 40 which is about average.

Let’s compare that with the same exceprt from the older Sibelius Sounds performance.

Creating a virtual Jami

Filed under: Uncategorised — David Carter @ 04:25 pm

It’s been three years since I created the current virtual peformance of the Jami Symphony with the relatively basic tools and sounds in Sibelius. That was quite an achievement and took about three months. The result is ok as a first attempt to bring the Jami to the listener. I received much encouragement at the time which was, well, very encouraging. I post it here just for convenience and for comparison to the VSL performances I’ll post in the future.

1st Movement

2nd Movement

3rd Movement

4th Movement

It has always been a goal to create a performance using the wonderous bag of tricks that is the Vienna Symphonic Library. Something along the lines of their ground breaking demos of Pictures at an Exhibition and The Rite of Spring.

Three years ago neither the software nor the hardware was available to me to be able to achieve that goal. Since then we have had Windows 7 64 bit, Intel i7 processors and motherboards that can accomodate much larger amounts of RAM. Sibelius has moved on apace and VSL have produced their choir library and several new software tools such as Vienna MIR and the Vienna Instrument Pro. All these make great strides towards making the project possible and perhaps most importantly prices have started to come down.

I’m not certain that even if I had a money tree and could buy whatever PC bits and software I wanted that it would yet be possible to create a complete performance but I believe I have enough now to start dipping my toe in the water and experimenting and practicing with these tools.

I intend therefore to start creating virtual snippets and thought I would create this blog to chart progress. I may not yet get beyond the foothills and all it may confirm is it’s impossibility. We shall see.

« Newer Posts

Powered by WordPress