My thoughts about virtual orchestra

Now I am working on a piece that involves almost only instruments from orchestra: violas, harp, piano, horn. I like this type of music, I like soundtrack music, that chemistry between music and film especially. Also, I like minimalist music that involves orchestra instruments and electronic sounds.

So, most of the time I need an orchestra sample library. There are some solutions for this, a soundfont library, and another is a SFZ library by VSCO. Soundfonts can be played with fluidsynth player, and there are LV2 plugins. On the other hand sfz format can be played with linuxsampler, and there is a LV2 plugin that connects a standalone separated application QSampler that manages the instruments. But anyway I meet problems with these solutions and I don’t mean with this to criticize the hard work the people are putting in these software that makes my music possible.

Soundfond library sounds good on some instruments, and not good on others. The LV2 plugins often crash or freeze, or makes Jack server not to work. You cannot control instruments parameters, in general I haven’t seen to be able to change and see effects upon changing the parameters shown. The plugins are provided in the simplest way possible. On the other hand, SFZ library (VSCO one) contains a more realistic sounds. I like very much the Upright Piano from there. Strings… they sounds different, but more realistic. The problem with linuxsampler that reads SFZ is that it crashes often, at least for me. The LV2 plugin for it creates a lot of channels for every instrument added (32 audio outputs and inputs MIDIs), so, after adding 5-6 instruments Jack servers dies. In order to add an instrument in Ardour (I am using Ardour DAW) you need to open QSampler as a separate application to add an remove instruments, change them. QSampler has its own problems and crashes too. This process of using a separate application is not productive when you compose, especially when you experiment and develop ideas.

So, at the end I feel that I need an orchestra library as LV2 plugin that is easy to use, intuitive, and to provide more features regarding the instruments. Since I have plans to compose more orchestra music, i.e to go in this direction (I don’t mean western classical music style), I have some thoughts to develop an orchestra LV2 plugin that meets my needs, of course, released as free software, i.e GPLv3. One problem with this idea is the instruments sounds. There is VSCO Community Edition sample library in WAV format that is released under the public domain license. I am thinking to make a LV2 plugin out of that library. I am investigating about this, and probably I’ll come with some updates about this.

If you have some thoughts, I’ll be glad so know them so this will help me to clarify what is to be done.

Update about Geonkick development

I have finished to connect some essential UI parts to the API and here I have tried to quickly synthesize a kick to test at this stage what can be done with it. There was involved only Oscillator 1 (sine) for the base layer, and Oscillator 2 (triangle) for the high end. The filters and any effect were not applied yet, development in progress. After doing this test there a plenty of ideas came, like modifying the oscillator phase (really necessary), oscillator overtones, and instead of a Oscillators as a logical split to be the layers that is essentially an entire kick. Probably there will be needed at least 4 layers. The API (with small modifications) supports this in principle, i.e. can create several kicks and combine. So all this for the next release. For the current release that is going to be developed, I will stick with this general configuration.Also for the UI there is some work with the envelopes to make them work with logarithmic scale, i.e. the user to have more control on the small parts of the envelope. Also to draw the kick graph in real time, i.e. to be able to see the resulted kick, and other stuff.

Here is the repository of the current development:

Working on a kick synthesizer

When finding free time and feeling that I can’t concentrate to compose, I am coding a free software (GPLv3) kick synthesizer – Geonkick. There are some free software plugins for kicks on GNU/Linux, but all of them are sample based, and there is no (at least from my awareness) a kick synthesizer that could synthesize kicks. There is one integrated in LMMS, but have limited functionality. The last two weeks worked on the UI interface, and I want to finish it all, and then make the connection with the kick API that that was developed earlier for this project.  Before I have synthesized some kicks with a simple “version”, but now I want to add more functionality and release a version for use. The current functionality should include:

  • Two oscillators: since, square, triangle, sawtooth, amplitude and frequency envelope, filter (low & high pass)
  • Noise: white, pink, browninan, amplitude envelope, filter (low & high pass)
  • General kick amplitude envelope and filter (low & high pass)
  • Compression and Distortion DSP effects for the kick
  • Jack support, 1 MIDI in, 2 audio out
  • Export to a lossless format like WAVE (with stereo, mono option for export)
  • Save/Open a kick preset
  • Standalone and Lv2 plugin
  • Maybe also a VST and a release for other platforms than GNU/Linux, it would be really interesting to develop the cross-platform adaptation.

I started to develop this software because I need for my Geontime Studio to synthesize kicks and compose music. 🙂