Skip to main content

Instrument Groups & Pitch Ranges

Author andre

For orchestral arrangements it is inevitable that overlapping melodic lines (chords, harmony) can be distributed across instruments based on pitch. For example, a wide-ranged polyphonic strings part should be distributed over basses, cellos, violas, violins.

Editing all these lines in a single phrase is more intuitive and practical than editing separate phrases per instrument. 

I'm not sure yet what is the best way to do this and need some input.

Target Instrument Per Segment

Segments are assigned to target instruments. These segments appear in a read-only "ghost phrase" on the respective target tracks (for information only). 

The target instruments however have individual playing ranges and interpetations, which almost certainly requires segments to be transposed and even transformed. So what's the difference from editing the segments on each track separately, displaying the other instruments as background information (as it is now).

Another downside: Your phrase will be hard-wired to instruments. That actually already rules out this approach.

Distribute Output Automatically

Another solution may be to group two or more instruments and distribute the final output within that group automatically (you'd edit a single phrase and leave the others empty and Synfire renders the phrase based on a merged total playing range). The resulting pitches are distributed in the group only after the fact. So if you want to cover a wide range from basses to violins, your single phrase has to be really broad vertically.

This offers less control, but may be musically more sound. Music Prototying is about getting good-enough results fast. You could even change the group of instruments to piano, woodwinds and brass. Imagine the surprising new timbres and inspiration you might get from that without even touching the phrase.

There may be other ways to do this. What could you think of?



Fri, 2023-06-16 - 13:22 Permalink

Yes, you can sound the string section in 2 ways in my opinion ( and I'm not a composer)
- separately in individual instruments.
- ensemble strings

The ensemble strings only need a full chord

I also have a course evenant : Cinematic Music:
"From Idea To Finished Recording" which works with Cubase and another DAW in an update course.
You should actually study such a course to get the process of string composing clear.
Furthermore, you can also check the free ( by Nico Shuele (also on youtube) because it contains an example of how to compose with ensemble strings, but maybe it contains an example of a string section with separate instruments as well?

Nico Shuele also offers a course ( which I also purchased and is cheap ( try to get a discount)
Here he is going to do some compositing in Cubase to combine the two sound libraries  
In this course he is going to build up the string section with individual instruments.

How two working methods of string composition as done in Cubase and highlighted in the video course material can be imitated in Synfire ?


Fri, 2023-06-16 - 13:55 Permalink

What about using the layer parameter(or something similar maybe 'voice') to somehow assign a figure to a layer and that layer renders via an instrument? Rather than the layer being a separate parameter, it becomes a filter to decide which figures to show. Have an option to show all layers, or each layer individually. Layers follow the playing range for the instrument linked to that layer, not sure how difficult it would be to route each layer to a different instrument internally? This way you have the option to see all the overlapping figures and edit them as normal, or show just one set of figures all within the same 'track/mega instrument'.
Jan, I see using an ensemble instrument with chords as completely different. All synfire need do is generate chords and leave it up to the ensemble instrument (VSTi) to decide how to play them. It does that now anyway. It is no different to just using a polyphonic instrument except the vst may sound different depending on the notes in the chord and would vary from one vst to another anyway.

Fri, 2023-06-16 - 14:35 Permalink

Maybe someday it will be possible to get the Cubase way of composing strings, but there is no noteroll editor with octave markings where you can do something with the notes 
So yes, creating ensemble chords seems easier , but it's not an individual string section
You're also stuck with the "layer routing" now that you mention it .
On individual tracks in Synfire this can be more easily transferred 1 to 1 in a mixer for routing in a DAW

Fri, 2023-06-16 - 16:20 Permalink

Maybe someday it will be possible to get the Cubase way of composing strings

This is possible only with static MIDI. If you know the pitches, it's easy to tell them apart by pitch. Figure is an algorithm however. You never know in advance which pitches it will produce.

The challenge at hand is how to distribute pitches that you don't yet know.

somehow assign a figure to a layer

As a visual editor feature, yes. Similar to the Focus feature for symbol types we have now. But the layers will still be rendered by different instruments independently that each have playing ranges and interpretation settings (e.g. chord inversions). Melodic lines may inadvertently end up crossing each other, for example.

Fri, 2023-06-16 - 18:25 Permalink

I think it would be already helpful if we could create user defined track sheets where you can select a few instrument tracks and display them side by side without the need of scrolling.  Currently, if you have a large arrangement with, say, 25 instruments, you can have hard times to keep the overview. For example, if you want to display the flute, which is at the top of the arrangement, along with the violins, which are pretty much at the bottom, you can either scroll around or move the instruments up and down in the arrangement. Both options are annoying. 

The idea of layering multi instruments in one instrument line makes not much sense with Synfire, in my opinion. In the piano roll of a DAW it's a different thing, there you can see intervals between the instruments, crossing melody lines, etc. But in the figure editor in Synfire, what's the point? You couldn't recognize overlapping melodies, intervals, or anything else useful. 

So, as I said, my suggestion would be to allow user-definable track sheets. Ah, and for this user-specific selection of instruments, you could then additionally add a common output line that shows all selected instruments in this piano roll-like view. That would certainly be helpful. Anything else seems to be "overdoing things" :)

But well, I'm not into orchestral composition anymore. So, for me this topic is of limited relevance anyway. I just want to say that I would rather see more options for figure transformation than two years of implementing instrument layers...:)

Fri, 2023-06-16 - 19:03 Permalink

user defined track sheets

I already thought of that too.  Select two or more instruments and assign Instrument >> Group >> A for example. Then choose from A, B , C, ..., ALL to filter the track sheet view. That would already make things much easier to navigate. And it's not difficult to implement.

Music Prototyping is about getting good-enough results fast. All tinkering at the detail level should be relegated to the late stages of a project when most things have settled. Better to have some auto-magic that doesn't require many (if any) settings.

Some Interpretation setting that says "Render this phrase for instruments A,B,C combined and distribute the output" could be really nice. 

Not only for orchestra. Imagine a dense piano phrase auto-distributed to bass, piano and guitar just to get a quick idea how that would work without the need to split the phrase.

Fri, 2023-06-16 - 19:55 Permalink

Select two or more instruments and assign Instrument >> Group >> A for example. Then choose from A, B , C, ..., ALL to filter the track sheet view.

Or even simpler: Like in the Matrix view, where you can select at the Matrix-tab, which parameters are to be displayed. Similarly, at the Arrangement view there could be a "Track sheet" tab on the side panel to select the Instruments to be displayed. And a button to switch the corresponding output line on and off. And additionally maybe buttons to save and recall corresponding settings. 


Sat, 2023-06-17 - 21:25 Permalink

It works on MIDI data, so you could feed Synfire's output into Divisimate, why not.

Not sure if that makes sense, though. I would rather like Synfire to do this internally, as outlined above.

Sat, 2023-06-24 - 17:25 Permalink

Synfire 2.2.1 now introduces an experimental feature Instrument Groups. Check it out (Enable experimental features in Preferences first)

Here's a summary:

Add instruments to a group with Instrument >> Assign Group.

Groups A, B, C, D, E, F can be enabled/disabled on the track sheet with buttons. Alternatively you can use the View menu.

The purpose of groups is NOT to organize instrument by category like Woodwinds, Strings, Brass. The idea is to temporarily create/remove groups as they are handy for editing.

Sun, 2023-06-25 - 00:18 Permalink

Synfire 2.2.1 now introduces an experimental feature Instrument Groups

Yes, nice feature. Definitively helpful. Thank you for that.

Some suggestions for improvement:

  • Perhaps someone would like to name these groups. Like "Strings" or "Flute and Violin" etc. (But well, I get it that there's no room for names with this concept)
  • You may want to be able to assign an instrument to multiple groups, for example the violin to the groups "Strings" and "Violin and Flute"
  • Deleting a group should be easier than deleting the assignment for each individual instrument. For example, by right-clicking on the group's on/off button.
  • In the list of groups at "View >> Instrument Group": Groups that are not assigned could be grayed out.
  • Like the "All" option at the menu, there should also be an "All" button at the group selector buttons. Otherwise, users might panic that instruments have disappeared (instruments that are not assigned to a group could otherwise not be re-activated from this button bar)