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. 🙂

Recurring Dream

Here is my new piece “Recurring Dream”.  It is a kind of style I like most of all, and I would like to compose more like this. It uses various instruments: paino, violin, viola, flute, horn, clarnet, and synth. The percussion are some samples from VSCO library and the kick is from my library that I synthesized with GeonKick developed by me for my studio, but I have released it as free software.


Credits & License

Some kick samples synthesized with GeonKick

Here a is list of samples (released under CC-BY 4.0) that were synthesized with my own developed kick synthesizer GeonKick. I am developing it for my home studio Geontime, but its code is under GPLv3 and you can find it here. It is still in the very beginning stage, and I don’t know how usable can be for others. A newer version will come (working on it now) with more complete features, but I don’t know when it will be ready. Compression, distortion, and reverb effects over some samples were done by using plugins in Ardour.

Now the synthesizer have only two oscillators: base (sine, square, triangle, sawtooth), and noise. The GUI part gives the possibility to draw the frequency and amplitude envelopes for oscillators. It also has two audio outputs for Jack. It is standalone, and it is still not a plugin. The next version will have 3 oscillators, 1 MIDI in, two audio outputs,  envelopes (amp and freq), and filters for every oscillator. A general filter and an amplitude envelope.

Some of the samples were already used in my composed music. “Evening” ones are used in the current piece I am working now.

GeonKick Evening
GeonKick Evening Compressed
GeonKick Evening Compressed Dist
GeonKick Evening Compressed Noise
GeonKick Evening Compressed Noise Dist
GeonKick Long
GeonKick Med Noise
GeonKick Med Dist
GeonKick Short Dist
GeonKick Short Noise
GeonKick Snare
GeonKick Short Dist
GeonKick Reverb
GeonKick Short
GeonKick Short Noise

Here you can download all the archive of samples in WAV format.

Changing my Workflow: Ardour MIDI Editing

Until now my workflow was LMMS->Ardour. Than I updated Debian and LMMS (repo version) started to crash. I thought It was due to some plugins, but not. I have compiled the new version of LMMS, but it doesn’t compile the ZynAddSubFx plugin. Anyway I had plans to move completely to Ardour.

Now I succeeded to compile Yoshimi as a LV2 plugin, so, I have started to work on a new idea purely in Ardour.

Here are my main thoughts about Ardour MIDI editing:

  • Sometimes the first note of a region is not played.
  • Transition, for example, from one chord to another often the previous chord is still played and clashes with the current cord (it may be from the synthesizer, but I don know).
  • Note dynamics (velocity) is visible only by color nuances. That is not so practical. Not event saying that there are a lot of people with dichromacy.
  • I think piano roll is the right thing, and there are other issues regarding  MIDI, but I’ll see if my experience will change after some pieces created.

My new piece “The Girl from La Defence”

I am happy to announce my new piece called “The Girl from La Defence”. This time I have learned a little more about LMMS and started to use better the synthesizer. I have compiled the LMMS from the last master commit, and it now supports copy multiple selected tracks.  I sill have problems with finding good strings, but I don’t know… we will see.