preenfm Forum

PreenFM => preenfm2 and preenfm3 => Topic started by: UltraBlack on May 13, 2023, 11:51:23 PM

Title: Suggestions and Bug reports
Post by: UltraBlack on May 13, 2023, 11:51:23 PM
I love this synth so far, but I have some ideas that would make it a little easier to use (at least for me):
Suggestions:
- Put the symbols behind all alphabet characters in the renaming menus. You are more likely to use these instead of the non-alphabet characters, but for some reason, these are at the very beginning of the character list, making it a little annoying to always have to skip these while searching for a character
- Allow using envelope parameters from other operators/modulators. I often face this situation where I want the exact same envelope over multiple carriers/modulators and having to dial them in manually to the exact same value, every time. What I would like is a mode (maybe use the values below the current minimum) that you can select as an envelope value to get that value from another carriers/modulator.

Something like this:
Carrier 1: ADSR: 1 2 3 4; Level: 1 1 0 0
Modulator 2: ADSR: 1 2 (C 1) 3; Level (C 1) (C 1) (C 1) 1

Bugs:
- You can modify grayed-out parameters, e.g. in the Editor/Engine/2 menu
- Switching between different envelope settings often fails to draw the correct waveform on-screen (Also I don't think that the "rand" waveform needs to be different every time you switch to it. It's a neat detail, but probably goes unnoticed for way too long. If you want some change, use a constexpr to generate a random waveform at compile time)

One last thing: The PFM3 is advertised as having per-voice effects. I can also see that the bottom center menu (ARP/FX) is supposed to have effects, but I only see the filter section in terms of effects there. Where can I configure the per-voice effects?

Edit: One more thing that has been on my mind for quite a while: Is there a chance that we can get a freely modifiable engine algorithm? I often want to add some texture to some sub-modulator, but then realize that there is no algorithm that has the exact layout that I would need to add another modulator to the existing modulator. Since you can't switch carrier/modulator configurations, it's hard to get exactly what you want without meticulously planning out what you want to use where beforehand, which is not the point of FM imo.
Title: Re: Two suggestions, two bugs and a question
Post by: Xavier on May 15, 2023, 09:17:12 AM
Hi,

Thanks for the feedback and suggestions, that's always interesting to get feedbacks.


. Symbols are in ASCII order. You have some shortcuts on the bottom 6 buttons to access 'a', 'A', '0' etc.. Use '>' to go to next char with previous char copied.

. You can copy and past all 6 page params in some of the pages :  operator, Modul>lfo and matrix.
https://github.com/Ixox/preenfm3/blob/master/firmware/Src/hardware/FMDisplayEditor.cpp#L4048
That works for Operator, matrix, and Modul/Lfos pages. Only from/to same source.
Use long press (-) to copy, (+) to paste

.  modify grayed ou parameters. Can be usefull in some cases : if you want to modify value the used, before switching to the mode where they're used.
.  Random values. Yes there are other way of dealing with random values to display them. I didn't know constexpr, looks interesting. A hardcoded small array is used for the LFO.
.  You wrote : "Switching between different envelope settings often fails to draw the correct waveform on-screen".
   I always see the correct env. Can you give a specific example/steps to reproduce this issue ?

. Per voice and per instrument effects are separated in latest firmware. Should be clearer. Try 0.999b here (https://ixox.fr/forum/index.php?topic=69978.msg76417#msg76417).
  I often user filter/effect to talk about the same thing.

. Yes, I thought about a freely modfiable engine maybe something close to the FM8 VST. Would be nice. But requires a different UI interface, lots of work. In any case it could not be as flexible as FM8 for CPU limit reasons. Maybe something in the far future, or a good project for anyone who has much free time :)
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on May 15, 2023, 06:38:12 PM
Quote
Use long press (-) to copy, (+) to paste
That's why we need a manual... Are there more of these super useful hidden long-press or whatnot features?

Quote
Per voice and per instrument effects are separated in latest firmware. Should be clearer. Try 0.999b here.
That is _exactly_ what I had in mind! Thank you so much!

