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.

Topics - Xavier

Pages: [1] 2

The next firmware will include the latest modifications from Toltekradiation (More LFO and customizable enveloppe curves).

I've refactored the internal memory mapping of the envelopes to have something cleaner and more maintanable. And that can have some impact on the stability.
I've also added some visuals of the new LFO and visuals of the Enveloppe shapes.
This version is called 0.99x and can be considered as BETA.

What requires more testing :
. The new LFO random shapes Brwn, Wndr and Flow and their visual rendition.
. The new enveloppes for each step (ADSR) and their visual rendition.
. Save and Load of the envelopes curves in presets.
. Midi CC/NRPN of the envelopes params (time, level and curve)

I'll make more tests in the following days.
Please report if you try this firmware and notice anything strange.
The PR is here :

In addition to log, lin and exp enveloppe shapes you can add your Own.
Here are the Toltekradiation's ones :;topic=69962.0;attach=1112
Add the "envcurve" folder in "pfm3" on your SD card.

-- You must be logged to see the attached firmware bellow --

preenfm2 and preenfm3 / Pfm2 : unison discussion
« on: November 16, 2020, 09:46:47 PM »
would you have interest in reducing polyphony and adding more sound shaping stuff like maybe a master effects section with filters and distortions etc maybe a comb delay...   i think enough people use preenfm2 as a bass synth...  if it were a mono synth per part that would shave off a lot of cpu at least.  i mean i mostly use mine as a mono synth with 4 layers.

I don't have any plan for that.
But i'm as usual of course ready to help anyone who wants to give that a try.

another great feature would be to allow unison + detune + spread.  this could make the preenfm2 into a big fuzzy bulldozer!  and with a master effect like distortion etc. look out!

What does prevent you to do that today ? (OK there's not master effect).
But unison is doable.
It requires a little work, load the same preset in the 4 instruments.. assigne same midi channel or use global midi channel.
Detune and pan the different operators of the 4 instruments.
Reminder to make your life easier : "Mix, pan, env edit: hold 3 to modify all other operators of the same type (carrier/modulator) at the same time"

preenfm2 and preenfm3 / preenfm3 / preenfm2 R6 : PCBs available
« on: September 17, 2020, 09:12:41 AM »
Hi everyone,

I think the 2 new PCBs are ready to be tried.
  • The new preenfm2 PCB (R6) can make a powerfull cheap FM synth (with LCD Display). Current documentation is here.
  • The new preenfm3 adds new features i hope every body will enjoy. And have rooms for improvement in the futur firmwares. Current documentation is here.

Documentation is still a bit weak, and the firwmare likely have bugs.
The forum is here to discuss all problems you may have. And also to report good experience :)

For transport, i'll use the French Collissimo shipping company as i had problems with the regular cheaper one.
This shipping is quite expensive for outside Europe delivery (27€), I'm sorry about that but  i cannot do anything.

If you're OK with everything and wants to give a try :
And if you do, please communicate your experience here.

Thanks a lot for all the enthusiasm around the preenfm2 the last 7 years  :)


preenfm2 and preenfm3 / 2.12 Beta 2
« on: May 22, 2020, 11:01:22 AM »
2.12 Beta2

Contains the 3 fixes from Toltekradiation. Thanks  :)
And the midi CC7 & CC10 implementation as suggested by SFM for volume and left/right balance.

The new regular firmware is now the overclocked version : 192 mhz instead of the 168Mhz recommended.
I never saw a stm32F405 with problems at 192mhz. No need for the "o" version anymore.
Please report if you see any instability.

Thanks for you help.

2.12 Beta1

Please test and post feedback.
What's working and what's not working : both are usefull.
Thanks a lot  :)

1. Double the power of the Matrix
Each row now has 2 destinations.
So you can modulate 24 destinations instead of 12.

Big thanks to Toltekradiation (Patrice Vigouroux) for the following enhancements that i merged from his firmware fork.

2. Enveloppe loop
Modulator operator have now loopable enveloppe.
Set Release time to 0 and release level to 1.0.

3. Glide
2 more glide values (11 and 12) for slower glide

4. Step sequencer new usage

1 new destination for each step sequencer : the starting point
Interesting to use with Note1/Note2 sources.

