Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Davidttl

Pages: [1]
1
preenfm2 and preenfm3 / Re: Preenfm3 bank & midi list
« 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


2
preenfm2 and preenfm3 / Re: Preenfm3 bank & midi list
« 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

3
preenfm2 and preenfm3 / Re: Preenfm3 bank & midi list
« 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

4
preenfm2 and preenfm3 / Re: Preenfm3 bank & midi list
« 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

5
preenfm2 and preenfm3 / Re: Preenfm3 bank & midi list
« 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

6
preenfm2 and preenfm3 / Re: Preenfm3 bank & midi list
« 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...

7
preenfm2 and preenfm3 / 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.

 

8
Hi,

thank you for your quick response.

I tried this method, but I still need the .elf file (because the bootloader's .bin is in the repo and you need both files).
In my case, the Problem Exists Between Keyboard And Chair and this is not a joke as I lack experience with C/C++.

Slowly, maybe on the third or sometime next time (two are already behind me), I'll manage to set up the master repo that I'll have the .bin files every time, without 2-70 errors and then I'll just start some fixes/downgrades.
Thanks again.

edit: small update: still nothing. A little closer, but I'm not giving up. It seems that I threw myself in the deep end thinking that it will be something as easy as AVR and Atmega :)

I'll try to upload a preset bank in the next few days, as I'm working on a template bank. FM synthesis has powerful capabilities, just setting it all up when you have really a lot of options (Preenfm3 is king here) takes a lot of time.


9
preenfm2 and preenfm3 / CC_UNISON_SPREAD & firmware building problem
« on: April 17, 2025, 10:23:26 PM »
Hi,
I have a small problem that is bothering me.

CC 14 instead of working only on unison spread it also starts the sequencer. And it is slowly driving me crazy.

case CC_UNISON_DETUNE:
            this->synth->setNewValueFromMidi(timbre, ROW_ENGINE2, ENCODER_ENGINE2_UNISON_DETUNE,
                    ((float)midiEvent.value[1]) * INV64 - 1.0f);
            break;
        case CC_UNISON_SPREAD:
            this->synth->setNewValueFromMidi(timbre, ROW_ENGINE2, ENCODER_ENGINE2_UNISON_SPREAD,
                    (float)midiEvent.value[1] * INV127); 
        case CC_SEQ_START_ALL:
            this->synth->setNewSeqValueFromMidi(timbre, SEQ_VALUE_PLAY_ALL, midiEvent.value[1]);
            break;

And it looks like there is no “break;” before the next case CC_SEQ_START_ALL:
All good, I'll be happy to test the changes for myself, but........

I have a problem to create a .bin file :)
There is no make in the folder, STM32CubeIDE is unknown to me but I tried. Lost files, folders - ok, SD card settings - not so good, problems with the clock - is it serious?!

So, what's the story with that firmware ?

I tried from the official repo and all I have left is a headache.

What is a trivial way to compile this firmware ?

Thanks


Pages: [1]