LMMS / lmms

Cross-platform music production software
https://lmms.io
GNU General Public License v2.0
8.04k stars 1k forks source link

Feature Request: Modular Synth Designer #3197

Open sksar opened 7 years ago

sksar commented 7 years ago

I know this is kinda crazy but i would like to see this feature implemented in a future version of LMMS. This would require a lot of work for the core team to code and implement, but please kinda bear with me as i explain this.

The feature I request is kinda a like a patcher, but is much more more complex. It would be like the Native Instruments REAKTOR, where we could create our own Synths and Effects.... But this would be directly inbuilt inside LMMS.

I got this idea from the famous VST Maker Software "SynthEdit", but later i found that REAKTOR kinda does the same..

An idea how this would work: The users can create a Instrument/Effect using patches (like SynthEdit) connect them to the output.. This instrument can be distributed in the form of files (a fixed file format exclusively for LMMS) and other users can use them too. Also the creator of the instrument will have the ability to lock the Instrument/Effect so that other users can't see or modify the instrument, but unlocked Instrument/Effects can be seen and edited as per their wish.

Tell me if this needs some more info..

Spekular commented 7 years ago

Somewhat a duplicate of #19. It would probably have to be implemented first, at least.

musikBear commented 7 years ago

@sksar you said "Also the creator of the instrument will have the ability to lock the Instrument/Effect so that other users can't see or modify the instrument, but unlocked Instrument"

I would say no to that, that is against all thoughts of free open software, and in fact i cant see the benefit in having a 'builder' inside lmms. Perhaps some could make a support project, aim at making props for lmms, but integrated, i say no

Besides that 🎆 Happy New Year to everybody!! 🎆

DeRobyJ commented 7 years ago

I think the easiest way to have some sort of synth designer is to actually port the great tool that is Puredata. Of course it's not as easy as synthedit or anything reaktor is doing, but it's quite a name. The commercial alternative for that is the full Ableton license plus Max/MSP, total cost over $1000.

(they actually need this "Max for Live" to create a custom LFO, like our controllers, because Live comes with none but the ones limited inside their synths, like our LFO in the instrument plugins)

Having puredata built-in in a sequencer would be a dream for some.

(also we'd have a "sampler" preset quite easily) However, all that needs some knowledge.

Actually, I'm aiming to "copy" the way Zyn is built-in, and apply the same kind of structure to puredata. With "aiming" I mean "trying, during this year, 90% I'll fail".

Happy new Year!

sksar commented 7 years ago

Never heard of PureData, but it seems that someone needs programming knowledge to use it....... Need to simplify that... Or other idea would be: to create custom patches and have a patch editor like synthedit

sksar commented 7 years ago

I think we need to create something like Max completely Open Source and integrated within LMMS... Instead of porting some existing project a completely new one should be created...

PaulBatchelor commented 7 years ago

I think we need to create something like Max completely Open Source and integrated within LMMS...

PD and Max were made by the same person.

Never heard of PureData, but it seems that someone needs programming knowledge to use it...

It's just as hard as Max/MSP

Instead of porting some existing project a completely new one should be created...

As someone who has done this, I can tell that you are grossly underestimating the amount of work required to build such a system from scratch. You'd need a really good reason to re-invent the wheel here.

sksar commented 7 years ago

The reason i am saying to reinvent the wheel is that so that the feature can completely be integrated well within LMMS, and would be kinda tailor made for LMMS..... A porting of PD is good, but i think that will be of no use as many people would not be such an expert to use it...... Building something custom from scratch (but taking ideas from others) will make this one as good as REAKTOR.....

DeRobyJ commented 7 years ago

Well, as always, we can have both. Just please describe more precisely how should it work, what are its "ingredients", its functions, and some examples of its uses. Because I don't know reaktor too much.

By the way, in PureData you have something that Max doesn't have, that is subpatches with an interface. (it's the alternative to "presentation mode" in max) Like if you had little blocks with some controllers on the surface, and of course the ins and outs, like subpatches in Max. Quick example: https://www.youtube.com/watch?v=uCzNqggO5fs