Example :
      Step SEQ1     : 0 / 0.5 / Your pattern 1 here (_85F_85F _85F_85F)
  Redirect the Step seq to your destination of choice :
      Matrix row : Seq1 3.00 Mix3 None
  Now let's use midi note to select the Step.
      Matrix row    : Not1 / 1.00 / sq1S / None (or sq2S for more fun)
      Set Note1 to  : Flat / 0 / +ln8

Not really straightforwared but that's it.
Each note will trigger a different step and will result in a different sound.

5. Matrix new source
Use rndK to trigger a new random number [-1:1] each time a note is started (key pressed).

6. Filters rework
Merge last modifications from the filter code.

preenfm2 and preenfm3 / Preenfm2 Firmware 2.11
« on: December 22, 2019, 09:31:19 PM »

I didn't have much time to test so if you try this firmware please let me know.
That's why it's named 2.11b1.
If everything is OK, it will be 2.11 and an updated Editor will follow soon.
Eurorack version will follow too.

What's new in 2.11:

. Global tuning
Menu>Set>Tools>Tuning (after midi settings)
Adjustable between 430.0 and 450.0Hz with a step of 0.2Hz
I event not tested if it's in tune.
Let me know if you make some test.

. more midi MPE support
Midi MPE needs CC 74 to be available so i moved CC "OP1 Env Attack" to 65.
And CC74 is now a source of the modulation matrix (last position).
With Midi All Channel = 1, midi Inst1 = 2, ins2=3, int3=4 and inst4 =5.
If you load the same preset to all 4 instruments you should have a 4 voices MPE instrument.
You need a MPE keyboard or Ipad KB-1 app.

. Fix bug when increasing number of voice
Waiting for confirmation to be sure this one is really fixed.
New voices assigned to the timbre were not correctly initialized, so in some case, that leads to uncontrolled behaviour.

. Filters
I merged the great work of Toltekradiation (Patrice Vigouroux).
All filters are in the source code, so that i can easily merge his future work if any.
The midi value for each filter is also the same, so preset should be compatible with his firmware.
I just made the choice to reorder and not to show some of the filter in the preenfm2 UI.
The new (impressive) list of filter is :
1   Mix
2   LP 
3   HP
4   Bass
5   BP
6   Crsh
7   Oryx
8   Orx2
9   Orx3
10   h3o+
11   Svh3
12   Pann
13   LP2
14   HP2
15   Lp3
16   Hp3
17   Bp3
18   Peak
19   Notc
20   Bell
21   LowS
22   HigS,
23   LpHp
24   BpDs
25   LPws
26   Tilt
27   Sat
28   Sigm
29   Fold
30   Wrap
31   LpSn
32   HpSn
33   Not4
34   Ap4
35   Ap4b
36   Ap4D
37   18db
38   La+d
Little more details here :

Thanks a lot for testing,


preenfm2 and preenfm3 / PC/MAC preenfm editor 3.1.4 (Preenfm2 Unison)
« on: October 28, 2017, 07:57:25 PM »
Source code as well as Windows and macOS binaries are available here :

For each OS, zip files contains the VST and the standalone version.

The editor is heavy to test, don't hesitate to report any problem or just say you're using it and it works under your OS.
That helps,


Previous editor thread is here.

preenfm2 and preenfm3 / 2.05B5 available (September 5th)
« on: August 30, 2016, 10:32:52 PM »
See attachment bellow.
Still beta because i didn't test it a lot and there are several important changes, if you test the new features, don't hesitate to let me know if it works as expected for you.

. New matrix target "Dec*" : Decay all
You'll find it between Att* and Rel*.

. New matrix target : "o*Fh" (h for 'harmonic' / Located after "o*Fr").
It's harmonic Freqency, required for accurate Pitch Bend.
It's been discussed here :
The final solution is a new matrix target that shifts ALL oscillator. The matrix multipler is exactly the number of shifted tone UP and DOWN.

. The test note (left buttons while browsing presets) is not anymore muted when you change patch or trigger a new random preset. So use and abuse.

. Low frequency stuck note finaly fixed

. Last minute matrix source re-order

. Fix a problem that prevent the matrix target IM* from diminishing the velocity IMs.

Thanks everyone for all suggestions and discussions that made this happen,


[attachment deleted by admin]

Situation : Yellow OLED display have a big inductor that sends a 13.5Khz sin wave in the preenfm2 audio path.

Yellow OLED solution

I spent some time trying to find a solution to this problem, and i have somthing really efficient.
Look at the After and Before screenshot.

