I know that there was already an attempt to solve this topic, but nonetheless. I will rely only on my own experience and will only talk about what I work with directly. Yes, I’ll say right away that I don’t like “combines”, so this will not be another story about LMMS, etc.
So, first we need the means to manage all the variety of software that we will use. The de facto standard for this in * nix is ​​JACK (
http://jackaudio.org/ ) - a server that interconnects most modern * nix-based applications for working with sound, allowing you to organize specific "chains", for example, a midi controller - > Sequencer -> Synthesizer -> Effects Processor -> Audio Output.
Also, to facilitate the work there is LASH (
http://savannah.nongnu.org/projects/lash ) - a server that provides the centralized saving of all application settings in the so-called “sessions”.
Frontends for JACK and LASH - qjackctl and LASH panel
Well, of course, we need a sequencer. Personally, I liked seq24 most of all (
https://launchpad.net/seq24 ) - lightweight, but at the same time it has all the necessary functionality for comfortable work. Unfortunately, the last time almost does not develop, so it still has a number of unpleasant flaws, mainly related to the editing of scores, but you can easily get used to them. From the main advantages: convenient live-mode and quantization of input midi events on the fly.
')
seq24 in action
So, here it is - the basis on which all further “travel” will be built. In the next part - the story about soft synthesizers.