Author Topic: pfm2 : 2.21  (Read 160529 times)

Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 2260
    • View Profile
pfm2 : 2.21
« on: August 12, 2015, 09:34:51 PM »
Easiest way to upgrade is to follow step 1 & 2 here :
http://ixox.fr/preenfm2/preenfm/upgrade-firmware/

Latest firmwares and the bootloader are available from Github releases folder :
https://github.com/Ixox/preenfm2/releases

Latest version : 2.21

Unison
https://www.youtube.com/watch?v=glbPtXrX0Q0

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 :
https://github.com/Ixox/preenfm2/tree/master/flash
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.
http://ixox.fr/forum/index.php?topic=69220.0

2.06 : Fixes and CCs


. Fix a frequent missing note bug : http://ixox.fr/forum/index.php?topic=69198.msg71876
. 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*.
http://ixox.fr/forum/index.php?topic=69169.msg71645#msg71645

. 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 : http://ixox.fr/forum/index.php?topic=69162.0
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
http://ixox.fr/forum/index.php?topic=69170.0

. Last minute matrix source re-order
http://ixox.fr/forum/index.php?topic=69182.0

. Fix a problem that prevent the matrix target IM* from diminishing the velocity IMs.
http://ixox.fr/forum/index.php?topic=69184.0

. Breath aka "CC2" is now available as a matrix source
http://ixox.fr/forum/index.php?topic=69187.0



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

http://ixox.fr/forum/index.php?topic=63386.0
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.
http://ixox.fr/forum/index.php?topic=63506.0

2. Scala support / Microtunig

http://ixox.fr/forum/index.php?topic=63465.0
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 :
http://www.huygens-fokker.org/scala/downloads.html

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:
http://ixox.fr/forum/index.php?topic=63503.msg65516#msg65516
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.

http://ixox.fr/forum/index.php?topic=63501.msg65489#msg65489
Lies in LFO menu after the 3 LFOs.
« Last Edit: May 08, 2021, 05:09:05 PM by Xavier »

kuzma_p

  • Team Member
  • ***
  • Posts: 130
    • View Profile
Re: New firmware 1.07 beta 1
« Reply #1 on: August 13, 2015, 09:49:06 AM »
Wow! Gonna check it today.

SirPrimalform

  • Team member
  • *
  • Posts: 47
    • View Profile
Re: New firmware 1.07 beta 1
« Reply #2 on: August 14, 2015, 01:52:11 AM »
Just noticed this at almost 1am, so too late to try it right now but very cool! Thanks for implementing key scaling, and although I never popped into the discussion, I had been following the microtuning topic too. This was already a powerful synth, but it's just become even more powerful.

I'll check it out and give some feedback when I get time, especially the note scaling. If I understand correctly, we still use the matrix to route 'note' to whatever we want. The new page allows us to adjust the response of the 'note' source? Very cool and more versatile than my original suggestion which was specific to IM scaling by note (which I guess is somewhat analogous to filter key tracking).
« Last Edit: August 14, 2015, 01:55:06 AM by SirPrimalform »

kuzma_p

  • Team Member
  • ***
  • Posts: 130
    • View Profile
Re: New firmware 1.07 beta 1
« Reply #3 on: August 14, 2015, 10:34:40 AM »
Ok, i checked this a little yesterday. Gonna dig deeper today.
First of all. 1 and 2 are working, i didn't checked LFO phases yet.

1. I messed with this feature for a while. It works indeed. Sounds cool. Tried some exotic and not so exotic scales with Octatrack's overmodulated arpeggiator. PFM2 can sound like gamelan orchestra from Saturn now :D (especially with Note scaling it sounds super organic and natural) or everything can be slightly re-tuned, awesome. Gonna research further this feature and make some measurements in Mapping department, comparsions with other scala implementations etc.

2. This feature works too. I did not delved in details yet. Have to find sweet spots, gonna try this with basic operator setups and so on. But yes, you can get interesting results with this feature already.

