Dec 26, 2009

My orchestral film scoring template

It is very hard to find detailed information on what kind of studio setups film composers have. I've tried to find them from magazines, websites and DVD extras, and I've been able to cobble up some info. After watching this Mike Patti's great video about his setup, I decided to write about my somewhat similar setup. I hope it sheds some light into the technical side of composing orchestral music for films, and maybe gives ideas for other composers who are updating or building their own setups and templates.

The main requirements for the setup are that I am able to write orchestral music to a moving picture, export an audio track for directors approal, and be able to export a midi file that makes sense for the orchestrator. For me, I want to have a very diverse and large palette of instruments and articulations at hand all the time. If I want a suspended cymbal roll played with drum sticks + flute flatterzunge + sul ponticello tremolo in strings, I can write/play/edit the music directly to the already created midi tracks and hear the result. This means that I need hundreds of midi tracks in my template open when I start a new cue. My sequencer is Digital Performer 7.01, and the current working template has 250 midi tracks (click thumbnail for full size image):







My studio setup consists of one host computer and three slave computers:


Host: Mac Pro, 2 x 2.8 Ghz Quad-Core Intel Xeon, 12 GB RAM

Three identical slave computers: Dell Studio XPS 435, Intel i7 2.67 Ghz, 12GB RAM

Audio interface: Motu 828mkII

Midi Interface: Motu Midi Timepiece

Midi controllers: Kaway ES4 Keyboard and M-Audio Trigger Finger


Bulk of my orchestral sounds are from Vienna Symphonic Library and they all reside in the 3 slave computers. I have the extended cube, which is a very large library with incredible amount of different articulations for each orchestral instrument and the very best sound quality. The samples are dry so I apply reverb and ambience to them, depending on the sound I'm after. Usually I use the Altiverb with Todd AO impulse response.


The sounds are loaded into Vienna Ensemble Pro instances in the slaves. These instances are connected to my host via ethernet. One instance in my setup can have up to 32 Vienna Instruments, but even more can be loaded. Almost every VI (like Piccolo Dynamics) has multiple articulations, like 2 second crescendo, 4 second crescendo, 4 second crescendo-decrescendo, sforzando, etc. I choose the articulation with my M-Audio Trigger Finger pads, that are programmed to apply keyswitches to the VI:s. It also controls dynamics with expression and velocity crossfade faders.


In DP, the only instrument plugins that are loaded are Omnisphere and Trilian. All the other plugins (including VE Pro plugins) are loaded into a standalone Plogue Bidule, and connected to the DP via rewire. This has been a revolutionary little piece of software for me. Since all the sounds are automatically loaded in the slaves when I open them, and the plugins are loaded outside DP, it makes it very easy for me to open and close different projects and cues. I don't have to waste time waiting for all the sounds to load every time I open another DP file. DP only handles midi, audio routing and applies Altiverb to the sounds. In the Bidule template, I have seven VE Pro:s, two Kontakts, one PLAY (StormDrum2), one Omnisphere (for basic sounds I want to use regularly), Garritan Steinway Piano and Stylus RMX. Bidule is very easy to use modular software, especially if you have experience with Max/MSP. Here is my Bidule Template:




A recap of the work method: I record and edit midi in DP. The midi is sent to Bidule's midi ins. VE Pro plugins can receive max 16 midi channels, so all the Vienna Instruments past that get the midi through MidiOverLan. In Bidule that midi is sent to VE Pro Plugins, which go through ethernet to Vienna Ensemble servers in slaves. The audio is then sent back through ethernet to Bidule, and directed through ReWire to Digital Performer. Here it goes through some auxes and buses (Altiverb), and ends up to a stereo audio track. If I'm sending the stuff to 5.1, I apply a 100% wet Altiverb track for LSRS channels. Works like a charm and is very reliable. Bidule doesn't crash even with PLAY, which is notorious for crashing.


If you have questions about this setup/template, leave them in the comments.


www.lasseenersen.com

22 Comments:

Tommi said...