Quote
a good project for anyone who has much free time :)
maybe, maybe ... :) (I can't do that seemingly, at least today. The stupid STM32 Cube IDE is instantly crashing. I hate closed source garbage like this.)

Edit attached a screenshot for anyone wondering. Looks really doable!
My idea: One knob for scrolling through the matrix, one for scrolling through the in- and outputs. Outputs to lower nodes on the bottom, outputs to higher nodes on the top.

Edit 2: Almost forgot
Quote
Can you give a specific example/steps to reproduce this issue ?
Opening the FM menu for the first time does not render the wave until switching to another modulator and back. Editing an envelope causes it to stick around even for a completely different envelope, until that one is modified.
Title: Re: Two suggestions, two bugs and a question
Post by: Xavier on May 15, 2023, 09:26:48 PM
Edit 2: Almost forgot Opening the FM menu for the first time does not render the wave until switching to another modulator and back. Editing an envelope causes it to stick around even for a completely different envelope, until that one is modified.

There should not be such problems with the firmware. Unless you have particular values i missed... A short video would help.
I don't see any of this on the different preenfm3 and TFT i have.

You can see it in action in this video : https://youtu.be/VZuhluS7k7o?t=1187

Maybe some clarification:

. The Oscilloscope area (on the TFT) draws in green the sound waveform of the currently selected instrument on ALL "Edit" screens.

In addition to that it displays other things depending on where you are (operator in yellow, modulator in blue):
. Oper>Osc : One period of the oscillator waveform for the selected operator
. Oper>Env and Oper>Level : the env for the selected operator. Mind the scale in top right corner. Sometimes it changes the scale and redraw differently the env.
. Modul>Lfo : the LFO shape taking into account the freq, Ksyn, Bias and Phase param  frmo the same page.
. Modul>Envs : the Modulator enveloppes
Some screens are visible here : https://github.com/Ixox/preenfm3/wiki/The-Editor
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on May 16, 2023, 02:33:55 PM
Quote
A short video would help.
It's literally just that the yellow envelope shape but also the operator wave (yellow) sometimes stick around in screens that they are not supposed to be visible in.
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on May 20, 2023, 05:10:39 PM
I have another feature request: Being able to save per-instrument sequences.

It does not in any way make sense to only use saved sequences for all instruments at once. I was hoping to be able to save simple things like four on the floor and stuff like that as a sequence to be able to easily load them at a later point, but instead, it saves and loads the entire sequencer into a bank index...
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on May 21, 2023, 12:22:22 AM
Quote
Use long press (-) to copy, (+) to paste
I just discovered that pasting envelope parameters causes the PFM3 to crash when playing a note into that patch...  :'(
Title: Re: Two suggestions, two bugs and a question
Post by: Xavier on May 21, 2023, 06:52:46 PM
Quote
Use long press (-) to copy, (+) to paste
I just discovered that pasting envelope parameters causes the PFM3 to crash when playing a note into that patch...  :'(

I separated time/level env since i implemented copy/past. And env shape was recently added.
I'm not sure that makes sense to copy only time, or level or shape.
Maybe the full envelope (time, level, shape) should be copied and pasted at the same time.

I can reproduce the crash, there's a bug when copying the env because of some recent change in the memory parameter structure. I'll fix that.
Title: Re: Two suggestions, two bugs and a question
Post by: Xavier on May 21, 2023, 09:41:18 PM
I have another feature request: Being able to save per-instrument sequences.
It does not in any way make sense to only use saved sequences for all instruments at once. I was hoping to be able to save simple things like four on the floor and stuff like that as a sequence to be able to easily load them at a later point, but instead, it saves and loads the entire sequencer into a bank index...

Keep in mind that the pattern (1 to 12) is independant from the instrument.

So you can have a default sequencer preset with 6 simple patterns you often use in slots 7 to 12.
By default leave instrument 1 to 6 linked to empty patterns 1 to 6.
Let's say pattern 7 is a four on the floor, and you want it for instrument 3. You only have to associate instrument 3 with pattern 7.

In the step sequencer page, use encoder f to select the pattern you want for your instrument.
Encoder c change the current instrument in the page.
I think that will make sense if you give a try.

Title: Re: Two suggestions, two bugs and a question
Post by: Xavier on May 22, 2023, 07:22:25 PM
Hi,
Copy and Paste are fixed in 0.999c.
In addition, Envelopes are now fully copied and pasted (Time, level and shape).
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on May 22, 2023, 08:35:48 PM
So you can have a default sequencer preset with 6 simple patterns you often use in slots 7 to 12.
By default leave instrument 1 to 6 linked to empty patterns 1 to 6.
Let's say pattern 7 is a four on the floor, and you want it for instrument 3. You only have to associate instrument 3 with pattern 7.

Why is it handled this way? This is really not obvious. I think it deserves some documentation as well.

In my opinion, only having six freely assignable sequences per bank is a little few considering that variations are quite useful. I hope this system gets an overhaul.

Thanks for clearing that up and fixing the crash.

Edit: Spoke too soon. Copying works, pasting too, but the second time I pasted that the PFM3 crashed again. I copied OP3, pasted into OP2 and lastly into OP1, which crashed it.

The yellow shape/waveform being stuck on screen seems to always happen when there are a lot of updates happening on the screen simultaneously (mainly caused by the audio waveform updating in the background)
Title: Re: Two suggestions, two bugs and a question
Post by: Xavier on May 23, 2023, 08:57:22 PM
Edit: Spoke too soon. Copying works, pasting too, but the second time I pasted that the PFM3 crashed again. I copied OP3, pasted into OP2 and lastly into OP1, which crashed it.

"OP" ? Were you copying Osc or Env ?
What algo did you use ? Can you reproduce ? If yes could you share the preset ? Maybe save the default mixer and share "mix.dfl" file ?
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on May 23, 2023, 10:57:30 PM
"OP" ? Were you copying Osc or Env ?
What algo did you use ? Can you reproduce ? If yes could you share the preset ? Maybe save the default mixer and share "mix.dfl" file ?

Crashes both when pasting Env or Osc settings. Works even on the scuffed default "Sound" preset; First engine.
Again only triggers when playing a note after pasting. It only crashes when pasting anything into the first (1) operator's settings.

(Funny that pasting incompatible settings just sais "Cannot")
Title: Re: Two suggestions, two bugs and a question
Post by: Xavier on May 24, 2023, 02:09:12 PM
Crashes both when pasting Env or Osc settings. Works even on the scuffed default "Sound" preset; First engine.
Again only triggers when playing a note after pasting. It only crashes when pasting anything into the first (1) operator's settings.

Ouchs orry... thanks for the quick feedback.
Hope it's fixed now.

But i didn't change the Env copy/past where i didn't see any crash/problem.
Did i again miss something, or is it working correctly now ?
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on May 27, 2023, 03:19:27 PM
yes that fix works perfectly!

I have some more suggestions too:
1. More stuff for modulation. I just wanted to modulate env levels, but that sadly does not work yet. Please add more destinations! (IMO any value should be tweakable. Even things like the engine. Just make it go crazy and open up all the possibilities. At this point you should probably consider adding a function to every screen's value that registers it with a knob and modulation destination to get rid of that list containing all the destinations)
2. Parameter locks: Could you add parameter locks? They should not eat up too much performance in the sequencer, as it's usually just like turning a knob.
3. Add a "disabled" midi channel to the mixer. I usually record my sequencer into the PFM sequencer after I'm done with a pattern, because my sequencer only has four tracks, not six, and I have another synth too. Then, I rebind another instrument to that channel and map the recorded instrument to an empty midi channel. Could you just add a way to disable midi input for a track? I feel like this should be a thing as to not interfere with existing sequences by accident.

Edit: Another idea: Possible Sidechaning via the volume threshold of another instrument as a modulation source.

Edit 2: The random waveform frequency option should in my opinion rather sweep a filter across the random frequencies instead of seemingly only changing the volume. It would make it a more versatile waveform and would make it a lot easier to use. If I use it in kicks, it has too noisy of a top end, if I use it in hats, it's too low. I want to create a more textured sound, that's why I care about the random waveform so much. You need it, but in my experience it's quite hard to use in percussion

Edit 3: (Deleted, came down to incorrect usage)

Edit 4: I feel like both FX slots should contain the same effects. I think it would be really nice to have two filters set up, or two ping-pong delays
Title: Re: Two suggestions, two bugs and a question
Post by: Xavier on May 28, 2023, 10:22:40 PM
Cool. Glad the copy&past is finally fixed.


"2". What is parameter lock ?

"3". if i understand, it can be done by setting the number of voices to "0" in the mixer. Not ideal but that's a workaround.

"Edit2"  : you can add LP, BP, HP after the noise to sculpt it.

"Edit 3" : just tried quickly  and it works as expected. New sound each time i press the "Rand" button. I noticed indices random sometimes new numbers does not have a big imact on the sound. But even Modulation alone give totally different results.

"Edit 4" : not easy to do as they are not at the same place in the processing flow.
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on June 05, 2023, 12:40:45 PM
sorry I completely missed your response. The second page just eats them sometimes...

Parameter lock is live recording of parameters into a sequencer. For example turning up and down an FX parameter gets recorded into the sequencer and the sequencer plays back that knob movement as if it was programmed in. It would allow for much more variation and possibilities.

If you are still not satisfied with this response, this is what google said: "Parameter locks" means that the step sequencer can record and play back the parameter values you input with knobs.

How can you use a BP, HP or LP filter for only one output or operator? You can only set them for everything, not for one thing specifically. You know that would be kinda neat too. Having the ability to set FX for only a select few operators, meaning you could modulate a carrier with a ping-pong delay or something, or in this case, only allow specific parts of noise into another waveform

Edit: I just noticed that this parameter lock thing would go hand-in-hand with more modulation destinations since it's basically that but plugged into a sequencer. Thinking about it, we already have something like that with the two sequencer modulators, but two is just not enough to control like four different changes at once

Edit 2: I sadly need to inform you that the crash is still occurring. I don't know what I tested, but what I tested was bullshit. It still crashes when playing a note after pasting anything into operator 1. Weirdly enough, the name of the binary is 999d but in the PFM it still sais 999b

Title: Re: Two suggestions, two bugs and a question
Post by: Xavier on June 06, 2023, 09:42:32 AM

Please try firmware 1.00.
Looks like my script that build the zip files missed up with the 0.999X version and put a wrong version in the zip.
Sorry.

Thanks for the explanation for parameter.

Yes that would be neat to have more noise choice, i agree. And per operator. But you can't ;)
You can still use a second instrument listening to the same midi channel. Use a simple Algo such as algo1. And you can have a noise independent from the first instrument that you can modulate.
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on June 06, 2023, 12:02:41 PM
The 1.0 Fix works now haha thank you!

Quote
Yes that would be neat to have more noise choice
You could add more waveforms like in the LFOs. E.g. Brown, Pink, etc. noise

Could the time of the Ping-Pong and delay be increased as well? I feel like the have way too fast decay. Sometimes a really long delay is desirable.
Title: Re: Two suggestions, two bugs and a question
Post by: lokki on June 06, 2023, 05:23:11 PM
delaytime is limited by RAM. the delay is already downsampled to increase the delay time, so no it is unlikely that it can be prolonged much longer.

what was done on some fm synths in the past (80ies) was to add a midi delay fx.
a note that had been played would simply be triggered again after some time. a bit softer and with less overtones this made for a convincing delay fx
Title: Re: Two suggestions, two bugs and a question
Post by: Toltekradiation on June 06, 2023, 06:54:19 PM
midi echo is very cool on the midibox seq for example,
though i'm not sure how to implement this on the preen... maybe a special arp mode ?

There is also the modulator envelope loop trick, to mimick delayed notes !
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on June 06, 2023, 11:20:58 PM
delaytime is limited by RAM. the delay is already downsampled to increase the delay time, so no it is unlikely that it can be prolonged much longer.
I'm not only talking about the length of the part that is being delayed but also about the amount of times that it's repeated and has it's volume lowered. Increasing the latter should definitely work together with the current hardware limitations.
Title: Re: Two suggestions, two bugs and a question
Post by: Toltekradiation on June 07, 2023, 11:39:15 PM
Sometimes, limits is what we need.
but if you want more, here is an experimental version which let you use the Out menu to chain output from timbre 1 to timbre 2,
so you can have a chain of short delays.
it works only for timbres 1 to 3 (for some unknown reason).
For me it is a be too much of weirditude to be used, as it break the patch paradigm.
but if you want to have a look at it, here it is !

the git branch for this is there :
https://github.com/pvig/preenfm3/tree/fxchain
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on June 08, 2023, 10:57:04 PM
Hm I can't get this to work entirely. As soon as I route a timbre into another one all of the routed timbre's output just vanishes...

Regarding the increased delay time: If it is what I think it is (a memory block with the audio data just continuously getting overwritten by a more silent copy) then you should be able to increase the delay time without any risks. I noticed, that if the delay block is shorter, it gets played back more often, so a pretty short delay "block" is pretty much not delaying enough times to be useful.
I would also prefer being able to control the time between delay playbacks and the volume drop myself, so I can actually use it properly.
Title: Re: Two suggestions, two bugs and a question
Post by: matrix12x on June 09, 2023, 01:05:31 AM
@UltraBlack by more delay time, do you actually mean delay feedback? like the number of repeats?
and not the spacing in-between them (as is normally referred to as delay time).
Title: Re: Two suggestions, two bugs and a question
Post by: lokki on June 09, 2023, 08:40:39 AM
yes he is talking about increased feedback
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on June 09, 2023, 11:26:22 AM
@UltraBlack by more delay time, do you actually mean delay feedback? like the number of repeats?
and not the spacing in-between them (as is normally referred to as delay time).

I want to control this (shitty "drawing"):
<Segment width> ---- (Pause time) ---- <> ---- <> ---- <> ... (iterations and volume drop)
Title: Re: Two suggestions, two bugs and a question
Post by: lokki on June 09, 2023, 04:17:15 PM
those are normally (on almost every delay) one parameter, called feedback...
the higher the feedback, the more repetitions you get and hence the volume drops less fast per repetition..
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on June 09, 2023, 08:10:12 PM
This one parameter is not enough though, considering the very limited memory available for effects. The maximum amount of repetitions is super tiny right now, with the feedback limited to 1.

And one feedback value still does not allow me to control the time between repetitions, at least not in a way that benefits the overall outcome.
Title: Re: Two suggestions, two bugs and a question
Post by: lokki on June 09, 2023, 08:26:55 PM
on a "normal" delay you have two parameters, delay length and feedback. you are right, that the delay length is limited on the preenfm3, this likely will not change. so you only need one other control for feedback, which controls both, number of repetitions and as a consequence volume drop. the two are directly related and it does not make sense to split them into two params. at least not on a regular delay. essentially you control the amount of delayed signal that you feed back into the delay. does this make sense? other controls on a delay might be tone to affect the darkness of the tails to emulate an analog delay or modulation to emulate the pitch wobble of a tape delay.
Title: Re: Two suggestions, two bugs and a question
Post by: Toltekradiation on June 10, 2023, 12:22:58 PM
other controls on a delay might be tone to affect the darkness of the tails to emulate an analog delay
ok, i think i understand better the request now : the delay are currently quite dark, ie lowpassed feedback, which give a quite short delay tail.
i will try to work out something about it.
Title: Re: Two suggestions, two bugs and a question
Post by: Toltekradiation on June 10, 2023, 06:44:31 PM
here we go  :)

delay is now a lot less lowpassed when feedback = 1

and if you want to test some new fx, there is two granular thingy...
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on June 11, 2023, 12:33:11 AM
I think that's great! Awesome work on both fronts! The delay seems way better to me and the granular mode (specifically number 2) makes everything sound absolutely bonkers :) Please PR that!

And because I can't stop I have another feature request: A Phaser effect, e.g to add some texture and variation to percussive things. I've had a lot of with them on another synth
Title: Re: Two suggestions, two bugs and a question
Post by: Toltekradiation on June 11, 2023, 08:52:39 AM
great !
it need a bit of optimisation in the granular part and maybe some enhancement ?

about the phaser effect, you already can do it in the FX1 section, with the allpass filters (Ap4 ..)
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on June 11, 2023, 01:53:06 PM
Oh these effects man.

If it's possible I'd like to have list explaining what all these abbreviations stand for and what's special about them. With some of them it's pretty clear, but what's the difference between e.g. LP1, LP2 and LP3? What is h+o (or however it's called) supposed to be? I have also no clue what an all-pass filter is... (I would assume it's a do-nothing filter)
Title: Re: Two suggestions, two bugs and a question
Post by: Toltekradiation on June 11, 2023, 08:08:14 PM
you can use the readme of https://github.com/pvig/preenfm2 to get a detailed list of the fx1, which were originaly made for the preenfm2
there is some iteration on basic filters, like lp2, lp3 etc.. , not usefull to have many, i guess it was done by a newbye dsp coder entusiast !
fortunatelly, Xavier was very wise to add some code to filter that fx list on display, (they remain usable by CC selection).
Maybe it would be a good idea to clean up that list again someday :-X

About phasing, allpass are basic filter blocks for that : https://en.wikipedia.org/wiki/Phaser_%28effect%29
just use a lfo to modulate it and you're phased !


Title: Re: Two suggestions, two bugs and a question
Post by: matrix12x on June 12, 2023, 02:03:57 AM
Is this based of the 1.0?

here we go  :)

