preenfm Forum

PreenFM => preenfm2 and preenfm3 => Topic started by: Toltekradiation on January 06, 2020, 08:38:42 PM

Title: more matrix sources
Post 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. :)
Title: Re: more matrix sources
Post by: Xavier on January 07, 2020, 09:01:10 AM
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.


Title: Re: more matrix sources
Post by: Toltekradiation on January 07, 2020, 06:46:24 PM
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.
Title: Re: more matrix sources
Post by: maki on January 07, 2020, 07:21:56 PM
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.
Title: Re: more matrix sources
Post by: Toltekradiation on January 07, 2020, 09:28:01 PM
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 ;)
Title: Re: more matrix sources
Post by: matrix12x on January 08, 2020, 02:22:57 AM
@Toltekradiation, just wondering was this forked off your last filter version or the latest current version from Xavier?

Also, great work again!
Title: Re: more matrix sources
Post by: Toltekradiation on January 08, 2020, 07:20:52 AM
@matrix12x, it is my last filter version, the latest code version from Xavier is not released yet in github.
Title: Re: more matrix sources
Post by: Xavier on January 09, 2020, 08:01:16 AM
@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 :)
Title: Re: more matrix sources
Post by: Toltekradiation on January 09, 2020, 09:39:39 PM
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

Title: Re: more matrix sources
Post by: maki on January 10, 2020, 09:24:09 PM
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.
Title: Re: more matrix sources
Post by: kuzma_p on January 10, 2020, 11:36:30 PM
awesome what can i say
Title: Re: more matrix sources
Post by: Toltekradiation on January 11, 2020, 01:29:22 PM
@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 ?
Title: Re: more matrix sources
Post by: maki on January 11, 2020, 01:52:14 PM
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.
Title: Re: more matrix sources
Post by: Toltekradiation on January 12, 2020, 02:46:01 PM
@maki,
unfortunately, it is not easy to forward the matrix calculation the way you wish :'(
you will need to edit the two timbre.
Title: Re: more matrix sources
Post by: maki on January 12, 2020, 03:39:18 PM
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.
Title: Re: more matrix sources
Post by: tnussb on January 13, 2020, 11:29:36 PM
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.

Title: Re: more matrix sources
Post by: kuzma_p on January 14, 2020, 11:41:12 AM
Would be nice to have this matrix sources in regular 2.11 FW
Title: Re: more matrix sources
Post by: Xavier on January 14, 2020, 01:55:17 PM
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
Title: Re: more matrix sources
Post by: cube48 on January 14, 2020, 08:57:21 PM
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!
Title: Re: more matrix sources
Post by: Toltekradiation on January 14, 2020, 10:49:56 PM
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.
Title: Re: more matrix sources
Post by: maki on January 14, 2020, 11:34:06 PM
 :) :) :) :) :) :) :) :) :) :) :) :)
Title: Re: more matrix sources
Post by: superfake on January 19, 2020, 07:50:06 PM
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.
Title: Re: more matrix sources
Post by: Toltekradiation on January 20, 2020, 10:54:49 PM
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.

Title: Re: more matrix sources
Post by: cube48 on January 21, 2020, 07:35:16 AM
No worries about RelVel  ;) and thanks a lot for the effort!
Title: Re: more matrix sources
Post by: maki on January 21, 2020, 07:15:04 PM
 :) :) :) :) :) :) :) :) :) :) :) :) :) :) :) :)
Title: Re: more matrix sources
Post by: maki on January 22, 2020, 05:01:27 PM
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!!!!!!!!!
Title: Re: more matrix sources
Post by: Toltekradiation on January 23, 2020, 07:46:05 PM
@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 !
Title: Re: more matrix sources
Post by: maki on February 08, 2020, 11:18:12 AM
Sustainpedal as matrixsource and glide 0-1 as matrixdestination. Could you make them?
Thanks.
Title: Re: more matrix sources
Post by: Toltekradiation on February 13, 2020, 07:07:58 PM
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.
Title: Re: more matrix sources
Post by: maki on January 17, 2024, 07:50:56 PM
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.
Title: Re: more matrix sources
Post by: Toltekradiation on January 17, 2024, 08:34:36 PM
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

Quote
Quote
inp   5

Input channel.

Quote
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.
Quote
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.



Title: Re: more matrix sources
Post by: maki on January 17, 2024, 08:51:05 PM
Could you make only the basic one: Each new note is cyclically played on the next channel?
Title: Re: more matrix sources
Post by: Toltekradiation on January 17, 2024, 09:37:33 PM
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/
Title: Re: more matrix sources
Post by: maki on January 17, 2024, 09:44:44 PM
Midi gal must be made from scratch and Preenfm2 is already made.
Title: Re: more matrix sources
Post by: Toltekradiation on January 18, 2024, 08:40:12 PM
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)
Title: Re: more matrix sources
Post by: maki on January 18, 2024, 09:54:06 PM
Can Preenfm2 load pictures of PD patches? Why a limit of 4?
Title: Re: more matrix sources
Post by: Toltekradiation on January 18, 2024, 10:03:29 PM
nope, https://puredata.info/ (https://puredata.info/)
just change the value on the [poly] object in the patch, from 4 to 16.
Title: Re: more matrix sources
Post by: maki on January 18, 2024, 11:04:27 PM
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. :)
Title: Re: more matrix sources
Post by: Toltekradiation on January 19, 2024, 07:44:26 AM
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.
Title: Re: more matrix sources
Post by: maki on January 19, 2024, 04:47:47 PM
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.
Title: Re: more matrix sources
Post by: Toltekradiation on January 28, 2024, 03:02:07 PM
@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.
Title: Re: more matrix sources
Post by: maki on January 28, 2024, 03:28:11 PM
 :) :) :) :) :) :) :) :) :) :)
Title: Re: more matrix sources
Post by: maki on January 28, 2024, 03:32:10 PM
Could you make a mode where only the last dispatched channel transmits Pitch Bend? To emulate realistic string-bending.
Title: Re: more matrix sources
Post by: Toltekradiation on January 28, 2024, 05:16:22 PM
it sounds like you want a mpe controller implementation, which is out of the scope of the midipal :/

Title: Re: more matrix sources
Post by: maki on January 28, 2024, 05:42:02 PM
Could this help?
https://ixox.fr/forum/index.php?topic=69358.msg73884#msg73884
Title: Re: more matrix sources
Post by: Toltekradiation on January 28, 2024, 09:32:02 PM
no, that thread is about receiving mpe information, not emitting.
Midipal dispatcher is not mean to do it.
Title: Re: more matrix sources
Post by: maki on January 28, 2024, 09:37:00 PM
What about a mode with midi filter for pitch bend on all but last dispatched channel?
Title: Re: more matrix sources
Post by: Toltekradiation on January 28, 2024, 11:05:39 PM
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...
Title: Re: more matrix sources
Post by: maki on January 29, 2024, 05:10:08 PM
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.