Kiitokset! Kiinnostavaa luettavaa... lisää tällaisia. :)

Rodney Gates said...

Excellent information, Lasse! You're right - there isn't enough out there about the technical side of setting up complex templates. Between yourself and Mike Patti, I've learned a lot of ways to maximize productivity when writing.

However, wasn't Mike running everything off one Mac Pro (without salve PCs) and 16GB of RAM?

Lasse Enersen said...

Hi Rodney! Yeah I believe that Mike is running everything from one 8-core Mac Pro. I'm planning the same for my next setup in a few years.

Rodney Gates said...

Awesome - the age is finally here.

I read some of the comments below the videos and it sounded like he had all of the libraries installed to a single 1TB drive.

I would have though he would have split the orchestral sections to multiple drives, but it doesn't look like it.

I'll be getting the new quad-core iMac soon so I will probably need a slave PC or 2 for it for now.

Exciting times!

Lasse Enersen said...

Good times indeed!

If I'm right, it looked like Mike relies more on Symphobia, LASS, and other Kontakt based libraries. They take usually less memory and also processor capacity than something like full Vienna Symphonic Library. In that case, one computer with one 1TB drive makes sense already.

It is usually recommended to split the libraries to different drives (I do that as well), but I guess if there are no hickups, then it's fine.

Justin said...

Hi Lasse, I've just downloaded Bidule and I'm very confused as to how to get it working with DP 7.01. I've watched the online tutorials but really need step by step setup instruction... I just don't get it! Can you assist me at all? Regards, Justin

Lasse Enersen said...

Justin:

1. Open DP
2. Add an AUX track with input from Plogue Bidule Device
3. Open Bidule (standalone, not AU plugin). It will open automatically in ReWire mode.
4. Add midi input devices in Bidule. Add midi tracks in DP, output them to midi inputs in Bidule.
5. Create AU Music Devices in Bidule (like VE PRO)
6. Drag'n'drop connections in Bidule from midi input to AU plug-ins.
7. Drag'n'drop connections in Bidule from AU-Plugins to Bidule ReWire

Did this help?

Justin said...

Thanks for your quick reply. When you say add midi input devices, do I select Bidule 1 for example or do I select my midi hardware (MOTU 828)? (Sorry to sound so ignorant)

Justin said...
This comment has been removed by a blog administrator.
Justin said...

I think I'm understanding now. Thanks for getting me started.

Justin said...

Thanks again for your helpful checklist Lasse. Would you mind removing my post that contains my email address. Thanks. Justin

Rohan said...

Excellent post, Lasse! Thank you so much for writing this. It has been a pleasure reading your article. It is so difficult to get such information on the internet. Thank you for sharing this with us!

Could you also tell us the libraries from Vienna you use?

Do you ever run into 'stuck notes' while working with Bidule rewire? How do you solve that?

Thanks again!

Anonymous said...

Great Article

Was curious how you slave computers to your mac? Do all your slaves follow what you do on the Mac with DP?

Bradley Joseph

Thanks

Chuck said...

Completely confused by Bidule. I see that you have quite a stack of MIDI input bidules, but Bidule is giving me only 4 to work with, which a) isn't enough, and b) is less than you're getting. I see no method of adding bidules.

When I open my MIDI Devices/Input folder I see bidules 1-4 plus a stack of virtual MIDI destinations I use with DP.

How are you adding bidules to the layout, seemingly at will? Please advise. Thanks!

Chuck said...

Never mind, figured that out, it's in Preferences.

Next issue: apparently the non-beta of Bidule is 32-bit rather than 64- as I'd been led to believe. Moreover for some reason the 64-bit version won't actually launch on my Mac under Leopard.

So, being 32-bit, regular Bidule can't access more than the standard 4gb of RAM. And to get access to a zillion gb of RAM, I'd need the 64-bit version, which won't launch at all.

However, that doesn't seem to matter because ReWire is a 32-bit application that can only run on one core, and you can't have MIDI delay compensation unless you use ReWire.