delay is now a lot less lowpassed when feedback = 1

and if you want to test some new fx, there is two granular thingy...
Title: Re: Two suggestions, two bugs and a question
Post by: Toltekradiation on June 12, 2023, 07:11:03 AM
yes, it's based on 1.0
a note about the two granular fx : when the 2nd param >=1, audio is locked in a loop, so one can record a chord and then play over it (with Mix = 0.5 for example).
Title: Re: Two suggestions, two bugs and a question
Post by: matrix12x on June 13, 2023, 12:25:47 AM
re: granular Fx audio loop, thats really cool.
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on June 17, 2023, 01:55:03 PM
I just thought of another Idea: What about a sample player? Most of the features are already there (effects, filters, an SD card, ...). They should theoretically be less performance heavy since no computation apart from playing the samples needs to be done.

Or would this have issues with the ram limitations? Could ram limitations be worked around with sort of a wave analyzer that takes the sample and converts it into something that the synth can use more easily? Maybe the Fourier Transform (https://en.wikipedia.org/wiki/Fourier_transform) can be used to extract the waves to put them into the operators..

I have no idea how practical or realistic this is, but the PFM3 has quite a lot of things to it's disposal
Title: Re: Two suggestions, two bugs and a question
Post by: Toltekradiation on June 17, 2023, 02:40:09 PM
i think it would take too much ram to be done, unless some kind of sd card streaming, but i have no idea of the feasibility.

About the Fourier transform, you're talking about some kind of resynthesis which, i guess, would need lot of ram and cpu.

I feel that we would benefit more from some sound design utilities.
If you wish to investigate that way, i can suggest some work i done about sample mimiking with fm : https://github.com/pvig/preen-mutator
it's a puredata project which aim is to analyze an audio sample to get some metrics from it, and then generate random preenfm patch, to begin with,
then try to mutate it to make it converge to the audio sample.
(inspired from https://www.jstor.org/stable/3680541)

Well, it does not work very well, it's not really better than the random patch feature of the preenfm ::)
The good thing with this approach is that it would not need more cpu usage on the preenfm.

Maybe someone can pick up this idea an try to do something out of it ?

About the current features, here is another fw version with optimizations and slightly enhanced granular fx, especially Grain2 can now be tuned to the octave.
Title: Re: Two suggestions, two bugs and a question
Post by: superfake on June 17, 2023, 03:29:55 PM
Hello Toltekradiation!
Thanks for your great work!

Two wishes, if possible...  ::)

Is it possible organize to save the position of performance parameters in a preset or in a mix?

Is it possible to add a Constant as a source to the modulation matrix?
Sometimes such a source is not enough, and using a rectangular LFO for this is too wasteful.
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on June 17, 2023, 04:22:09 PM
I think it would take too much ram to be done, unless some kind of sd card streaming, but i have no idea of the feasibility.

About the Fourier transform, you're talking about some kind of resynthesis which, i guess, would need lot of ram and cpu.

If you wish to investigate that way, i can suggest some work i done about sample mimiking with fm : https://github.com/pvig/preen-mutator
it's a puredata project which aim is to analyze an audio sample to get some metrics from it, and then generate random preenfm patch, to begin with,
then try to mutate it to make it converge to the audio sample.

Well, it does not work very well, it's not really better than the random patch feature of the preenfm ::)
The good thing with this approach is that it would not need more cpu usage on the preenfm.

I wasn't thinking to do that live. I had some sort of sample to patch converter in mind. Doing that at runtime would not work obviously. Kind of like your puredata patch, but just on the PFM3 itself (and utilizing the Fourier Transform to be more accurate. If maybe the bootloader had the ability to do that, you'd have pretty much all the resources available to convert samples).
Regarding that PD patch: I have zero clue how to use it. Maybe I should learn how to use puredata. It seems fascinating.
Title: Re: Two suggestions, two bugs and a question
Post by: Toltekradiation on June 17, 2023, 05:54:01 PM
ah ok,
i think it's much easier to do such program in your regular pc : much cpu & ram available, many tools available.