If you have a PCB R5d (or +) : solder a 22ohm at the "oled" position and go to step 4 directly... DON't do step 1,2,3.

If you have a PCB R5c (or -) : step 1,2 and 3 is for you.

The idea is to put a resistor 22 (ohm) between the LCD and the preenfm2 5V.
As there's no direct possibility, we'll use the Led+ pins (pin 15 of the LCD) that is not used with OLED display and where we can insert a resistor.

Step 1 : put a 22 ohm in the 68 ohm slot... this resistor is between the 5v and the pin 15 of the display.
Step 2 : cut the pin 2 of the OLED so that it's disconnected from the preenfm2 5V.
Step 3 : Link the pin 2 and 15 on the Display. Now the Oled is powered throught the 22 ohm resistor and get around 4v.
Step 1 to 3 makes the parasit frequency much more sensitive to shield. I think it removes almost totally the electronic noise but the magnetic noise is still there.

Step 4 : build a shield with many alumnium sheets that you use for food. you may have that in your kitchen.
The more you put the more efficient it is.
Take a 22cm x 22cm, fold 1 time then 2 times horizontaly, same thing vertically. You get 16 layers.
Do that with 4 sheets to get at least 64 layers.
Put that in a plastic bag (antistatic may not hurt) and add some tape. Be sure no aluminium will touch the contact.

Step 5 : put your shield under the screen.

Step 6 : Let me know :)


preenfm2 and preenfm3 / pfm2 : 2.21
« on: August 12, 2015, 09:34:51 PM »
Easiest way to upgrade is to follow step 1 & 2 here :

Latest firmwares and the bootloader are available from Github releases folder :

Latest version : 2.21


Latest version : 2.20

Screensaver was broken and prevent the display from working properly.
Sound saturation fixed.

Latest beta version : 2.20b2

Loading a patch with midi program change now stores the patch and bank so that you find them immediatly when saving it through the menu.

Latest beta version : 2.20b1

If you have a PCB R6 SMD, you need this version or NEWER to get any sound out of the preenfm2.
If you flash the PCB for the first time, please follow the steps here :
And use the dfu file attached to the release.

If you have the PCB R5 (through hole) this version is the same as 2.12.

Latest stable version : 2.12

A description is attached to the release.

OLD history

Versions before 2.08

2.07 : MTX* target

Click to download firmware 2.07

. Fix a problem with mtx1-4 matrix destination.

2.06 : Fixes and CCs

. Fix a frequent missing note bug :
. Fix a rare hanging note bug

. midi CC added for arpegiator (  CC_ARP_CLOCK = 97, CC_ARP_DIRECTION = 98, CC_ARP_OCTAVE = 99, CC_ARP_PATTERN = 100, CC_ARP_DIVISION = 101, CC_ARP_DURATION = 102)

2.05 : Fixes and Improvements

. New matrix target "Dec*" : Decay all
You'll find it between Att* and Rel*.

. New matrix target : "o*Fh" (h for 'harmonic' / Located after "o*Fr").
Harmonic frequency shifting : required for accurate Pitch Bend.
It's been discussed here :
The final solution is a new matrix target that shifts ALL oscillators. The matrix multipler is exactly the number of shifted tone UP and DOWN.

. The test note (left buttons while browsing presets) is not anymore muted when you change patch or trigger a new random preset. So use and abuse.

. Low frequency stuck note finaly fixed

. Last minute matrix source re-order

. Fix a problem that prevent the matrix target IM* from diminishing the velocity IMs.

. Breath aka "CC2" is now available as a matrix source

2.03 : more CC

Click to download firmware 2.03

. more CC
Filter type (70), param1 (71), param2 (72) and gain (73).
Env attack of op 1 to 6 (74...79) + all op at the same time (80)
Env release of op 1 to 6 (82...87) + all op at the same time  (81)
LFO 1 to 3 phases (88, 89, 90), Bias (91, 92, 93) and Shapes (94, 95, 96).

. Bug fix : "fixed frequency operator" do not glide anymore. Thanks jarilo :)

2.02 : better user waveform preprocessing

Click to download firmware 2.02
. Better preprocessing of user waveform text file. Txt files are now centered and normalized before being turned into bin files.
  You have to remove the *.bin files that the preenfm2 created with version 2.01 so that they are recreated with 2.02 new algorithm.
. Any number of samples between 32 and 1024 are now accepted.

2.01 : User waveforms