So we could have a preset patch with a lot of those (like "Oscillator", a subpatch with a toolbox for some waveforms, frequency and amplitude; then some pre-made effects, etc) and the user can easily copy-paste and combine them, without having to create anything more than some "+~" and "*~" objects.

sksar commented 7 years ago

Hmm, I get it @DeRobyJ Also the UI should be good... Example: https://www.youtube.com/watch?v=9Nz0bxwoqQE

I feel that it is the only way possible to do this nicely, basic features would be available with a good UI ... And also the whole power of PD will be available...

PaulBatchelor commented 7 years ago

Even if you do get something like PD working inside of LMMS, it's still a very long ways away from anything like Reaktor or Synthedit. It's not enough to just have things looking good. You'd still need to actually code up modules if you're going to make anything that even remotely sounds professional or desirable.

PaulBatchelor commented 7 years ago

@sksar I think it would be best if you could explain the "why" of your feature request instead of the "what". In your own opinion, what sorts of value would your "synth designer" add to LMMS?

sksar commented 7 years ago

Many vsts which can produce good sounds don't run well on Linux.. So this feature might help in recreating those exact sounds using custom made synth.... Also it would diversify the possibility in LMMS

zonkmachine commented 7 years ago

Many vsts which can produce good sounds don't run well on Linux..

Then we just will fix these, one vst at a time. Most of the job to make windows stuff (most vst's) work on Linux is done here: https://bugs.winehq.org/ . Some of the bugs are with lmms/vestige and these are also looked into but maybe don't have the highest priority. Also, many synths, virtual or real, that are perceived as good sounding, do so because they have effects built into them. Some delay based fx like chorus and some dist.

I would really love to have something like synthedit/synthmaker export native lmms plugins but it won't happen and also I strongly doubt any of us will sit down and code something like this. Personally, I don't have the skills needed. What maybe could be done in this direction is to use ams, alsa modular synth, and from our side make sure it plays well with lmms. Maybe help brush up it's gui a bit.

PaulBatchelor commented 7 years ago

Maybe a modular environment is not what you are actually looking for? It sounds like you want to be able to create better sounds. Now unless you have experience using modular environments to make sounds and have built up that kind of intuition, good sounds won't come free there.

A modular synth environment may prove to be too ambitious for an open source project with very little payoff. However, I am not against building more good sounding native synthesizers based off commercial ones (whose sounds aren't already possible with the existing synthesizers... you should definitely look at them!)

It sounds like there are particular VSTs and VSTi's that you'd like to see in LMMS? Posting a list of those would be appreciated. I can comment (with some authority) on the feasibility of implementing each of them here.

sksar commented 7 years ago

No i am looking for a modular environment to create better synths, to aid in the creation of better music... Who knows that with that feature someone might be able to create something that could be very much useful to all LMMS users.....
A modular environment to create synth/effects or other such things is strongly needed and is the sole reason for which i created this issue / feature request...

BiRD4 commented 7 years ago

This would need a lot of development, but it would allow for much more flexible modulation, and it would be very nice to see so much in one plugin. I think that this could be designed to double as a patcher (#3194).

PaulBatchelor commented 7 years ago

From a DSP standpoint, I have 100+ potential modules ready to be dropped into LMMS via Soundpipe. The iOS audio framework AudioKit already does this and they've been quite successful. This iOS app was made using AudioKit and uses all Soundpipe under the hood for sound.

Unfortunately, this is still just the "easy" part.

sksar commented 7 years ago

For the past few weeks, i digged into the CSound project (http://csound.github.io/) and found it to be quite useful for this Modular Synth Designer....

The redesigned idea is that, to port the CSound into LMMS, and users have the ability to create either modules, or create synth visually (like those is MAX/MSP) by using those modules...

There will be a default set of modules provided with LMMS itself, and it would be used to either create synths or to create much bigger modules...

Creating the modules would have to be done using a code editor and the CSound syntax... But the Synth design would be just a visual arrangement of the modules with patch chords....

Plus the users would have a way to use graphical elements to customize the look and feel of their created synths....