From: Maciej Ł. <loz...@o2...> - 2011-09-19 20:34:11
|
Hi I have two ideas that could improve jsynthlib. One, easier to do is implementing randomization of patches. It would be not much work, as we already have all parameter ranges for patches where there are PatchEditors present. There could be two options - randomize all parameters, or only parameters designated by programmer (because some parameters should not be randomized). I think it would be great editing patches starting from some weird sounds and polish them to be "listenable" ;-) I have such option in my Waldotf MicroQ and I think it would be great to have this on any of my synths :-) What do you think? Could it be implemented as a part of ongoing code refactoring? Second idea is more complicated and to be honest I have no idea how to realize it :-D But It would be great to be able to translate patches between synths, at least to some extent. Let's assume that we have synth A with a filter where we can edit cutoff freq from say 100 Hz (midi hex value 0x00) to 1000 Hz (0xFF) and synth B wih filter cutoff from 10 Hz (0x00) to 500 Hz (0x7F). So 0x28 would be 200 Hz on synth A, and on synth B it would be 0x17 and we could translate patches this way. Of course 10Hz (0x00) on B couldn't be translated to A, and we would be forced to use 50 Hz. And there is also a problem with FM and Wavetable synths, but idea is tempting, isn't it? ;-> cheers Maciek |
From: Frankie F. <jsy...@te...> - 2011-09-19 20:56:39
|
On 19/09/2011 21:34, Maciej Łoziński wrote: > Hi > > I have two ideas that could improve jsynthlib. > > One, easier to do is implementing randomization of patches. It would be > not much work, as we already have all parameter ranges for patches where > there are PatchEditors present. There could be two options - randomize > all parameters, or only parameters designated by programmer (because > some parameters should not be randomized). I think it would be great > editing patches starting from some weird sounds and polish them to be > "listenable" ;-) I have such option in my Waldotf MicroQ and I think it > would be great to have this on any of my synths :-) What do you think? > Could it be implemented as a part of ongoing code refactoring? I thought there already was a randomise option, but regardless something like this is totally on my list of things to do. These are things that I think could be interesting: * totally random parameters * starting with an existing patch, randomise only a few parameters, or change their values slightly from their existing settings * merge two patches - e.g. take average of all parameters, or by take parameters randomly from one of the initial patches This is something I might look at some time after I've done my Proteus 2000 family driver. > > Second idea is more complicated and to be honest I have no idea how to > realize it :-D But It would be great to be able to translate patches > between synths, at least to some extent. You're right, this is ridiculously complicated! frankie |
From: Vladimir A. <vl...@gm...> - 2011-09-20 01:50:33
|
On 09/19/2011 03:56 PM, Frankie Fisher wrote: >> Second idea is more complicated and to be honest I have no idea how to >> > realize it:-D But It would be great to be able to translate patches >> > between synths, at least to some extent. > You're right, this is ridiculously complicated! Actually, come think of it, it is not THAT complicated. At least for real algorithmic synths, i mean those that do not use samples. What lands itself for such task would be some sort of standard capability language for synth drivers. Something with objects being different facilities involved in sound creation (generators, filters), and their properties. Then translation would be just mapping of patch components in converted voice onto facilities available in target synth. That in general leads to some sort of scripting support in JSL, which probably would be similar to other existing sound scripting languages (c-sound?). Not that I am familiar with any, but learning c-sound is long on my list of things to do. -- Vladimir |
From: Frankie F. <jsy...@te...> - 2011-09-21 18:56:48
|
On 19/09/2011 21:56, Frankie Fisher wrote: > On 19/09/2011 21:34, Maciej Łoziński wrote: >> Hi >> >> I have two ideas that could improve jsynthlib. >> >> One, easier to do is implementing randomization of patches. > I thought there already was a randomise option, I've just had a look and it turns out there is something like this. Its on the Library menu and its called Cross Breed. It generates a new patch by taking each byte from a random patch in the library. Its not completely random as its based on patches already in your library, but it kind of ensures that any values it sets are legal (though can't guarantee that the combinations of values are legal). frankie |