What's new

Divisimate | Realtime MIDI Divisi Engine | Release Thread

I think with transposition and different voicing setups it's not about the number of notes you are playing on the keyboard but the number of instruments you want to play those notes.
After all you can route a note multiple times to different instruments. A simple triad on the keyboard can spread into all kinds of different voicings and orchestrations with many instruments, since all the notes of the chord are there, just need to be spread around in different ways with routings and transpositions.
This.

Therefore my question was focused on multiple parallel instances instead of more ports.
I can imagine that with more than 32 ports in one instance you can lose track of what is going on.
 
Therefore my question was focused on multiple parallel instances instead of more ports.
I can imagine that with more than 32 ports in one instance you can lose track of what is going on.
It's an interesting idea, but it won't work - that's just not the way these virtual devices are set up. A second instance of Divisimate will not create a second set of ports.
 
Sorry I missread multiple instances as multiple runs (of recording) ... I still can't get my head around the problem:

One performance patch for:

- setting up ALL first chairs
- setting up e.g. ALL Strings and all their divisi (Brass or Woods)
- setting up e.g. ALL instrument ensembles Vio I, Vio II, Vla, etc AND Flt, Ob, Cln etc and brass
- setting up whatever

Whatever you set up or come up with, it is ALL faster than manually splitting ensemble chords to several tracks. Even if you record the ENTIRE track 4x with different patches (which is giving you 128 ports) it is still faster than having recorded strings only to an ensemble patch and manually splitting out Vln I, Vln II, Vla, etc from that MIDI event.
 
Would a version with 64 or 128 or 256 ports start to run into operating system and/or DAW limitations on the number MIDI ports that can be accessed?
 
Sorry I missread multiple instances as multiple runs (of recording) ... I still can't get my head around the problem:

One performance patch for:

- setting up ALL first chairs
- setting up e.g. ALL Strings and all their divisi (Brass or Woods)
- setting up e.g. ALL instrument ensembles Vio I, Vio II, Vla, etc AND Flt, Ob, Cln etc and brass
- setting up whatever

Whatever you set up or come up with, it is ALL faster than manually splitting ensemble chords to several tracks. Even if you record the ENTIRE track 4x with different patches (which is giving you 128 ports) it is still faster than having recorded strings only to an ensemble patch and manually splitting out Vln I, Vln II, Vla, etc from that MIDI event.
All good, everything you write is right!

Also I suppose that you need a very high performance system if you have way more than 32 ports in use at the same time. Layering, stacking, crossfades, splitting, a system has to be able to handle that properly.

With some patches, especially when TM patches are used, a system can go down in the pit earlier.

Beside the limitation to 32 ports, there is also the question if it makes sense for performance reasons.
 
No worries if you don't want to explain, but even if Divisimate had 256 ports. Then you would still be able to record ONE go with just ten fingers.

