Linux Midi Orchestration (online paper)

Unofficial support for the KXStudio Linux distribution and applications.
More info at http://kxstudio.linuxaudio.org/

Moderators: MattKingUSA, khz

Post Reply
PTPi
Established Member
Posts: 21
Joined: Mon Jul 27, 2015 5:55 pm

Linux Midi Orchestration (online paper)

Post by PTPi »

I've spent the past 5 years or so exploring how to set up a virtual
symphony orchestra under Linux using only free and/or open-source
software and freely available soundfonts. The setup is based on the
idea that an orchestral composer should be able to compose at the
score with total confidence that the playback is accurate with
respect to instrumental balance, positioning (left/right, front/back),
and reverb. Users of commercial software and samples already have
this, and I feel strongly that the same should be available to
musicians who choose to advocate, promote, and contribute to
open-source development.

A virtual orchestra under Linux is not for the faint of heart. It's
a ton of work and the documentation is all over the place, so I've
published an online paper, Linux Midi Orchestration, to help
anyone interested in setting one up. Here's the link:

http://www.schaffter.ca/pdf/linux-midi- ... ration.pdf

The PDF is around 100 pages, so I've formatted it for 2-sided
printing. The copy is liberally supplemented by screenshots,
diagrams, and musical examples, all hyperlinked for ease of
navigation, as is the Table of Contents and the List of Figures.

The principle behind the setup is "beautiful scores that play
themselves," which requires that the front end be MuseScore. No
other WYSIWYG notation program that runs natively under Linux
generates printable scores of comparable excellence. The difficulty
with this is that MuseScore's handling of midi from the score is
incomplete, requiring kludges and workarounds, which are covered in
the paper.

The paper is not a tutorial. It assumes the reader has at least
some training in music theory, instrumentology, and orchestration,
and is familiar with the midi subsystem on a Linux box. It covers
making a custom score template, creating a port/channel mapping
file, building a library of soundfonts, setting up LinuxSampler and
Non-mixer, wiring the setup together with KXStudio tools, and using
MuseScore's midi controls to generate musically sensitive playback.

The setup and management of both algorithmic and convolution reverb
is covered, as is ambisonic panning. Use of MuseScore's internal
synthesizer (fluidsynth) and mixer are not discussed at all;
MuseScore is considered only in its capacity as a front end to what
is, essentially, a DIY orchestral DAW. While the thrust of the
paper is toward orchestral composition, the principles it
introduces are applicable to other types of music and audio
processing. Of particular use to everyone are the sections on
Non-mixer and reverb.

A demonstration of the virtual orchestra discussed in the paper
can be found on YouTube at

https://www.youtube.com/watch?v=6bceV7P-FKo
Lyberta
Established Member
Posts: 681
Joined: Sat Nov 01, 2014 8:15 pm
Location: The Internet
Been thanked: 1 time

Re: Linux Midi Orchestration (online paper)

Post by Lyberta »

LinuxSampler is proprietary. You can't use it if you want to use only FOSS tools.

The paper says that sf2 is the most common format. In my experience, the most common one is SFZ but there are no FOSS SFZ samplers.

I was not able to find the source code for sf2splitter. I assume it's proprietary.

WINE Is Not Emulator.

Could not find the license of http://space-net.org.uk IRs.

http://legacy.spa.aalto.fi/projects/poririrs/
Copyright

SIRR processed data are Copyright ©2005 by Helsinki University of Technology (TKK). All other data are Copyright ©2005 by TKK, Akukon Oy Consulting Engineers, and the authors. The data are provided free for noncommercial purposes, provided the authors are cited when the data are used in any research application. Commercial use is prohibited and allowed only by written permission of the copyright owners.
Noncommercial clause means the these files are proprietary.

The paper itself is CC-BY-NC-SA 4.0.

In total, this is not a good paper at all.
Lyberta
Established Member
Posts: 681
Joined: Sat Nov 01, 2014 8:15 pm
Location: The Internet
Been thanked: 1 time

Re: Linux Midi Orchestration (online paper)

Post by Lyberta »

It's just that the paper mentioned using FOSS tools. If it mentioned using proprietary software, I'd just didn't read it.
PTPi
Established Member
Posts: 21
Joined: Mon Jul 27, 2015 5:55 pm

Re: Linux Midi Orchestration (online paper)

Post by PTPi »

Lyberta wrote:LinuxSampler is proprietary. You can't use it if you want to use only FOSS tools.
The subject is midi orchestration, not F(L)OSS purity. The text avoids the term entirely, preferring "free", "open-source," and "freely-available" as appropriate in order not to mislead in that regard. Not well enough, apparently.
nils
Established Member
Posts: 537
Joined: Wed Oct 22, 2008 9:05 pm
Has thanked: 35 times
Been thanked: 94 times
Contact:

Re: Linux Midi Orchestration (online paper)

Post by nils »

Do you have music examples composed with this setup? This is, after all, the starting point. Does this lead to a good sound?
User avatar
Michael Willis
Established Member
Posts: 1450
Joined: Mon Oct 03, 2016 3:27 pm
Location: Rocky Mountains, North America
Has thanked: 68 times
Been thanked: 162 times
Contact:

Re: Linux Midi Orchestration (online paper)

Post by Michael Willis »

This is a fantastic resource! I do understand that documenting how to do something takes many times more effort than just doing it.

I have also dabbled in virtual orchestration, having read some of the same articles cited in your paper (particularly the Westlund ones, which are profoundly helpful). I ended up with a very similar setup, except that I eventually decided to forego notation, which sent me down a different path leading me to choose to make an Ardour template using Paul Battersby's Virtual Playing Orchestra.

