Author Topic: Preenfm3 bank & midi list  (Read 3904 times)

Davidttl

  • Team member
  • *
  • Posts: 9
    • View Profile
Preenfm3 bank & midi list
« on: April 27, 2025, 08:30:09 PM »
Hi,

I assembled the Preenfm3 two years ago, and it was my first experience with hardware FM. As I prepared myself tables with CC values, NRPN (documentation for the preen is its Achilles' heel) and a general template it began to open up for me.

Sound bank - you won't find ‘classic’ FM sounds here. No bells and whistles (pun intended). I tried to step out of DX7/pads/pianos comfort zone a bit. There are some decent (IMHO) Kick presets .Some bass, leads, drones. A few presets made for a joke, because why not. I don't play keyboards, I use sequencers. This is made mostly (except for the drones) for fast 1/16 & 4/4 kick & offbeat hh paterns. Added some overview info, sometimes it's worth playing with env, lfo, IM, find a good octave...

In attachments - MidiCC list, NRPN tables (my audio workstation is without internet and I won't keep searching github or doing math equations to find what LSB value I need), value template, .bnk bank.
Have fun, maybe some preset will suit someone.

 
« Last Edit: May 17, 2025, 12:35:07 PM by Davidttl »

Toltekradiation

  • Sr. Member
  • ****
  • Posts: 277
    • View Profile
Re: Preenfm3 bank & midi list
« Reply #1 on: April 29, 2025, 10:17:11 PM »
hello and many thanks for your patches,
there is many interesting ones.
loving the Amiga patches !

ericd

  • Team Member
  • **
  • Posts: 85
    • View Profile
Re: Preenfm3 bank & midi list
« Reply #2 on: May 04, 2025, 09:11:05 AM »
Also, thanks for the updated Midi CC list; very helpful!

Davidttl

  • Team member
  • *
  • Posts: 9
    • View Profile
Re: Preenfm3 bank & midi list
« Reply #3 on: May 05, 2025, 11:22:51 PM »
Hi,
thanks for the kind words, I appreciate it.
 
The midiCC/NRPM list or studying the algorithms (only algos 11-28 overlap with DX7) helped me a lot, so I wanted to share this.
I further consider myself a newbie when it comes to FM. I appreciate Preenfm3 more and more. It's really a unique concept that has been developed all these years. I'm very glad that I had the opportunity to acquire it and something makes me think that I'm going to assemble myself a pfm2 as a spare.

Back to the topic -
I think I got too excited and included this sound bank too quickly.
When selecting some presets (the lfo ones), there are some artifacts. As if the envelopes or modulations are not restarting. I need to take a closer look at this. Is it a change from mono to poly or maybe any of the sources in the matrix. Anyway this behavior precludes changing presets while playing and I'm used to (if you can) the approach Elektron/Renoise offer. And improve gain staging between presets...

Davidttl

  • Team member
  • *
  • Posts: 9
    • View Profile
Re: Preenfm3 bank & midi list
« Reply #4 on: May 17, 2025, 12:34:42 PM »
Hi, another boring post. Unnecessary noise on such a quiet and peaceful forum.

I took a close look at the two files - midiCC and NRPN. This time I checked each parameter in turn using Renoise.
Of course there were surprises, several times I managed to hang pfm3 in specific settings. A couple of CCs look like they don't work, they do something there but not the way it probably should be (MFX - CC40-45).  CC97 is better not to use outside NRPN. I checked which knobs send midiCC when moved.
With NRPN I cleaned up the file a bit, added ranges and general values.
With NRPN Lfo Freq you have to be careful. In the range of 0.00-99.9 it works, but one careless move - a change to the clock hangs pfm3 (CC6 >77).
I add the corrected files as an attachment.

Dave

Toltekradiation

  • Sr. Member
  • ****
  • Posts: 277
    • View Profile
Re: Preenfm3 bank & midi list
« Reply #5 on: May 20, 2025, 11:34:21 PM »
hi Dave,
a useful post if i must say ^^

It would be very cool if you could remember the settings that make hang the pfm3.

About the CC 40-45, yes it's far from ideal : they respond to the global midi channel to change some reverb params.
CC40 is for reverb preset change, CC41 to 45 are reverb params, that are overwriten when CC40 change the preset...
well, it's a really weird implementation ::)

CC40 may be used for something else ?
What do you think about it ?


Patrice

Davidttl

  • Team member
  • *
  • Posts: 9
    • View Profile
Re: Preenfm3 bank & midi list
« Reply #6 on: May 21, 2025, 07:00:09 PM »
Hi Patrice,

I started writing a list of cases when pfm3 crashes recently. And I should do it much earlier, because in the two years I've owned it (although I've really only started using it extensively now) it has managed to hang or even crash the DAW many times :)

