PreenFM > preenfm2 and preenfm3

midi offset and EDIT: globaltune...

(1/5) > >>

lokki:
hi xavier, i know i brought this up before in different contexts. do you see any chance of including a midi offset to a specific timbre?

it would be super useful for live playing, since one can then centre the patches in the right octave instantly on program change, without the need to fiddle with the octave switch on a keyboard or similar. it would also allow to play multiple timbres with one controller by simply changing midi channel without touching the octave button.

the ideal way would be an offset that is adjustable by +-48 semitones, but even just the possibility to change octaves (say +-3) would be great.

i don't see a way to add this without changing the preset files. if it would be added to the combo files, that would be perfect, but adding another page in the instrument menu seems out of the question for you.

thanks for considering,

have a great christmas time

Xavier:
Hi Lokki,

Yes i thought about that, and i think I have a workaround for what you want, so that you don't have to wait for a real midi offset to be implemented  ;)

Ideally we would need a constant value in the source matrix. We don't have one but we can simulate one.
Set LFO1to :
SIN 0.00 1.00 0.00
LFO1 phase : 0.00
That makes the LFO1 start at 1.00 and remains at 1.00.
You can use this in the matrix to modify the frequency of all operators :

Formula is here :
https://github.com/Ixox/preenfm2/blob/master/src/synth/Osc.h#L57?ts=4

So you have freq = freq * ( 1 + matrixDest * .1)

Which means if you add a line in the matrix such as :
LFO1 -5.0 o*fq => freq = .5 * freq :  instruments sounds 1 octave lower
LFO1 -7.5 o*fq => freq = .25 * freq : instruments sounds 2 octaves lower
LFO1 10 o*fq => freq = 2 * freq : instruments sounds 1 octave higher

Save a different preset for each frequency shift you need and you're done :)

Xavier

lokki:
thanks xavier, that works!

i'm losing lfo1 of course but it should be easy enough to code in a constant as matrix source, will give this a go. might even be useful for other things.
thanks for the idea, obvious now that i think about it :-)

lokki:
hi xavier,

ok almost there. i added a cnst menu entry and it is showed in the matrix source menu. can you tell me where and how i should declare the constant value? i cannot set it in the enum directly it seems.

Xavier:

--- Quote from: lokki on December 23, 2017, 12:08:15 AM ---hi xavier,
ok almost there. i added a cnst menu entry and it is showed in the matrix source menu. can you tell me where and how i should declare the constant value? i cannot set it in the enum directly it seems.

--- End quote ---

Constant value ?  I'm not sure i understand.
What i would do is to set the source value to 1.0 here, after the loop :
https://github.com/Ixox/preenfm2/blob/298f859bf8a42da5a998c9021a0eaef728ec8f47/src/synth/Matrix.h?ts=4#L36
Then it think (not sure) it will remains 1.0 and you don't have to worry about it.

Edited : constant value ? you want to be able to modify this 1.0 right ? Just make a few of them : 1.0, 2.0, 4.0, 8.0 ;)

Navigation

[0] Message Index

[#] Next page

Go to full version