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
PreenFM2 / 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 / 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 / preenfm2 editor 2.11.4 - standalone/vst2/vst3/Audio unit
« 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 / 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,


PreenFM2 / Yellow OLED : high frequency solution
« on: April 03, 2016, 02:05:52 PM »
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 / Latest firmware : 2.11 (2020 Jan 11th)
« on: August 12, 2015, 09:34:51 PM »
Latest version 2.11 :
More information in the link bellow :

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

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 / 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 / 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 / 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


PreenFM2 / preenfm2 white metal case
« on: May 23, 2014, 12:11:19 PM »
EDITED November 17th 2014

Metal cases alone are not available anymore.
Kits with metal cases are still available in the shop.


PreenFM2 / 1.00 : finally
« on: January 22, 2014, 12:02:45 AM »
Here is the next generation of the PFM2 firmware.

Last version : Version 1.00
Extract the zip. Put the bin file on your UsbStick beside the last one to be able to switch back quickly if needed.

New in 1.00
. fixed NRPN sent by LFO frequency
. more accurate value displayed when >= 10.0

New in 1.B13
merge from Patrick's git repository : - new arpegiator direction & option to have independent row for each of the 4 instruments (Tools>Set>Unlinked edit).
- Fix typo in Matrix target (mix3>mix4, pan3>pan4)
- Add a NRPN command to have the preenfm2 dump its preset through NRPN.

New in 1.B12
. Arpeggiator user pattern : enable arpegiator, after pattern 22 there are 4 user patterns you can edit in the following menu.  Thanks Patrick (pld) for this :-)
. Apeggiator values hidden when no arpeggiator.
. Fixed KSyn display value problem.
. CPU Optimisation thanks to Patrick tool.

New in 1.B11
. LFO.KSyn : change to 16s max. "INST + Encoder" is your friend.
. Renamed "LFO Env" => "Free Env", "LFO step" => "Step Seq"
. Fixed "Free Env1" release, that did not release when > 1.0.
. Fixed a small problem in the default presets.

New in 1.B10
. Sysex is back to store/share/upload presets. (one by one only). Din5 and USB midi supported.
. Negative values for performance.
. Fixed random missing note bug introduced in 1.B8.
. Fixed CC over USBMidi that could send 4 CC instead of 1 in some cases.

New in 1.B9
. Midi Program Change suported... Can be disable in Menu>tool>Set.
To select the bank :
Bank (CC#0), BankLSB (CC#32),
Bank=0 =>  BankLSB=Prenfm bank number
Bank=1 => BankLSB=Combo number
Bank=2 => BankLSB=DX7 bank 0->127
Bank=3 => BankLSB=DX7 bank 128->255

. IM2 doe not show up anymore with ALGO28

What new compare to 0.9p firmware :
. Arpeggiator per instrument : in engine sub pages.
. Effects : LP, HP, Bass, Mix : one slot per instrument : in engine sub pages under arpeggiator.
. IM per voice when modulated by velocity. New "v" value beside each IM.
. Smoother FM Algo. Accepts much higher IM value. More stable sounds. Chords cleaner. etc...
. Mixer : new & smoother mixing algo
. Screen saver for OLED screen (bootom of settings)
. Performance mode: Press "LFO + MENU" at the same time. Direct access to p1, p2, p3, p4 that are selectable in the matrix sources. And Modifiable through CC (115->118). For the moment, no preset use them. You'll have to create your own performance parameters with the Matrix.
. Settings are now saved in a text file. Hands editable and no more reset by new firmware.
. LFO Oscillator : Add "Off" to Ksyn
. Better DX7 import

PreenFM2 / FAQ
« on: January 01, 2014, 03:50:24 PM »
My display remains black when i turn on the preenfm2

Check that you removed the jumper JMP3, and turn it off and on again.

The encoders does not respond correctly

If you need 2 ticks to increase by one the value or if one tick increases by 2 the values, you need to change the encoder drivers.
In the menu (Menu > tools > set > "Rot. enc.") you can chose between 2 encoder drivers: 12 and 24.

Where are the last firmwares or other files to download

Here :

Should i use the overclocked firmware ?

I've never seen any problem with it, and you'll get a better sound specially when playing high notes. Sampling rate is 42000 instead of 38000Hz.
I don't feel comfortable flashing it by default because the STM32F4 is not supposed to run at 192Mhz.

My PreenFM does not boot (display full of square)

If it's stuck with the display full of square, the PreenFM2 cannot read your Usb Stick.
Be sure "/pfm2/" directory exists.
Try to reformat your USB stick and reinstall /pfm2/ on it (yes it was sufficient to several people).
If still no success, try an other stick. <=4Gb are more likely to work.

How do i enter the bootloader

Pressing a key when switching on the PreenFM.

The Midi over USB does not work / The Led is not flashing on midi clock beat

Must be enable in the settings.

Can i access USB drive without opening my PreenFM2

Yes you need bootloader 1.10+
The PreenFM2 registers to your computer as a mass storage and redirect all low level access to the USB stick.
Don't expect high bandwidth, but it works :-)

What are P1, P2 and P3 for ?

. P1 allows you to plug a st-link v2 debugger.
. P2 extension port  (removed from PCB R5)
. P3 analog input. CV you need the adcIn branch of the github repository :

Except P1, none of them is useful today, and i cannot guarantee they will be useful someday.

TroubleShooting / It does not work

You can start by reading this thread :
And verify the different points shown of message #6.

PreenFM2 / Sound Banks (Funkyfli bank is back for PreenFM2)
« on: December 13, 2013, 09:59:49 PM »

I got some working code that can read sysex from PreenFM1 (will be in next firmware).

With it i re-created 2 banks, the 128 sounds bank from Funkyfli and the 29 system presets from PreenFM1.
Both available on the download page :

The port is not perfect because of the very different way they compute values in the matrix.

Funkyfli, I just saw you have a PreenFM2 PCB, don't know if you have it working.
If you make any modification in your bank (PFM2 version) such as some stereo and some adjustement, let me know.


Pages: [1] 2