preenfm Forum
PreenFM => preenfm2 and preenfm3 => Topic started by: alexchm on April 11, 2021, 02:19:13 PM
-
Greetings!
Today I made a new template for other synth that is using sysex, each time I move the knob with any sysex command on my midi controller, the preenfm2 stutters (or the notes are interrupted, regardless to which device i send sysex) and the screen flickers. Is there a way to filter sysex commands on the preenfm?
-
How are your Synths connected to each other midi wise? Midi thru from one to each other? Do you have a computer in-between? What midi controller?
-
The synths are connected like this: mpc->bcr2000->midisplitter->synths
before i had it like bcr2000->mpc->midisplitter->synths but it wasnt ideal as the mpc craps out from too many sysex strings at once.
-
So you are in fact sending the sysex info to all your Synths.
Couple of things could be the issue:
-the midi stream itself is too crowded with all the sysex info, in that case other Synths that play should also stutter, did you try that?
-preenfm2 has a problem with incoming sysex that does not belong to it.
My guess is that the stream of data is just too dense, sysex was never meant as a realtime protocol to change parameters on the fly.
-
Actually sending sysex to only to one synth, the string is same size like the ones from yamaha fm synths. when i hooked the BCR2000 to the mpc, it would cause note hang on different synths when moving 2 encoders with sysex at once, but with mpc->bcr2000->splitter, ecerything works fine except the preenfm behaving weird.
-
OK, I see something wrong with sysex in the preenfm2 code.
The preenfm2 stops playing all sounds before it tests whether the SYSEX is for it.
I'll fix that ASAP.
-
Thanks a ton!!
-
Cool.
But still you are sending sysex to all devices, the preenfm2 and all other Synths connected have to check, if sysex is for them. Midi has no notion of a destination or similar, it is a unidirectional protocol. So for note information you have to use channels to send to different Synths and set them accordingly on each synth.
-
so far, it works ok, only the mpc in multitimbral mode gets confused when moving 2 sysex encoders. the midi splitter does its job nicely ;D the cool thing about the bcr is that you can set up the transfer speed or something like that. most of my gear doesnt support sysex so it kind of ignores that i think. but i thought the midi channel is already implemented in the 3rd line of the sysex string, like f0 then ID and then 10 for channel 1; 16 for channel 7,etc. would be possible to assign a unique preenfm ID followed by channel on which it always listens (or can filter, like the option to receive only cc or nrpn from settings)?
-
Not sure anybody use the preenfm2 sysex today, i hesitated several times to remove it completely. But it's still there :)
But still you are sending sysex to all devices, the preenfm2 and all other Synths connected have to check, if sysex is for them.
Yes first chars in Sysex are manufacturer ID for the machine you're targetting.
I use "0x7D" (7D: prototyping, test, private use and experimentation) and "0x05" for the preenfm2.
In 2.21a, i now test those 2 first chars before stoping the sound.
I also added an option to also disable SYSEX reading completely :
MENU>Tools>Set>Sysex
@alexchm, i think
https://github.com/Ixox/preenfm2/releases/tag/2.21a
should fix your problem.
-
thanks!!!! it resolved the problem, works like a dream now ;D sysex actually isnt needed because NRPN is very well implemented in preenfm, blofeld otoh needs sysex for some of the most important (and sometimes common) stuff like the mixer levels in multimode, which some of my favorite controllers (like the UC 33 from evolution) dont support that... thanks again!