Found a little problem, maybe it is my fault, will investigate today. It loads default patch now and doesn't save this setting after chaging it to Bank or Combo. After reboot it loads and shows 'Default' in settings again. Also could not get USB midi to work, maybe it is my fault too. Was pretty tired yesterday.

Gonna say PreenFM2 became even more awesome. Thank you Xavier!

clément

  • Team Member
  • **
  • Posts: 63
    • View Profile
    • http://clementmarion.be
Re: New firmware 1.07 beta 1
« Reply #4 on: August 14, 2015, 11:45:29 AM »
Oups, I wrote a short message yesterday but I guess I forgot to post it...
Anyways, I was just showing my enthusiasm and hope to experiment soon with those additions. :)

SirPrimalform

  • Team member
  • *
  • Posts: 47
    • View Profile
Re: New firmware 1.07 beta 1
« Reply #5 on: August 14, 2015, 06:33:54 PM »
(I think i'll multiply values by ten so that we can have rapid growing effect when playing upper notes without using maximum matrix multiplier.)

I agree with this, I found myself using the full range of the matrix and it still not being enough. That's assuming you're just planning on increasing it, if you already increased it then I say it wasn't enough!

Hmm, it seems like I'm not understanding the internal logic of the options quite right. I expected something like the breakpoint defining '0' and notes above it generating a positive output and notes below generating negative (except of course when it's set to flat).

Flat 64 Lin with a negative routing to IM* behaved as I would have expected, with notes below 64 being unaffected and notes above having their IM attenuated. But when I changed it to Lin 64 Lin, I found all the notes having their IM attenuated to some degree as if I had just moved the breakpoint all the way down. I would have expected something more like the notes below the breakpoint to have higher IM.

I guess I'm misunderstanding the thinking behind it. It seems like it always counts from 0 to 127* and the breakpoint just changes the point at which it changes angle or curve. Since there is no change when both are set to Lin, the breakpoint has no function. If it could be used to set the 0 point in that instance then it would function like a bias control and make it much easier to get and adjust modulation that would otherwise require a lot of fiddling of the original parameter to get right.

Say we're using this to scale IMs to get the bass end brighter and the top end softer (like a piano or something). The IM levels we have set are nice for the middle, with the break point moving the 0 we can easily set that to the right place. Without that, I'd have to increase the IMs to the right amount for the bass and then mess around with the note scaling to try and get it sounding right in the middle again.

I've never played one, but from what I understand the DX7 had both positive and negative linear and exponential settings. If there's room for the code that could be interesting, so you could have the modulation increase or decrease in both directions from the breakpoint.


Sorry for the rambling, I hope I've understood this correctly and that my suggestions aren't stupid for some reason that I've not noticed.
Thank you for adding this! I hope I don't seem ungrateful for making so many suggestions. I've already lost a few hours making interesting sounds (and revisiting ones I had been working on).




*or whatever form it actually outputs in, a float from 0 to 1?
« Last Edit: August 14, 2015, 06:41:11 PM by SirPrimalform »

Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 2260
    • View Profile
Re: New firmware 1.07 beta 1
« Reply #6 on: August 14, 2015, 10:08:42 PM »

Thanks all for your feedback and nice words  :)
And thanks for having pushed the Scala feature.
It was a very instersting development and i really like the idea that the preenfm2 can now play any scale.


kuzma_p, i'm not sure i understand you patch problem. Can you reproduce ?


SirPrimalform, i have to rework the "midi note scaling" so thanks for your remarks.
I wanted to have it coded for the beta but i haven't thought enough about it.
Having BrPonint set to 0 and then the curve positive or negative from there would be better.
I'll go for that. And FLAT, +LIN, + EXP, -LIN, -EXP for each part of the curv. Will be clearer.




SirPrimalform

  • Team member
  • *
  • Posts: 47
    • View Profile
Re: New firmware 1.07 beta 1
« Reply #7 on: August 15, 2015, 04:33:54 AM »
SirPrimalform, i have to rework the "midi note scaling" so thanks for your remarks.
I wanted to have it coded for the beta but i haven't thought enough about it.
Having BrPonint set to 0 and then the curve positive or negative from there would be better.
I'll go for that. And FLAT, +LIN, + EXP, -LIN, -EXP for each part of the curv. Will be clearer.