yes, try puredata, it's free and very cool.
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on June 18, 2023, 03:12:16 PM
I have another bug to report Xavier: If you lower the amount of voices an instrument can have to 0 (why is that a thing) while it's playing something, you can get the pfm3 to crash pretty reliably. I always do this by accident
Title: Re: Two suggestions, two bugs and a question
Post by: Xavier on June 19, 2023, 09:01:47 AM
I have another bug to report Xavier: If you lower the amount of voices an instrument can have to 0 (why is that a thing) while it's playing something, you can get the pfm3 to crash pretty reliably. I always do this by accident

0 voice is a thing, because it disable the instrument. Instruments  with 0 voice are grayed in the mixer.
No CPU is spent on free running LFO and FX for them.
If you use less than 6 instruments it's better to have the ones you don't use set to 0 voice.

Can you share a mix that crash with 0 voice (DFL.MIX) ? And let me know what you send to the instrument ?
Notes only ? CC ? NRPN ?
I just give a quick try, and no crash on my side.
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on June 21, 2023, 06:33:26 PM
oh yeah you are correct, it's  not as easy as I thought. I always trigger it by accident, and pretty reliably at that, but I can't reproduce it as easily as I thought. I'll tell you when I find out what setup you need
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on June 24, 2023, 02:06:13 PM
I just had another thought: If parameter locks were a thing, you could also merge instruments. If you had some tool that could merge sequences (where they don't overlap) and then uses parameter locks to change one patch to another, you could shrink down for example two percussion tracks (seq: 1 .. 2 .. 1 .. 2) to one, that just modulates between patches. It might come at increased cpu usage, but it shouldn't be a ton more resource intensive than running two patches at the same time.

Is that possible?

Edit: I'm also thinking that being able to record pitch bend could be really useful for some more funky stuff
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on June 25, 2023, 12:09:41 PM
I'm also once again coming across some issues.

I have attached a bank that I'm having issues with. The first patch has all envelopes coming down to 0, but for some weird reason, OP5 does not do that. I have checked everything I could come up with, but it just does not mute completely. What remains is always it's waveform.

The second patch has another issue, that I've recently come across too. I can't find a solution for it. It's a kind of click (volume suddenly drops for a short moment) in the sound, where there should not be any. Yet again I have checked everything I could come up with, but found nothing. It's seemingly not an issue with resonance.

Here is the bank (patches are named in a way that should make it a bit more obvious what the issue is: https://chonkyrabbit.eu/files/_share/ZBUG.BNK

Any idea about those?

Edit: I just noticed that I found the button combo that takes screenshots of the display. Interesting.

Edit 2: WAT a restart fixed both of the issues I mentioned above... Still worth investigating. It's not nice that patches can just break at random
Title: Re: Two suggestions, two bugs and a question
Post by: Xavier on June 27, 2023, 09:05:54 AM

Yes that's weird.
I'll take a look at the first 2 patches to see if I see something.
It's possible that some temporary variable were not recalculated is they should after some parameter changes.
Everything is reset and clean after a patch reload which is why it was back on track later on.

Your other points, recording parameters in the seq would require a change of the seq file format and a bit rewrite of how it works. It's unlikely i make some change like this in the near future.
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on July 05, 2023, 08:00:14 PM
I have another suggestion: I often run into clipping and I don't know where it's coming from. Instead of always showing "CLIPPING 1" it should instead use the number for showing which instrument is clipping.

In my case, the volume bar is seemingly always below even the white level, and yet it's still clipping (is it the global reverb maybe?)
Title: Re: Two suggestions, two bugs and a question
Post by: Xavier on July 07, 2023, 07:40:19 AM

Hi,
I had to check because i implemented that a long time ago.
"Clipping" is for the sum output before sending the data to the DAC.
So value can it can be
. "1"  - for output 1/2
. "2"  - for output 3/4
. "3" - for output 5/6
It does not mean an instrument is clipping. That can be the sum of the instruments that use this output.
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on July 07, 2023, 08:29:49 PM
I think it would make much more sense if it was on a per-instrument and not per-output basis. I only use 1-2 currently because I have no pedals or need to change my audio routing.
And even if I had that, I would just use 1-2 to dump out everything that does not need further processing. I don't think it makes much sense to show the output pair
Title: Re: Two suggestions, two bugs and a question
Post by: matrix12x on July 08, 2023, 08:08:40 PM
I think the output pair makes the most sense. Because two non clipping instruments can cause a clipping output.  Edit: fixed poor spelling
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on July 09, 2023, 10:53:45 AM
The issue is that it's very unclear what actually causes the clipping. You can have all six instruments output a >50% volume signal, but none of which cause clipping, even together.

Now there is one signal that really just gets up to 50% and that suddenly causes clipping.

It's hard to predict when something causes clipping. And when you have clipping, it's unclear what causes it in the first place. It's very frustrating.
Title: Re: Two suggestions, two bugs and a question
Post by: Xavier on July 09, 2023, 07:44:39 PM
Have you tried to turn on Compressor on some instruments ?
That was my first motivation to add the compressor : to control clipping.

Some FX, especially LP/HP with high resonance, can have unpredictable impact on volume.
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on July 10, 2023, 03:55:57 PM
Yes I did try the compressor. It does not always help though.

It would be a bit less annoying to deal with clipping if there was a way to change the volume of all instruments simultaneously (just allowing you to keep the mix ratio but enabling you to decrease the combined volume until all clipping is gone.
Title: Re: Two suggestions, two bugs and a question
Post by: Xavier on July 12, 2023, 11:06:04 PM

That could work.
MENU + encoder would modify all instruments volume linked to the same Output pair.
Title: Re: Two suggestions, two bugs and a question
Post by: Xavier on July 12, 2023, 11:32:29 PM

Firmware 1.01.
You can use MENU + Encoder in the mixer volume page to change other linked instruments at the same time.
"Linked" = output on same DAC.

1.01 also have a bug fix that corrupted the preset name when using with the PC/MAC editor.

Title: Re: Two suggestions, two bugs and a question
Post by: matrix12x on July 15, 2023, 02:43:58 AM
@Xavier does this version include the optimizations from p3_timefx_9.bin ?
Title: Re: Two suggestions, two bugs and a question
Post by: Toltekradiation on July 15, 2023, 10:11:35 AM
I don't think so, as there was no PR for mods from p3_timefx_9.
i'm going to post the latest version in the paraphonic fx thread, so we can finalize those developments.
Title: Re: Two suggestions, two bugs and a question
Post by: Xavier on July 15, 2023, 06:23:21 PM
@Xavier does this version include the optimizations from p3_timefx_9.bin ?

No only 2 modificaition i made.


i'm going to post the latest version in the paraphonic fx thread, so we can finalize those developments.

Sounds good
Title: Re: Two suggestions, two bugs and a question
Post by: UltraBlack on July 15, 2023, 06:31:17 PM
You can use MENU + Encoder in the mixer volume page to change other linked instruments at the same time.
"Linked" = output on same DAC.

That works exactly how I imagined it, thank you so much!

I also have another feature request ( ;) ):
I'd like to have more global FX available, for example a global 8 band eq would be amazing for the chill-/synthwave feel. I don't think that would use much performance
Title: Re: Suggestions and Bug reports
Post by: UltraBlack on July 28, 2023, 05:58:11 PM
Oh two other things I noticed just now:
1. The USB-MIDI option in the settings is ignored. UM works even if disabled
2. It would be nice if the PFM also sent all the received UM data out its corresponding MIDI port. I don't own a UM interface and was hoping I could use the PFM for that

Edit: I have also noticed some more issues:
1. The PFM crashing while accidentally turning down the voices to 0 is still a thing. I think it might be related to doing that while release is still going
2. Simultaneously playing notes over MIDI and UM causes stuck notes on the instrument voice controlled via MIDI, but the stuck notes are taken from the UM side
Title: Re: Suggestions and Bug reports
Post by: UltraBlack on August 11, 2023, 11:18:02 AM
I have just had another thought: Currently, the delay effect resides in the paraphonic FX section of each timbre. What about moving that into a global kind of effect, just like the reverb? You'd have much more memory available (six times the memory to be precise!), so the effect could sound for much longer, with less downsampling. I love the global reverb, but the delay is just too short, and too downsampled for my taste. The only thing I'd imagine using it for is slap-back delay, but that's just not what I love delay for.

Also I don't know if this is a realistic thought, considering the stage of development, but I think the effects would in general benefit of more memory, so I think it would be nice, if you were able to just disable featuresets you don't use, to make room for more effect memory. I for example don't use the scales system (or the whole SCALA menu for that matter), and now with proper DAW sequencing, I also don't need the sequencer at all. I never used the PFM as a midi CC interface, so that whole thing could also go out the window. I also don't use the User CC menu (what is that even for?).

If I had the option to disable those in favor of more performance overall, I'd do it.
Title: Re: Suggestions and Bug reports
Post by: Xavier on August 11, 2023, 12:03:30 PM
Oh two other things I noticed just now:
1. The USB-MIDI option in the settings is ignored. UM works even if disabled
2. It would be nice if the PFM also sent all the received UM data out its corresponding MIDI port. I don't own a UM interface and was hoping I could use the PFM for that

1. Needs a reboot. It should work. (Cannot confirm 100% before i'm back home)
2. I tried that already, but the problem is that the UM is much faster then Midi jack. so between UM + midi send from the controller change, that's too much to handle for the midi jack.


Edit: I have also noticed some more issues:
1. The PFM crashing while accidentally turning down the voices to 0 is still a thing. I think it might be related to doing that while release is still going
2. Simultaneously playing notes over MIDI and UM causes stuck notes on the instrument voice controlled via MIDI, but the stuck notes are taken from the UM side

1. Will take a look when i'm back. Thanks.
2. Yes i'm not surprised. That's 2 different execution threads, so result can be corrupted if a MidiUsb arrives in the middle of a MidiJack command. I think it should work if Usb and Jack midi targets different Midi channel.