Author Topic: Suggestions and Bug reports  (Read 8820 times)

UltraBlack

  • Team Member
  • **
  • Posts: 57
    • View Profile
Suggestions and Bug reports
« 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.
« Last Edit: July 16, 2023, 06:15:18 PM by UltraBlack »

Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 2257
    • View Profile
Re: Two suggestions, two bugs and a question
« Reply #1 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.
  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 :)
« Last Edit: May 15, 2023, 04:31:45 PM by Xavier »

UltraBlack

  • Team Member
  • **
  • Posts: 57
    • View Profile
Re: Two suggestions, two bugs and a question
« Reply #2 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.
« Last Edit: May 15, 2023, 07:36:44 PM by UltraBlack »

Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 2257
    • View Profile
Re: Two suggestions, two bugs and a question
« Reply #3 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
« Last Edit: May 16, 2023, 09:50:46 AM by Xavier »

UltraBlack

  • Team Member
  • **
  • Posts: 57
    • View Profile
Re: Two suggestions, two bugs and a question
« Reply #4 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.

UltraBlack

  • Team Member
  • **
  • Posts: 57
    • View Profile
Re: Two suggestions, two bugs and a question
« Reply #5 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...
« Last Edit: May 20, 2023, 07:03:47 PM by UltraBlack »

UltraBlack

  • Team Member
  • **
  • Posts: 57
    • View Profile
Re: Two suggestions, two bugs and a question
« Reply #6 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...  :'(

Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 2257
    • View Profile
Re: Two suggestions, two bugs and a question
« Reply #7 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.
« Last Edit: May 22, 2023, 08:59:10 AM by Xavier »

Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 2257
    • View Profile
Re: Two suggestions, two bugs and a question
« Reply #8 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.

« Last Edit: May 21, 2023, 09:44:19 PM by Xavier »

Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 2257
    • View Profile
Re: Two suggestions, two bugs and a question
« Reply #9 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).
« Last Edit: May 22, 2023, 07:56:39 PM by Xavier »

UltraBlack

  • Team Member
  • **
  • Posts: 57
    • View Profile
Re: Two suggestions, two bugs and a question
« Reply #10 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)
« Last Edit: May 22, 2023, 08:46:36 PM by UltraBlack »

Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 2257
    • View Profile
Re: Two suggestions, two bugs and a question
« Reply #11 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 ?

UltraBlack

  • Team Member
  • **
  • Posts: 57
    • View Profile
Re: Two suggestions, two bugs and a question
« Reply #12 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")
« Last Edit: May 24, 2023, 09:17:29 AM by UltraBlack »

Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 2257
    • View Profile
Re: Two suggestions, two bugs and a question
« Reply #13 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 ?
« Last Edit: May 24, 2023, 03:26:10 PM by Xavier »

UltraBlack

  • Team Member
  • **
  • Posts: 57
    • View Profile
Re: Two suggestions, two bugs and a question
« Reply #14 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
« Last Edit: May 29, 2023, 11:19:19 AM by UltraBlack »