What's new

Reducing Berlin Series Instruments Memory Usage

Ihnoc

Active Member
Hello friends,

I have been experimenting with reducing the impact the Berin series instruments has on my RAM load. Note this has nothing to do with Sample Memory as these changes should improve RAM performance when purged. It does remove your ability to use samples from microphone positions you remove. I have written up a short explanation of process below:

https://alexjevincent.co.uk/optimising-berlin-series-instruments-memory-usage/

1. Removing Kontakt Zones by Group
In summary:
  1. Save a ‘Light’ version of the patch. Note the Object Memory Used field in the ‘Expert -> Engine’ tab
  2. Use the Wrench to edit the instrument then use the ‘Expert -> Groups’ tab to search for microphone positions and then select them
  3. Open the Mapping Editor for the patch. Ensure ‘Selected Zones Only’ is active, then right click to ‘Select All Zones’, then right click ‘Delete Zones’
  4. Note the Object Memory Used field in the ‘Expert -> Engine’ tab and save the instrument again
Results
In my testing, I have managed to see the below results:

Horn 1 Multi Patch
  • ~305Mb Object Memory Used before removing zones
  • ~168Mb Object Memory Used after removing zones for Close 2, AB, ORTF and Surround groups
Horn 1 Legato Single Patch
  • ~155Mb Object Memory Used before removing zones
  • ~84Mb Object Memory Used after removing zones for Close 2, AB, ORTF and Surround groups
I hope this is of help to some of you. I'm sure this applicable to other developers as well.

I think it is important to highlight here that what I am changing here to reduce Object Memory is not the result of 'amature coders' or a lack of optimisation, it is simply how the samples are mapped. I cannot speak for the efficiency of CAPSULE specifically because these changes have nothing to do with it.

Finally while I have said it many times you should save a backup of your patches and save alternative versions of patches you are editing to do this.

2. Reducing TimeMachine memory usage

I have found that the TM Pro Voice memory and Object memory of patches increases if one of the TimeMachine articulations, like 16th or Triplet repetitions, is added to a multi. This is only pertinent to instruments that have TM Pro voice memory (Berlin Brass and its expansions, possibly Berlin Strings) In summary:
  • By default the Standard and HQ voice limits of TimeMachine Pro are set to 1 for Berlin Brass
  • Adding one of the repetition articulations to a multi patch increases this to 32 and 8, which adds TM Pro voice memory and increases object memory
  • Removing these articulations does not reduce the voice limits back to 1
  • You can set the voice limits you like, by opening the Wrench, then Instrument Options and then the Voice Handling tab
  • Doing this can reduce the impact of a multi by up to ~200MB
If you need less voices or don't use repetitions at all, check the voice limits for the instrument. Berlin Brass Expansion A loads with the repetitions automatically, so you may have to make these reductions for those patches.

The voice limits increase because the repetitions adapt to a tempo, along with the number of voices per microphone, so the increase is tailored to a good experience. It is a shame it does not return to 1 when the repetitions are unloaded, so this might be a bug.

Many thanks,
Alex
 
Last edited:
Honestly, this is devs job. If I buy an product I want it to be perfectly optimized. Its good that this is possible, thank you for letting us know, but let me repeat myself, it is devs job to bring out optimized and easy to use product, as I dont have time to dig deep and search for solutions. If they are aware about this trick and do nothing, than they dont care about their customer base.
 
Hi folks,
just to clarify. This "optimization" is not an optimization, but is simply removing whole microphone positions from the patches.
This will obviously free up ram, but at the expense of not being able to use those positions anymore.
in the OP's defence: that was clearly stated in the post :)
 
Hi folks,
just to clarify. This "optimization" is not an optimization, but is simply removing whole microphone positions from the patches.
This will obviously free up ram, but at the expense of not being able to use those positions anymore.
in the OP's defence: that was clearly stated in the post :)

Thanks Tobias. It really means a lot to have you say that. I am very glad to know you guys are watching what we're saying here. You're right; this is hobbling at its best. I have changed the thread title to suit.

Not to derail, but this is not a small amount of work to do across the libraries - I'm sure many owners including myself would value a set of patches like Woodwinds Legacy with a mixed mic position or just a reduced set of positions as in what I am doing here.

All the best,
Alex
 
Honestly, this is devs job. If I buy an product I want it to be perfectly optimized. Its good that this is possible, thank you for letting us know, but let me repeat myself, it is devs job to bring out optimized and easy to use product, as I dont have time to dig deep and search for solutions. If they are aware about this trick and do nothing, than they dont care about their customer base.

I don't disagree in the slightest; one of my favourite elements of Berlin Woodwinds Legacy and Cinematic Studio Strings is the Mix microphone position.

I purchased the expansion for Spitfire's Symphonic Brass which I use, but I personally think a Mix microphone position patch should be included for resource limited use generally and not purchased separately. Having said that, Spitfire's sample organisation means you can at least identify which samples are used in which patches by name on your hard disk; this is useful when you have a small hard drive and want those efficient mix options from that library in only 60Gb rather than the total 230Gb or whatever it is.

What I will say though, is it has taken me about an hour to resave the multi patches for the solo instruments of Berlin Brass in this way, to reduce the overhead on Object Memory from 2.32Gb to 1.24Gb. Combined with the DFT option of CAPSULE, I can have all the functionality ported over fairly quickly. I think that is worth the time.