Click to download firmware 2.01
Up to 6 waveforms can be put in  /pfm2/waveform/ of the preenfm2 usb drive.
They must be called usr1.txt, usr2.txt... usr6.txt
Format is simple :
Code: [Select]
<4 chars for name>
<number of samples>
<sampe1> <sampe2> <sampe3> ....

Number of samples must be a power of 2 and <= 1024.
Samples must be float values between -1 and 1 with a "." as decimal separator.
Samples can be separated by what you want : tab, space, comma, return....

See message here for examples.

The preenfm2 will create a usr*.bin from your txt to read the waveform faster and so boot faster.
If you modify your waveform you have to remove the bin so that it's recreated.

The waveforms can be found in Operator>Shap>. After "Off".


2.00 New features

1. Real polyphony

Each voice now has its own modulation matrix and LFOs. (Used to be per instrument).
Effects (LP, HP etc) are still per instrument though.

2. Scala support / Microtunig
Use the bootloader to access your Usb drive (Hold ENG button while switching on) / Or unplug your USB stick.
Add a "scala" folder inside "/pfm2/".
Put your favorite *.scl file in /pfm2/scala/". Only 128 files will be selectable from the preenFM.
Rename them if needed so that their name before ".scl" has 8 chars max.
(You can at the same time put your 1.06 firmware in "/pfm2" so that you can go back to it quickly if needed).
At the same time : BACK UP your personal presets.
4500 scales are available at the bottom of this page :

Go to Menu>Tools>Scala :
Then you can enable/disable scala scales, select your scale file, change the base middle C frequency, and select the midi note mapping.
Press menu one more time (until "DONE" shows up) if you want your scala settings to be saved.

3. Midi note scaling

For those who didn't follow the discussion this is a settings that allows to modify the midi note response for the "Note" matrix source:
There are now 2 independent note scaling : note1 & note2.
They can be edited at the end of the LFO page (Hold LFO Button + turn encoder to go through pages).
To use them, select "not1" or "not2" in any matrix source value.

Simple use case example :
Stereo panning over the keyboard. Low note on the left, high note on the right....
Decrease the IM for high notes to get rid of aliasing.

4. LFO1/2/3 phase.
Lies in LFO menu after the 3 LFOs.

PreenFM1 (the blue one) / New download place
« on: May 26, 2015, 04:05:12 PM »


The latest preenfm1 firmware and editor were not downloadable for some time, sorry about that.
Here is a link where you should be able to find them :

Let me know if you find any problem or need something else,


preenfm2 and preenfm3 / Your account is waiting for admin's approval ?
« on: February 04, 2015, 03:18:32 PM »

If yes, Sorry.
Please PM me in facebook or send me an email : p r e e n f m 1 (a) gmail (dot) c o m
I'll approve it quickly.


preenfm2 and preenfm3 / Trusted builders
« on: September 01, 2014, 11:37:46 PM »
I don't sell any pre-built preenfm2, but that won't prevent you from asking someone to build it for you.

Trusted builders :
. Van Daal Electronics
. Clément Marion
. TubeOhm


preenfm2 and preenfm3 / Last firmware 1.06
« on: August 10, 2014, 09:11:57 PM »
Firmware 1.06
. Bug fix : When Ksyn = 0.01, LFO started with a huge value that could produce audio click at the beginning of sounds.

Firmware 1.05
. Preset Randomizer in Menu>Load>Rand (Use left buttons to trigger a new Randomization).
. boot sound can be enable/disable in the settings.
. Band Pass filter frequency now reads the FlHz target of the modulation matrix (like LP and BP)

The Last firmwares are available here :

This is the place to report problems or discuss new features...



- - - - - - - - - - - - - - - - -
Old thread bellow :

August 29th 2015: Editor v2.00
PC/Mac editor to fit firmware 2.0 is ready.
. Mac version (Standalone, vst)
. Windows version (Standalone, vst 32, vst 64)

Github source URL :


Previous version for 1.06 firmware :
zip for windows, dmg for osx.

Windows 7 (64 bits) VST plugin status :
. Reaper 32 / 64 : OK
. Studio one 64 : OK
. Maschine 2 64 : OK
. Tracktion 5.3.15 64 : OK
. Renoise 3 64 : Complains but seems to work.
. Ableton live : does not support NRPN so no.

MacOSX 10.9 plugin status:
. reaper OK
. Tracktion OK


Pages: [1] 2