preenfm Forum
PreenFM => preenfm2 and preenfm3 => Topic started by: Toltekradiation on January 06, 2020, 08:38:42 PM
-
hi,
as suggested by @maki, i tried to add some sources in the matrix :
rndK (random on new Key) :
new random value with each new note
notD (note Difference) :
difference between current note value and previous one.
velD (velocity Difference) :
difference between current velocity and previous one.
actv (actives voices) :
% of voices played in current timbre
rpt (repeat) :
at each new note, value increased by by 1/16 if note = previous note, else decrease (min 0, max 1).
dvrg (divergence) :
value increased by by 1/16 if note different from previous note, else decrease.
that's what i could get with very few code modification and cpu impact.
here is the git commit for those interested :
https://github.com/pvig/preenfm2/commit/fa29cf8748360fbe0865c30cb072e355fef81082
and then the built file if you want to check it out. :)
-
Nice. CPU impact is definitely very LOW ;)
Random value for each new note can be obtained with LFO : "Rand / 0.00 / 0.00 / 0.00"
For the rest, i would be interested to hear presets that laverage these sources.
-
hi @Xavier,
about the random value, i often use one or two lfo to get a random value on key press, to add some "analog" feel to a patch, but with this in the matrix sources, it free the lfo for a better use.
Other sources are fun to use on short notes loops, like 8 step : apply on a filter ,modulation or something unusual :) : that's usefull to lively up a sequence.
rpt is interesting, i think, when applied to osc pitch on a piano patch ; it open dangerous landscape : you must avoid too much note repeat, otherwise you will be out of tune..unless that's what you're looking for ;D
i've not found yet an obvious use for actv, i have to play more with it.
-
Toltekradiation, it is amazing how easy it is for you to expand this ecosystem. I am so jealous on your knowladge. Anyway, thank you for you efforts. If you want to understand my motivation to suggest this function, actv, I can only say that no FM synthesizer ever had articulation-properties as the real instruments have. Overlapping notes sound different on real instruments, depends how quickly overlapping happens and how many active notes there are. Some ideas can be seen in Tyros superarticulations and some in Advanced conditions in Kontakt addon Mind Controll from Orangetreesamples.
-
hi @maki,
big thanks to you for suggesting this idea,
the Tyros is amazing !
and yes, the the Mind Control user manual is very useful , i will try soon to add the speed and duration source ;)
-
@Toltekradiation, just wondering was this forked off your last filter version or the latest current version from Xavier?
Also, great work again!
-
@matrix12x, it is my last filter version, the latest code version from Xavier is not released yet in github.
-
@matrix12x, it is my last filter version, the latest code version from Xavier is not released yet in github.
Oops... sorry i forgot to push.
It's done now :)
-
thank you Xavier,
i could merge my code with the latest os version.
i also added the speed and duration matrix source.
Let me know if i can enhance something :D
-
Toltekradiation, if those new matrix sources give discreet articulative changes, some more pronounced articulations could demand many matrix slots. For this reason, could you, please , add a channel conversion toward Part two, channel nr. 2, as a matrix destination. With that we could, , after processing with those new matrix sources, rute notes to a completely different patch loaded on a Part 2. Thanks.
-
awesome what can i say
-
@maki, for now, forwarding groups of matrix calculation from a timbre to another one is a bit over my head :P...
Unless i misunderstood what you want to achieve ?
-
I think I am only suggesting a midi channel/port conversion of matrix-processed notes. I hope that outgoing notes, converted and sent to port two are going to sound like a patch on that channel. It is internal routing between ch 1 and 2 but after your new matrix source rules.
-
@maki,
unfortunately, it is not easy to forward the matrix calculation the way you wish :'(
you will need to edit the two timbre.
-
Ok, but can this calculation be done outside of matrix? I only want to be able to play different patch as a result of noteD process, not by changing a program by external midicontroller.
-
More matrix sources sounds really great. Especially the random source will become quite useful. Good job!
I'm eager to get my hands finally on a PreenFM2 and dive more deeply into the codebase.
-
Would be nice to have this matrix sources in regular 2.11 FW
-
Would be in future 2.12 FW. As 2.11 is already out.
If you use this custom FW, you can add the available matrix sources in the PC/Mac editor (2.11) by editing xml files.
https://github.com/Ixox/preenfm2Controller/releases
-
Wow, big things are happening here. You guys rock!
Can I kindly ask for Release Velocity as another mod source, please? One can do quite funky stuff with it. Thanks in advance for even just considering the idea. Cheers!
-
hi guys,
@cube48 : i will try it soon :)
Here is a new version, with enhanced speed & duration sources response curve : may not be the last version of this as it's not easy to get it usable in every play style.. :P
and then two special sources (hi @maki) :
nD-1 & nD+1 : read notD from other timbres,
for example, if used in timbre 1, nD-1 will read notD from timbre 4, nD+1 from timbre 2.
-
:) :) :) :) :) :) :) :) :) :) :) :)
-
Hi Toltekradiation, thank you so much for continuing to work.
Are you planning to return the lost effects and filters?
In particular, Diod, Lad+, Alkx, Txr1/2, LPx1/2 and others. All this was quite interesting, in my opinion, and brought variety to the sound design.
-
hello,
@cube48 : i tried to use Release Velocity as a new source, but as the system currently don't handle that midi message, it mean quite some code rewrite in the midi library, which i'm not confortable to do right now :/
sorry, maybe later ...
@superfake: yes, i plan to rework some of these filters, which may take some time, some others may be back in some next version :)
it's still a work in progress, any of these things may change but if you want to test it here is a fw with some changes :
why not having more sources to enhance your combos ? as for nD-1 & nD+1, these sources now available : "velD", "actv", "rpt ", "dvrg", "spee", "dura"
the divergence source now overflow 1 to 0.
new flavour for oryx3 : i didn't like it to be mono.
-
No worries about RelVel ;) and thanks a lot for the effort!
-
:) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :)
-
Toltekradiation, am I asking to much if I ask you to introduce a famous French invention, sostenuto, as a matrix source? I mean, that only those notes that were held when sustain pedal was activated, should sustain, not the later notes, despite that the sustain pedal is down. This effect could give us a chance to overlap sustained notes with the "dry" notes, like a guitarist who plays short licks over sustained, strummed notes.
When you are done with sostenuto, please make another matrix source - a pitch bend that affects only held notes, not sustained notes. That is how the steel guitar works.
Thanks a lot!!!!!!!!!
-
@maki,
thanks for the ideas, i have no idea how to do this for now but i will think about it :)
the more expression methods, the better !
-
Sustainpedal as matrixsource and glide 0-1 as matrixdestination. Could you make them?
Thanks.
-
hello @maki, sorry for the late response... i will try something about the glide part ; i came across that interesting thread : https://ixox.fr/forum/index.php?topic=63544.msg65836 .. it may be a good starting point for something.
-
Toltekradiation, please make a Preenfm2 a useful MIDI processor by adding a "MIDI dispatcher" to the Preenfm2 matrix. A MIDI dispatcher routes every new MIDI note and related messages from MIDI IN to a new channel through MIDI OUT, by sending only one note to one channel. This allows us to play a set of monophonic synths as one poly-synth. Thank you.
-
hello Maki,
i'm not sure how to do it on the pfm2 but some inspiration can be taken from the MI midipal
https://github.com/pichenettes/midipal/blob/master/midipal/apps/dispatcher.cc
The midipal manual :
https://pichenettes.github.io/mutable-instruments-diy-archive/midipal/manual/#dispatcher-dispatch
inp 5
Input channel.
mod cyc
Dispatching method
- cyclic (cyc). Each new note is cyclically played on the next channel.
- polyphonic (pol). The mapping of notes to channel uses a true voice stealing algorithm. The MIDIpal tries to reuse the same channel for occurrences of the same note ; or the least recently used channel.
- random (rnd). Each new note is routed to a random channel.
- stacking (stk). Each note is sent to all channels at the same time. Perfect for thickening a lead by sending it to several synths, or to several parts of the same multitimbral device.
- velocity (vel). The louder (higher velocity) the note, the higher the MIDI channel it is sent to.
num 3
Number of output channels. For example, if out = 4 and num = 3, the notes will be dispatched to channels 4, 5 and 6.
-
Could you make only the basic one: Each new note is cyclically played on the next channel?
-
mmh, it may not be as simple as it seems, i fear, but why not getting a midigal to do this, and then more !
https://midisizer.com/midigal/
-
Midi gal must be made from scratch and Preenfm2 is already made.
-
Maybe a simple puredata patch would be suitable for the job,
i did a quick one, which cycle input notes to midi channel 1 to 4, here is a screenshot :
(https://i.ibb.co/f00Q7y4/midi-dispatcher.png)
-
Can Preenfm2 load pictures of PD patches? Why a limit of 4?
-
nope, https://puredata.info/ (https://puredata.info/)
just change the value on the [poly] object in the patch, from 4 to 16.
-
I think you are the only man on the planet who can convert PD graphics to PreenFM2 matrix! Mididispatcher is waiting for you to release its power on the Preenfm2. :)
-
i feel it a bit weird to do such job from a synth.
Don't you use a sequencer ? i think it should be sequencer's job.
-
Yes, it is both wierd and innovative. To play a set of monophonic synth as a polyphonic synth from a very modest fm box. Or to treat several midi channels as several monophonic lines from an external midi controller. I have never seen such a concept before. It would be beautiful.
-
@maki,
here we go, i did a pfm2 fw with midiPal dispatcher code (almost), so there is now 4 dispatcher modes available from Tools/Set menu : Cyclic / Poly / Random / Velocity
You have to set the dispatcher base channel and range.
For example, with base channel 3 and range = 4, midi is sent to 3,4,5,6 channels.
I have now a good reason to keep my pfm2 on the desk, it was gathering dust, which was a shame.
It is fun in duo with a pfm3 !
fw attached.
-
:) :) :) :) :) :) :) :) :) :)
-
Could you make a mode where only the last dispatched channel transmits Pitch Bend? To emulate realistic string-bending.
-
it sounds like you want a mpe controller implementation, which is out of the scope of the midipal :/
-
Could this help?
https://ixox.fr/forum/index.php?topic=69358.msg73884#msg73884
-
no, that thread is about receiving mpe information, not emitting.
Midipal dispatcher is not mean to do it.
-
What about a mode with midi filter for pitch bend on all but last dispatched channel?
-
then what if you play a new note while movig the pitch bend ? should previous note be reset to its original pitch ?
I don't think it can work properly, that's why mpe came to solve that issue...
-
If you play a note-on with the pitch bend lever already moved, the pitch will sound at the center position. The pitch will change only after the lever has passed through the center position.