So I'm guessing you're running the 64-bit version somehow and keeping all your VIs in Bidule, rather than distributing them between Bidule and DP so as to avoid having your MIDI timing go all higglety-pigglety.

Which version of OS X are you on? Leopard? Snow Leopard? Curious how you're getting all this to work.

Lasse Enersen said...

Chuck: My Bidule is 32-bit. The bulk of my samples are distributed over three 64-bit PC slaves, not my master Mac Pro. I do have some samples loaded in Bidule in Kontakt, Omnisphere, Trilogy and Stylus RMX, but they all have memory servers, so no samples are loaded inside Bidule. I have not run into any problems because of the one-core 4gb issue. My 8-core Mac shows completely balanced processing between cores.

I have midi time shift in almost every midi track in Digital Performer, so the attacks all land right on the beat. This makes up for the short delays, AND also different samples on different libraries (especially percussion) have slightly different attack times, so I have them adjusted the way I have in my master template.

Chuck said...

Lasse, thanks for your reply!

So I gather that you're sddressing individual Bidules rather than going all-ReWire to autocorrect the inherent delay compensation issues. That of course frees you from having to worry about the ReWire only-1-core processing restriction, but the cost of manually fixing all the timings sounds like a headache.

It would sure be nice if ReWire could be re-written to operate using all the cores, and Bidule's ReWire MIDI input re-written to address more than 8 VIs (if that's possible with ReWire), so that you could have it all -- all the VIs you wanted, with automatic delay compensation.

I've tried setting manual MIDI time shifts in DP to compensate for standalone VIs with non-ReWired Virtual MIDI-in and Soundflower outs to DP, but found that it could never be reliably adjusted, as the amount of latency depended sensitively on how busy the machine was at that moment and would work one moment and not the next. Why that should be, I don't know, but it appeared to be the unfixable. At least if I were mixing outboard with inboard VIs.

Good point about VIs with memory servers getting around the 32-bit memory issue in Bidule.

I got Bidule to deal with Omnisphere, which, when I loaded it up with a template of 4 Kontakts and a Vienna Ensemble -- both of which have their own memory servers -- sent me into memory-out crash after crash, like every 20 minutes. My experience with the Omnisphere memory server was that it appeared not to be working at all, or if it were, not in a way that ameliorated the disaster at all. Since hosting it in Bidule I've found it to be running smoothly enough, with no crashes. So from that point of view Bidules a godsend.

Justin said...

Hi Lasse. I've been using Bidule since reading your blog last year, but I've found the MIDI delay to be very annoying in rewire. I've just been experimenting with VE Pro and I'm about to upgrade my computers to a similar set up to yours.
It looks like you have a great setup, but I'm confused as to why you use bidule. Doesn't DP talk directly to VEP? I thought that Bidule did the same thing as VEP... hosting instruments.

Lasse Enersen said...

Justin: The MIDI delay is annoying, yes. I use Time Shift plugins in every midi track in DP to compensate.

I use Bidule to save time. I switch between DP projects many times a day and I don't want to load everything again and again every time I do that.

Anonymous said...

Thanks Lasse for your handy blog and your advice. It is most appreciated. I've recently added a second mac to my studio where I store my libraries and VE Pro. I get intermittent drop outs running DP 7.23 and one instance of VE Pro. It's kinda like the network drops out for a split second and comes straight back again. Any thoughts? I've searched a few forums and i saw your name come up. I see you had similar problems a while ago.

Justin

dutchfilmscore said...

Hi Lasse.
I'm very happy with your blog full of tips and clear tricks. What I don't understand is that you use Bidule, while you use Vienna Ensemble Pro server at the same time. Did I miss something ore is it not possible to wire it all up with VEP without Bidule?

Cheers from Holland

Arthur

Anonymous said...

How do you even get that many tracks? If you're using Kontakt 4, you only get 16 MIDI tracks...how do you use the other ports: B,C & D?

And, if you're not using Kontakt, what else are you running; does 'Digital Performer' allow this many MIDI tracks?