I'm curious why the document seems to recommend cobbling together a collection of virtual instruments; that seems fraught with peril to me. Even if I could find all of the instrument sections that I want, getting them to sound like they go together would be a significant challenge. There are people who have already gone to great lengths to tackle this challenge; in corresponding with Paul Battersby I have been privy to the meticulous audio processing that he's done to get his collection to have a consistent dry sound.

As of now there are three relatively new freely available orchestral sample collection, depending on what kind of sound you want: No Budget Orchestra, Versilian Studios Community Edition, and Virtual Playing Orchestra. Of course there's also the venerable Sonatina Symphonic Orchestra which some people still prefer.
PTPi
Established Member
Posts: 21
Joined: Mon Jul 27, 2015 5:55 pm

Re: Linux Midi Orchestration (online paper)

Post by PTPi »

nilshi wrote:Do you have music examples composed with this setup? This is, after all, the starting point. Does this lead to a good sound?
There's a link at the end of the OP to an example. It uses the exactly the same setup as the paper describes. Another example is the Symphony in D minor, at https://www.youtube.com/watch?v=E4zrNpy-nFs. Again, same setup, but with slight variations.
PTPi
Established Member
Posts: 21
Joined: Mon Jul 27, 2015 5:55 pm

Re: Linux Midi Orchestration (online paper)

Post by PTPi »

Michael Willis wrote: I have also dabbled in virtual orchestration, having read some of the same articles cited in your paper (particularly the Westlund ones, which are profoundly helpful). I ended up with a very similar setup, except that I eventually decided to forego notation, which sent me down a different path leading me to choose to make an Ardour template using Paul Battersby's Virtual Playing Orchestra.
Some musics have to be notated. I can't, for example, even imagine composing a fugue with only piano-roll and waveforms. Out of the question. But it doesn't surprise me your setup is very similar; the principles of a virtual orchestra remain the same regardless of the kind of front end one prefers.
Michael Willis wrote:I'm curious why the document seems to recommend cobbling together a collection of virtual instruments; that seems fraught with peril to me. Even if I could find all of the instrument sections that I want, getting them to sound like they go together would be a significant challenge. There are people who have already gone to great lengths to tackle this challenge; in corresponding with Paul Battersby I have been privy to the meticulous audio processing that he's done to get his collection to have a consistent dry sound.
Quite simply, for advanced orchestration, no pre-built orchestra is ever satisfactory. All it takes is "the violas sound boxy" or "there's too much vibrato in the flute" and you're off to the races, hunting down better violas and flutes. The problem with orchestral soundfont collections is that someone else makes the decisions. Take a collection that has a flute "section". If the section is three flutes big, you're stuck if you want to score for winds in pairs.

Excellent work like Battersby's is a boon if you're new to orchestration, but over time, one after another after another instrument in any collection will get replaced, or you'll need alternates, or you'll find yourself tweaking the soundfonts yourself. I concluded, after years of working with collections, that it's better to bite the bullet at the start and build your own library. No shortcuts to excellence. :)
User avatar
Michael Willis
Established Member
Posts: 1450
Joined: Mon Oct 03, 2016 3:27 pm
Location: Rocky Mountains, North America
Has thanked: 68 times
Been thanked: 162 times
Contact:

Re: Linux Midi Orchestration (online paper)

Post by Michael Willis »

PTPi wrote:Some musics have to be notated.
I used to feel like that. Ages ago I used a little notation program Music Time on Windows 3.1, which for its time was a pretty good notation program with midi playback. Then when I started using Linux I kept looking around for a notation program, but was consistently disappointed. I finally decided to switch to a DAW, using a combination of live recording, step entry, and drawing notes directly onto the piano roll view, and found that I'm actually happier with level of expression and control that I get over the resulting audio playback.

Notation is just one way of representing a musical idea, among many others (guitar tablature, piano roll views, etc.) What really matters is the sound, so whatever path gets you there is fine in my opinion. If MuseScore's notation editor does that for you, that's great.
PTPi wrote:Quite simply, for advanced orchestration, no pre-built orchestra is ever satisfactory.
Ok, maybe that's fair. I'm just a hobbyist, with a day job and a family to take care of, so I have extremely limited time to put into this hobby. I don't really want to spend dozens of hours chasing down just the right marimba or cor anglais. I've taken the approach of embracing constraints, and trying to work with what I have. If that means I can't get quite the sound that I imagine in my head, then I set that aside and try to imagine music that can be well expressed with what resources I have available, instead of fighting the medium that I'm working with.
PTPi wrote:If the section is three flutes big, you're stuck if you want to score for winds in pairs.
*shrug*, I think I could work with that, if I wanted winds in pairs, I would make two solo flute tracks, two solo oboe tracks, and so on. If it's supposed to be a close-up intimate sound, maybe give them a little bit of different panning. If it's part of a larger more distant orchestra, each pair could probably be panned together; I don't think the ear can really distinguish enough to make a difference. Given the right SFZ parameters, the notes will have very slightly randomized timing and intonation so that it doesn't sound like two robots playing in perfect sync.

Anyway, I'm not saying that your approach is wrong, I was just commenting on how you came to some different conclusions than I did.
PTPi wrote:I concluded, after years of working with collections, that it's better to bite the bullet at the start and build your own library.
Heh, after I made an Ardour project template for orchestration, I found myself disappointed and maybe a little hurt when people would give it a cursory glance and then tell me that they were off to make their own template. Now that you put it like that, with so many possible decisions (which samples, what seating arrangement, which reverb plugin(s), etc. etc. etc.) it makes a lot of sense that everybody doing virtual orchestration would want to build their own virtual orchestra.
Post Reply