It would make an already versatile feature even more powerful. I guess to replicate the original 'note' behaviour (up to 1.06), you'd set both halves to linear and then move the keybreak all the way down? I was meaning to ask about that actually, is there a technical reason the keybreak is limited to values between 5 and 122? Is it just that you didn't think there'd be much point in setting it lower or higher than that?

Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 2260
    • View Profile
Re: New firmware 1.07 beta 1
« Reply #8 on: August 15, 2015, 09:13:51 AM »
Keybreak will be between 0 and 127 in Beta2 that i will upload later today.
Compatibiliy value:
Code: [Select]
Befo   Brk   After
"<ANY> 0    +Lin"
If brk is 0 "before curve" is not used.

This feature will definitely be usefull when used with IM* to limit the aliasing/digital noise in the high notes easily.

Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 2260
    • View Profile
Re: New firmware 1.07 beta 2
« Reply #9 on: August 15, 2015, 03:40:11 PM »
Beta 2 uploaded...
See first message of this thread.

kuzma_p

  • Team Member
  • ***
  • Posts: 130
    • View Profile
Re: New firmware 1.07 beta 2
« Reply #10 on: August 16, 2015, 11:05:03 AM »
Did not found overclocked version of fw. It is not so important for testing purposes though.

What i found strange is that it affects all voices at once. So when high note appears it also affects previous note's (which could be low for exaple) tail. I suspect same behaviour with lfo also. Looks like modulators work on not per-voice basis but affect globally on instrument level. So it sounds as not really polyphonic but paraphonic (like waldorf pulse 2 for example. You can use it's oscs in polyphonic fashion but everything goes through single filter).
Gonna test it further on 2 operator stack.
« Last Edit: August 16, 2015, 11:37:14 AM by kuzma_p »

Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 2260
    • View Profile
Re: New firmware 1.07 beta 2
« Reply #11 on: August 16, 2015, 11:58:12 AM »
Thanks for testing  :)
Yes the matrix part of the preenfm is paraphonic not polyphonic. It affects all voice of one instrument.
So this "Note" setting is mostly usefull with "Number of voice" set to 1, else it must be used carefully.

This is why i added the "v"  in the Engine>Modulation . "v" is for velocity and is independent per voice. So it allows different IM per voice depending on velocity.
Using "Velocity>IM" in the matrix will modify IM for all voices.

kuzma_p, glissant or anyone who works with scala files, could you give a short list of well none (or your favorite) scala scales so that i can add a few in the pfm2.zip file.
Thanks


kuzma_p

  • Team Member
  • ***
  • Posts: 130
    • View Profile
Re: New firmware 1.07 beta 2
« Reply #12 on: August 18, 2015, 10:58:07 AM »
I messed around with 1.07b2 and its features yesterday. Was interested to sequence its Instruments with Renoise again. Routed PFM2s outputs into 2 different chanels and added some ValhallaDSP reverbs and automated FreqEcho. Sequenced PFM2 with some randomized data :D And recorded this realtime. I forgot to switch soundcards input preamp to adequate level so there is some background noise since i amped everything in Renoise.

https://clyp.it/ubu0slxg

Have to say Note scaling is really useful for percussion (all percussion was made of one Instrument which was kick initially)

Xavier

  • Administrator
  • Hero Member
  • *
  • Posts: 2260
    • View Profile
Re: New firmware 1.07 beta 2
« Reply #13 on: August 18, 2015, 01:28:51 PM »
Thanks for sharing... Very nice sounding track !  :)
I just shared it on Facebook.
« Last Edit: August 18, 2015, 01:36:21 PM by Xavier »

kuzma_p

  • Team Member
  • ***
  • Posts: 130
    • View Profile
Re: New firmware 1.07 beta 2
« Reply #14 on: August 18, 2015, 11:54:40 PM »
Thanks!