I don't know how to write code, C++ is really unknown to me (I know a bit of python and I'm reasonably familiar with bash (because Linux)) but I feel that I'm better at finding bugs than debugging them. Plus I like manuals. I've had a really hard time these two years to understand how pfm3 works, also because FM synthesis is a bit abstract at first. There is a giant elephant in the room, which everyone knows. I know it's impolite to complain and sometimes it's good to be happy with what you have, rather than hoping for what will be (and it won't be).

Now I have started to be more methodical in approaching the whole pfm universe. To learn the functions of the synthesizer I read github (after two years I discovered that it also works as a midi controller), because the wiki is 4 years old :) The fact that there are hidden combinations keys I found by accident on the forum (also not all work as they should, depends on the algorithm and the number of carriers).

Pfm2controller as the name suggests is more to the earlier version - it has potential, but it doesn't work as it should. Standalone is most useful as a preset librarian, but also not for creating new banks, because it creates empty presets as <empty> and when browsing the bank you move to such a preset it crashes :)
Vst can crash hardware and DAW, moreover, it does not always read NRPN from the device. I tried the code in juce and the result is known. Transferring it to modern juce is a horror and I gave up.

For me personally vst, what I would be able to use in Renoise or Reaper to have parameters from/to the device, is something I am looking for and will try some walkaround with API/Lua, maybe some simple instrument in juce what will operate only on values, I do not need GUI (something like airwindows).

After reading hexter.cpp it became clear to me which parameters when importing .syx are not implemented.
I recently started using Perf tab - great! Additional 4 sources + 2 hardcoded encoders for fx1 1 and 2.

Sequencer - after it boiled my blood many times running by itself - I still don't like it and don't use it. It's cool that it's there but I have better ones. Thank you again for fixing it quickly - the latest firmware works!
And while we are at MI - at the same time as I was learning to solder and pfm3 was my first hardware made, MI Anushri was the second and x0xb0x the third. I managed to build that infamous firmware file and here with stm32 still nothing...
Ok, rant over.

I'm gathering information from the code (although for me it's like reading Joyce's Ulysses - all good and at the end 30 pages of Molly's stream of consciousness at 3 am), from the forum and I'll try to write an unofficial manual. Only this will also take time, but here it is unlikely that anyone is in a hurry. How (I'm likely to succeed only not in the near future) I manage to solve problems with building firmware I will also write. I have a feeling that it may be useful for others as well.

Of the simple things to modify in the code:
- changing/removing the modulation matrix value in Presets.cpp for “Default” and “Sound”
- triangle wave in waves.c. Yes, I know you can have 6 user, but.... I don't need sine0 and sine+

Is it possible?
- In FX2 adding LP3, HP3 - a double filter
- UserCC & Perf - as modulation destnations - this would probably make problems
- A dot/point/coma. Ftyp fixe Ftun dot - like 99.9Hz

CC40 - maybe finetune parameter ?

Dave

rayultine

  • Team member
  • *
  • Posts: 3
    • View Profile