I’ll be happy to explain, with two fingers. Let’s say I play a C5. What I can do with that is: on that c5 I have half of a first violin section, a first chair violin (or two) from AudioModeling and maybe a little erhu for color. In unison with that I might have a first flute, and an octave above that a piccolo. A fourth below that is the second half of the 1st violins, a section leader from AM, a second flute, two first trumpets and a first horn. Go on down the chord (and let’s assume it’s not just a triad - say a stack of fourths going down to the third - a nice open sonority that can serve multiple purposes depending upon what it is paired with on the low side of the chord. Why am I not sharing ports? Because I want some constrained randomness to the timing per instrument - because I can. (Ideally I’d also be able to scale controller responses so that the instruments respond differently to breath controller dynamics, and limit ranges per instrument so I’m not hitting keyswitches unintentionally - but I feel certain that will find its way into the app with time.) Then I place the low range in Divisimate around C3 and build up from C1, with a bass section from the primary string library, two tubas and a bass trombone from SampleModeling, and a contrabassoon, each transposed appropriately, and maybe a kettle drum that only engages at a high velocity. Above that at G1 a couple of trombones, half of a cello section, a section leader SWAM cello, and a bassoon or two, and above that at E2 the same again with maybe a little Cimbasso. So once that’s done and balanced, I make a duplicate of this preset and change the chord quality slightly - tip it toward the minor, perhaps - and then continue making new versions of the two registers and storing them as presets.

So if you have been able to follow all of that, what I now have is a two-fingered polychord workshop that I can change with CC31 to match the tonality of my sequence as it changes. It’s easy to only enable the ports I intend to use for, say, a horn and wind ensemble for Williams-style planing and have that as a preset, or simply make a preset for splitting a step-entered sketch into parts. That’s all fine. So why don’t I want to just do them a section at a time (and potentially maintain separate tracks that control the same flute, for example, but are set up to accommodate Divisimate entry specifically)? Well, first, I don't need to accept a brand new app as though it’s in its final form, so I don’t need to want to do it section by section with multiple instruments looking at the same ports - and because the moment I want to make a new combination with unique plugins per instrument, if I have some brass sharing the same port as some strings, I have to reassign inputs to my tracks.
At the moment my primary work is in animation - I write for full orchestra and various exotic ensembles and studio rhythm-section instruments, with the usual percussion and also synthesizers. It’s all online all the time. I don’t have slow computers because I don’t want to freeze tracks and slow my process down, and by the same token I don’t want a system that requires me to reassign inputs to twenty tracks in the middle of writing a cue or to have many more tracks in my session to accommodate different input sources. I also use a breath controller which has its own input, and in the sequencer platforms I use -Pro Tools, Cubase, Logic - one can only reasonably specify one or all inputs to a track, so breath controller must be one of the inputs of Divisimate.

So: for me, time and focus are of the essence. I’m aware of the workarounds - they are not difficult to find - but they change the way things need to be done and add multiple steps. I’ve been using workarounds for various limitations in hardware and software since the late seventies when I was a boy writing polyphonic music on an inexpensive home computer. My wishes may not have occurred to you because of the way that you work, which is fine. Nothing wrong with that - but one shouldn’t want a program to be limited because one can’t think of a way a feature might be used. And perhaps it’s a linguistic barrier that would lead you to suggest that I hadn’t thought this through. But I have. Your turn.
 
ProTools, for example, sees these ports as having 16 channels each. What would have to be done is if the destination after plugins in Divisimate were not just a port but rather a midi channel on a port. Maybe you would set things up on a page with names and so on, and then the main page that you already have would look similar except you would have named targets on the right instead of ports - and you could even have a show-hide toggle to keep from having to wade through everything all the time. And the ability to copy and paste settings among routing channels, perhaps with auto-increment options, would speed this along.

Large systems with many ports even on only one computer are a reality. This sort of functionality in Divisimate could just as well be built into VEPro - they just don’t think about it much. Since it’s not - you would set it up once with names for channels and ports in Divisimate and then it’s done. Managing a high number of ports is really only cumbersome if you don’t use templates - if you do it’s just tedious once.
 
I’ll be happy to explain, with two fingers. Let’s say I play a C5. What I can do with that is: on that c5 I have half of a first violin section, a first chair violin (or two) from AudioModeling and maybe a little erhu for color. In unison with that I might have a first flute, and an octave above that a piccolo. A fourth below that is the second half of the 1st violins, a section leader from AM, a second flute, two first trumpets and a first horn. Go on down the chord (and let’s assume it’s not just a triad - say a stack of fourths going down to the third - a nice open sonority that can serve multiple purposes depending upon what it is paired with on the low side of the chord. Why am I not sharing ports? Because I want some constrained randomness to the timing per instrument - because I can. (Ideally I’d also be able to scale controller responses so that the instruments respond differently to breath controller dynamics, and limit ranges per instrument so I’m not hitting keyswitches unintentionally - but I feel certain that will find its way into the app with time.) Then I place the low range in Divisimate around C3 and build up from C1, with a bass section from the primary string library, two tubas and a bass trombone from SampleModeling, and a contrabassoon, each transposed appropriately, and maybe a kettle drum that only engages at a high velocity. Above that at G1 a couple of trombones, half of a cello section, a section leader SWAM cello, and a bassoon or two, and above that at E2 the same again with maybe a little Cimbasso. So once that’s done and balanced, I make a duplicate of this preset and change the chord quality slightly - tip it toward the minor, perhaps - and then continue making new versions of the two registers and storing them as presets.

So if you have been able to follow all of that, what I now have is a two-fingered polychord workshop that I can change with CC31 to match the tonality of my sequence as it changes. It’s easy to only enable the ports I intend to use for, say, a horn and wind ensemble for Williams-style planing and have that as a preset, or simply make a preset for splitting a step-entered sketch into parts. That’s all fine. So why don’t I want to just do them a section at a time (and potentially maintain separate tracks that control the same flute, for example, but are set up to accommodate Divisimate entry specifically)? Well, first, I don't need to accept a brand new app as though it’s in its final form, so I don’t need to want to do it section by section with multiple instruments looking at the same ports - and because the moment I want to make a new combination with unique plugins per instrument, if I have some brass sharing the same port as some strings, I have to reassign inputs to my tracks.
At the moment my primary work is in animation - I write for full orchestra and various exotic ensembles and studio rhythm-section instruments, with the usual percussion and also synthesizers. It’s all online all the time. I don’t have slow computers because I don’t want to freeze tracks and slow my process down, and by the same token I don’t want a system that requires me to reassign inputs to twenty tracks in the middle of writing a cue or to have many more tracks in my session to accommodate different input sources. I also use a breath controller which has its own input, and in the sequencer platforms I use -Pro Tools, Cubase, Logic - one can only reasonably specify one or all inputs to a track, so breath controller must be one of the inputs of Divisimate.

So: for me, time and focus are of the essence. I’m aware of the workarounds - they are not difficult to find - but they change the way things need to be done and add multiple steps. I’ve been using workarounds for various limitations in hardware and software since the late seventies when I was a boy writing polyphonic music on an inexpensive home computer. My wishes may not have occurred to you because of the way that you work, which is fine. Nothing wrong with that - but one shouldn’t want a program to be limited because one can’t think of a way a feature might be used. And perhaps it’s a linguistic barrier that would lead you to suggest that I hadn’t thought this through. But I have. Your turn.

Hey, thanks for writing such a detailed post. Of course, it all makes sense now.
(Even though I still ask myself if it would make sense to have little, but more sections of ports going - as an example: 1 port may be routed to e.g. 16 Kontakt instances, then the next port to another 16 and so on. By doing this you would just arm the MIDI/Instrument tracks you want to record to.

Anyway, yes, there may have been a linguistic barrier or some brainfart ... or whatever, but I can't look into your head and exactly know what you were looking for. So, thanks again for your explanation and chances could have been there that I mentioned something you haven't been aware of. Wasn't the case, no worries :)
 
The humanization engine is something that we want to rework at some point, so this is bound to change but right now the different humanization types do the following:
Note Timing: Delay every note by a different random amount of milliseconds
Velocity: Add or subtract a different random value to the velocity of every note.
CC Timing: Delay the CC Data of a given part by a constant quasi-random value for each complete part. As you said, this is more useful when you are playing slower parts and crescendos.
CC Value: Add or subtract a quasi-random value to CCs for each part

I would love to set up a more complex humanization engine at some point that relies on slow oscillating individual functions instead of random values. Go a couple of ideas there, but that's for another time.

Thanks for your answer! I just finished creating my own Max for Live device for more personalized humanization processes (custom CC filtering, slow LFOs + Rnd values for each modulation target, pitch bend modulation for detuning...). I like that I can automate each parameter in my DAW, such as starting passages with a longer Delay range and then shortening it for faster moving passages and so on. I can also push its limits to do crazy random effects, which can be really interesting. A lot of potential there!

I'm happy to see the implementation of the Loopback function since it means I could use my own MIDI devices, which I load only once at the beginning of my signal chain, then route the MIDI to Divisimate for splitting it up to my different instruments. I'm seriously starting to consider it now. I don't really plan on performing orchestral instruments but for composition workflow, I think this can seriously help timewise but also, even more, for quickly trying out ideas. The idea of having to push only one button for rerouting everything to a specific instrumental combination and trying out ideas live is very interesting.
 
hello ! how do you switch articulations on spitfire strings and sample modeling strings at the same time? do you use expression maps in cubase ore you prefer setup divisimate presets with trigger for different articulations? lets say i play preset with perfomance legato on sss and if i want to switch to pizz with same voicing, what the better way to do it? if i setup cubase expression maps trigering by key switch - it will overlaping with note range on double base for example. ore should i do every voicing preset in divisimate with trigger plugin to switch articulations? please help to clear it up.
 
@justthere I'm really confused about your posting about this, maybe I'm misinterpreting you, but did this product make your workflow worse?

I'm trying to imagine a scenario where this wouldn't be an improvement, and what software is currently better than this for what it's trying to do.

I think it would help my workflow, but I'm short on funds so im not sure if I can pony up for it
 
Thank you for this great software! @Nextmidi
I have a question: in the Trigger plugin I want to send keyswitches between C-2 to B-2, but currently I don't see notes below C-1. Is there anyway to extend the range or would you add it in the future version?
 
hello ! how do you switch articulations on spitfire strings and sample modeling strings at the same time? do you use expression maps in cubase ore you prefer setup divisimate presets with trigger for different articulations?
There are multiple ways to do this. You can use the trigger to send keyswitches or CC. If both SM Strings and Spitfire Strings are receiving from the same port, you can set up a trigger to send UAC for Spitfire and keyswitches for Samplemodeling. You can also use Expression maps to make every articulation of the different libraries respond to the same keyswitches or controllers first, and then send these unified using the trigger.
On different ports you can just set up different trigger settings for each instrument.

Is there anyway to extend the range or would you add it in the future version?
Already on it - coming with the next update. :)
 
For the sake of completeness of this thread, I want to repost what I wrote in this post over here so all the information contiues to be in one place. Also people have been asking for templates and presets in this thread and might not check the Deals section, so I hope that's okay.

---------------------

SWAM + Divisimate Bundles
We are happy to announce that the SWAM instruments by Audio Modeling and Divisimate are now available as bundles in the Audio Modeling Shop for an extraordinary price - up to 30% off!

SWAM Solo Strings + Divisimate: $390 (normally $550)
SWAM Solo Woodwinds + Divisimate: $780 (normally $940)
SWAM ALL-IN + Divisimate: $1030 (normally $1199)

(broken link removed)

These bundles will be available until March 16th.


SWAM + Divisimate Templates

Also we wanted to provide an easier starting point for everyone to get started with Divisimate. That's why we decided to make templates for a couple of major DAWs available, in which we set up a SWAM Orchestra the way we prefer it.
Now there's probably a reason why hardly anyone releases templates - it's virtually impossible to make sure that the template opens the same on every machine without issues. It's also unlikely that everyone owns the same plugins. We didn't want to hand out a giant buying list with the templates, so we only used EAReverb 2 by eaReckon for positioning. If you don't have that one, you'll have to set up the positioning and reverb on your own.
Also on some systems you may still have to select the input ports for each track once more.

Since the templates feature a lot of modeled instruments, they aren't exactly light on CPU, but if your machine can handle them, they do sound great in our opinion. At its core they are modeled after Peter's template which he used in our original teasers.

So enough disclaimers - the templates are available to download for free from our website:

We hope that templates and the dedicated Divisimate presets we built for them offer a starting point for everyone who wants to explore the powerful combination of Divisimate and SWAM!
Once the SWAM Solo Brass come out we will update these templates with the full Brass section, and also release the Big Band template used in the SWAM Big Band Video.
 
Has anyone tried Divisimate with Ableton Live? I have a live show coming up and curious how it might work there.
 
Has anyone tried Divisimate with Ableton Live? I have a live show coming up and curious how it might work there.
Just gave it a try, even though I am not an Ableton user at all. It works exactly as intended in Ableton Live. The Divisimate Ports can just be selected as inputs for MIDI tracks without any further setup. Very easy setup, actually.
The only thing that you might need to be careful about is a track receiving from "All Ins" while Divisimate is active - that adds up all Divisimate ports and creates pretty weird data. Just disable Divisimate with the On/Off button if you want to use the "All Ins" option.


I'll just go ahead and also leave these two videos in this thread as well:



 
Hi Everybody,
Hope you all are safe and well.
We're hard at work over here to bring you the next major new features for Divisimate.
In the meantime we wanted to share this video:


Now that we had shown the setup in detail for Logic Pro with the Logic Mode video, we wanted to do the same for Cubase and show the setup of a simple ensemble from scratch step by step.
So this video starts from a blank project, and goes from setting up inputs and ports to recording a little string quartet composition.
 
I've been using Divisimate and thought about trying something different and going with one ensemble patch using one note for say a triad, but this doesn't work. I tried using Port 01 multiple times and transposing. Is this not possible with Divisimate and would require a different plugin like Scaler or Obelisk? Thank you!
 
I've been using Divisimate and thought about trying something different and going with one ensemble patch using one note for say a triad, but this doesn't work. I tried using Port 01 multiple times and transposing. Is this not possible with Divisimate and would require a different plugin like Scaler or Obelisk? Thank you!
So you want to play one note and have the result of recording a complete triad on one port? For that indeed something like scaler may be more suited at this point. Divisimate does not have a comfortable way of doing this, since it's essentially the opposite of what it was originally designed for.

But you can create a triad across multiple instruments by routing the same voice to multiple ports and transposing them by different amounts:
 
Top Bottom