Something to keep in mind always is that while this is easy for me to blat out and do, a developer needs to provide something like this in a concerted way such as:
  • Deciding what a 'Light patch' or Mix microphone option even is and sounds like
  • New UI for microphone positions used in the patches
  • New mapping for these new patches (I'd hate to be the person who has to do this)
  • Testing (which is so often underestimated time wise by customers and people earlier in the chain)
  • Deployment
  • After care
I'd say that, given the revisions the Berlin series has had, it would not be impossible to expect such a thing from Orchestral Tools. I know they're reading this kind of feedback.
 
Last edited:
First of all - DUDE! You worked on Planet Coaster. Love that game! And the DLC is always good, so: thank you!

Just wondering - with the Close 2, AB, ORTF and Surr zones deleted, it shouldn't reference the sample data and be OK to delete from the 'working' folder, right? I use just the Close 1 and Tree on the slave, and I'd love to be able to cut down on the sample size on disc too. Any chance the samples are organized so some of those can be purged, too? (Keeping a back-up of course - PSA: Always back things up!!)
 
First of all - DUDE! You worked on Planet Coaster. Love that game! And the DLC is always good, so: thank you!

Not me musically in any way, but a certain @jeremiahpena has lent his talents...

Just wondering - with the Close 2, AB, ORTF and Surr zones deleted, it shouldn't reference the sample data and be OK to delete from the 'working' folder, right? I use just the Close 1 and Tree on the slave, and I'd love to be able to cut down on the sample size on disc too. Any chance the samples are organized so some of those can be purged, too? (Keeping a back-up of course - PSA: Always back things up!!)

As mentioned this is one of the things I like about Spitfire's layout; it is very clear which samples are which microphone on the hard disk to do what you're suggesting. Unfortunately, I can't identify which samples are being used where in the Berlin Brass and Berlin Woodwinds Legacy libraries I have.
 
Not me musically in any way, but a certain @jeremiahpena has lent his talents...

It's cool to see someone else who worked on Planet Coaster on here, albeit in a different field. (Speaking of which, there's a great deal of OT libraries in the music I wrote for it).

I might try this with a couple of OT libraries. I never use the AB mics on anything except strings.
 
Having just tried this with Berlin Brass ExpA and ExpB (Additional Instruments and the Mutes), I was shaving off much less; ~30Mb at a time. This isn't as large as the Berlin Brass main collection but it does mean:
  • 435Mb -> 298Mb for the Additional Instruments expansion
  • 3.59Gb -> 3.35GB for the Mutes expansion
  • I have similar small savings on Berlin Woodwinds Legacy and the Woodwinds ExpA (~20Mb)
So that is quite fascinating. I couldn't comment on why only the Berlin Brass main library receives such substantial RAM reduction and other libraries don't.
 
Hello. I have continued to experiment with reducing footprint of the Berlin Brass library. I have added the following information to the first post:

This is quite easy to do and revolves around reducing the impact of TimeMachine on the multi patches. It is a substantial impact and worth considering, depending on whether you use or have used the repetition articulations in a multi patch.

2. Reducing TimeMachine memory usage
I have found that the TM Pro Voice memory and Object memory of patches increases if one of the TimeMachine articulations, like 16th or Triplet repetitions, is added to a multi. This is only pertinent to instruments that have TM Pro voice memory (Berlin Brass and its expansions, possibly Berlin Strings) In summary:
  • By default the Standard and HQ voice limits of TimeMachine Pro are set to 1 for Berlin Brass
  • Adding one of the repetition articulations to a multi patch increases this to 32 and 8, which adds TM Pro voice memory and increases object memory
  • Removing these articulations does not reduce the voice limits back to 1
  • You can set the voice limits you like, by opening the Wrench, then Instrument Options and then the Voice Handling tab
  • Doing this can reduce the impact of a multi by up to ~200MB
If you need less voices or don't use repetitions at all, check the voice limits for the instrument. Berlin Brass Expansion A loads with the repetitions automatically, so you may have to make these reductions for those patches.

The voice limits increase because the repetitions adapt to a tempo, along with the number of voices per microphone, so the increase is tailored to a good experience. It is a shame it does not return to 1 when the repetitions are unloaded, so this might be a bug.
 
On a semi-related note, if hard drive space is a problem (say for a sketching laptop with only a single SSD or something) you can remove entire mic positions by using a plugin for 'Total Commander'.

The plugin itself seems a bit fiddly, but the upshot is you can remove mic positions you're not likely to use by deleting the applicable samples from inside the .nkx files. I sadly don't own any of the Berlin libraries (Composer Cloud peasant here!) but I think I'd rather have a 30GB Berlin Brass with just the main mics, on my SSD, than 180GB of multi-mic madness relegated to a slower hard drive.

There should be a way to split mic positions across hard drives, really. Stick all your main mics on an ultra-fast SSD for scoring/mockups etc, and then enable your full mic mix from the regular HDD just for the final mixing and rendering. And why on earth isn't there a way to selectively download/install just the mic positions you need? Any thoughts Tobias, or is this more of a Native Instruments problem? :D
 
There should be a way to split mic positions across hard drives, really. Stick all your main mics on an ultra-fast SSD for scoring/mockups etc, and then enable your full mic mix from the regular HDD just for the final mixing and rendering. And why on earth isn't there a way to selectively download/install just the mic positions you need? Any thoughts Tobias, or is this more of a Native Instruments problem? :D

This does come up a lot, though I personally have more issues with RAM than space. Worth noting that Glory Days by Orchestral Tools has the sample files separated by instrument and microphone. Hopefully they might republish the Berlin series as such in the future.
 
Top Bottom