Re: Preenfm3 bank & midi list
« Reply #7 on: May 22, 2025, 02:39:10 PM »
Hi Dave,
We appreciate you making the forum less peaceful!!
When you edited your original post, did you take down the preset bank attachment? I don't see it.
Thanks!

Toltekradiation

  • Sr. Member
  • ****
  • Posts: 277
    • View Profile
Re: Preenfm3 bank & midi list
« Reply #8 on: May 22, 2025, 07:33:38 PM »
oh, yeah, thanks, lots of good ideas here we got !

i will definitively try to change the default preset matrix.



Davidttl

  • Team member
  • *
  • Posts: 9
    • View Profile
Re: Preenfm3 bank & midi list
« Reply #9 on: May 22, 2025, 09:44:47 PM »
Hi Dave,
We appreciate you making the forum less peaceful!!
When you edited your original post, did you take down the preset bank attachment? I don't see it.
Thanks!

Hi,
I'm doing my best!
Unfortunately, yes. That bank was as one of the files in the zip archive. And unfortunately those midi tables, well no, they were not suitable for people to use, so I really checked them and corrected them.
That bank of presets, I also need to fix - in some cases when browsing  presets it sort of didn't reset the sound (and it should. Somewhere on the forum and in the code I saw that there was such a protection).
I will improve that bank, unify the mod matrix and gain, add more drum presets (mostly kick, but I also managed to make snare drums acceptable). Well, I'll confess - In Renoise I did such a test project: kick, snare, hh, hh, synth, bass. I use 6 mono outputs, 6 instruments, 3 midi channels. To test drums I have Cardinal set up and in it Valley Topograph - a port of the MI Grids (the same as I have in MI Anushri), hy-plugins for bass and synth. Nothing special, but hours of fun. That's why I like pfm3 so much. It's a small, slick sound module with massive capabilities.

Dave
« Last Edit: May 23, 2025, 12:31:33 AM by Davidttl »

Davidttl

  • Team member
  • *
  • Posts: 9
    • View Profile
Re: Preenfm3 bank & midi list
« Reply #10 on: May 28, 2025, 10:43:36 PM »

It would be very cool if you could remember the settings that make hang the pfm3.


Hi Patrice,

fortunately, there is not a lot of it because over the years the errors have been successively corrected, also thanks to you.
Some of the behaviors leading to the crash of pfm3 I can not reproduce (if they appear I will write them down).

Of the things that are easy to reproduce:
- preenfm2Controller standalone creates new banks from the directory making up for the lack of presets with -empty- files. Browsing presets will hang pfm3, but you can save to -empty-. Uncorrectable for me, worth keeping in mind.
- over 128 scl files - hangs
 - sending NRPN for Lfo freq: 0.00-99.9 range is ok. If you change from internal to external (over 99.9hz) it freezes pfm3.
- Any preset, then: press menu->preset->rand->Envelope Pad setting-> Rand ->apply. Then go to oper->env and move encoder. Instant yellow lines on screen. This randomization setting sets the envelope levels off scale.

Dave

Davidttl

  • Team member
  • *
  • Posts: 9
    • View Profile
Re: Preenfm3 bank & midi list
« Reply #11 on: May 28, 2025, 11:14:56 PM »
And Now for Something Completely Different 

For the past week I have been writing a tool in lua for Renoise. A simple controller for pfm3. Midi works both ways, sends and receives NRPN. There is also a simple midi router to select channels freely. I skipped the fx section (hey, well it works in the DAW), mod matrix (only the first 3 and one destination each are available via midi (by the way, mapping the order of sources and destinations is a separate story)), envelopes curves (not available) and modulators.
I got to version 1  :) It works, doesn't crash, looks like W95. I'll test it some more and only then I'll post on the tools section of the Renoise forum.
The only drawback (not for me) is that it is an internal tool written for that DAW, not a vst3 or lv2 plugin. My skills don't allow me to go as crazy as c++, sorry.
I add a screenshot in the attachment.

Dave