preenfm Forum

PreenFM => preenfm2 and preenfm3 => Topic started by: Xavier on August 12, 2015, 09:34:51 PM

Title: pfm2 : 2.21
Post by: Xavier 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 (https://www.dropbox.com/s/bhbremvrde7su6b/pfm2_2.07.zip?dl=1)

. 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 (https://dl.dropboxusercontent.com/u/41654198/preenfm2/firmwares/pfm2_2.03.zip)

. more CC (http://ixox.fr/preenfm2/manual/midi/)
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 (https://dl.dropboxusercontent.com/u/41654198/preenfm2/firmwares/pfm2_2.02.zip)
. 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 (https://dl.dropboxusercontent.com/u/41654198/preenfm2/firmwares/pfm2_2.01.zip)

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 (http://ixox.fr/forum/index.php?topic=63505.msg65683#msg65683) 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.
Title: Re: New firmware 1.07 beta 1
Post by: kuzma_p on August 13, 2015, 09:49:06 AM
Wow! Gonna check it today.
Title: Re: New firmware 1.07 beta 1
Post by: SirPrimalform 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).
Title: Re: New firmware 1.07 beta 1
Post by: kuzma_p 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!
Title: Re: New firmware 1.07 beta 1
Post by: clément 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. :)
Title: Re: New firmware 1.07 beta 1
Post by: SirPrimalform 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?
Title: Re: New firmware 1.07 beta 1
Post by: Xavier 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.



Title: Re: New firmware 1.07 beta 1
Post by: SirPrimalform 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?
Title: Re: New firmware 1.07 beta 1
Post by: Xavier 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.
Title: Re: New firmware 1.07 beta 2
Post by: Xavier on August 15, 2015, 03:40:11 PM
Beta 2 uploaded...
See first message of this thread.
Title: Re: New firmware 1.07 beta 2
Post by: kuzma_p 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.
Title: Re: New firmware 1.07 beta 2
Post by: Xavier 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

Title: Re: New firmware 1.07 beta 2
Post by: kuzma_p 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)
Title: Re: New firmware 1.07 beta 2
Post by: Xavier on August 18, 2015, 01:28:51 PM
Thanks for sharing... Very nice sounding track !  :)
I just shared it on Facebook (https://www.facebook.com/PreenFM/posts/888389564547810).
Title: Re: New firmware 1.07 beta 2
Post by: kuzma_p on August 18, 2015, 11:54:40 PM
Thanks!
Title: Re: New firmware 1.07 beta 2
Post by: kuzma_p on August 19, 2015, 09:41:19 AM
By the way, if you want to dl this snippet for soundcloud demos set you can add .mp3 to the adress. I also saw a few new demos at soundcloud and they sound good.
Title: Re: New firmware 1.99c
Post by: Xavier on August 20, 2015, 07:25:01 PM

New firmware uploaded....
Thanks to those who can try it  :D
Title: Re: New beta firmware 1.99c (August 20th)
Post by: teevee on August 21, 2015, 08:40:44 AM
this is nice! :)
Title: Re: New beta firmware 1.99c (August 20th)
Post by: kuzma_p on August 21, 2015, 09:40:51 AM
Thank you very much Xavier!
Gonna test it during weekend.
Title: Re: New beta firmware 1.99c (August 20th)
Post by: clément on August 22, 2015, 03:37:40 PM
I got the time to play a bit around with the new Note Midi Scaling, that's really a huge plus for me!
So many patches I felt deserved a different balance depending where it would be played. I'm gonna try and edit a few of them now to see what happens.
Oh and great job on creating two of those :)
Title: Re: New firmware 1.99c
Post by: SirPrimalform on August 25, 2015, 04:58:08 PM

New firmware uploaded....
Thanks to those who can try it  :D

Oh wow! Just got back from a holiday so I was catching up on this thread and after reading the bit about the matrix being paraphonic I was going to ask what the behaviour was for the key tracking when playing chords (is it first note played, last note, highest or lowest?). But then I looked at the first post again and realised it had been updated... I was not expecting you to go and expand the matrix to polyphonic, but it's very much appreciated!

I'm just curious as I never actually used them, but why were the Att* and Rel* destinations removed? Is it just that something had to go and they were the least useful or is there a specific reason that they wouldn't work with the new version of the matrix?

Thanks again for the really cool updates.

EDIT: A hopefully small request, can the sample rate in the bitcrusher effect respond to the filter cutoff destination in the matrix so that we can modulate it with LFO, free envelope etc? I really enjoy the sound of sample-rate sweeps but I've just been doing them by hand while playing with the other hand.
At the moment the filter frequency destination doesn't seem to do anything if the bitcrusher is selected, so I don't think we'd be sacrificing anything.

Also a sort of related suggestion: When changing through FX, the values carry over from one to the next which has the unfortunate result of causing low amounts of bit-depth reduction = a high amount of screeching resonance and similarly a low amount of resonance = a large amount of crushing. One way around might be to invert the crushing parameter, so a low number means less reduction and a high number means more but I'm worried that that would break patches that use the crusher already (although it wouldn't be hard to fix them manually).
Title: Re: New beta firmware 1.99c (August 20th)
Post by: Xavier on August 26, 2015, 10:06:39 AM
Hi,

Thanks for the feedback.

Att* = All Operator attacks. Example : have a faster attack when velocity is high.
Rel* = All Operator releases.

I removed them temporarely for technical reason while refactoring. I found a solution to put them back.

Sample-rate sweeps ? never tried that. Good idea, i'll take a look to have it using the "Filter frequency" (that may become a "Filter parameter").

For the problem when changing the FX, yes moving around the parameters will break compatibility. I try to avoid that. Not sure it's worth the work.

Title: Re: New beta firmware 1.99c (August 20th)
Post by: SirPrimalform on August 26, 2015, 04:39:11 PM
Yes, I agree. It's not a good idea to break the compatibility! I just have to remember to put some bitcrushing on before changing to a resonant filter, I'll get used to it eventually.
Title: Re: New beta firmware 1.99c (August 20th)
Post by: Xavier on August 28, 2015, 10:53:57 AM

1.99c has some very sever bugs when using Instrument 2,3,4. Stick with instrument 1  ;)

I'll upload a new version very soon with many bug fixes.
For the info, i'm also working of an updated version of the PC/mac editor.

Best
Title: Re: New beta firmware 2.00 beta 1 (August 28th)
Post by: Xavier on August 28, 2015, 10:02:46 PM
Click to download beta firmware 2.00 Beta 1 (https://www.dropbox.com/s/7ve2chtdcuxi3iy/pfm2_2.00b1.zip?dl=0)

. Rel* at Att* matrix targets are back and Per voice :) Works fine with Velocity  source!
. polyphony fixed in instruments 2,3,4
. LFO phase now works when LFO freq is midi synced
. Optimization when LFOs or MAtrix rows are not used.
. Midi NRPN ready for editor
. Bit crusher optimization (it took a lot of CPU), "bits" param may sound different.
. Decreased max number of voices to 14.
Title: Re: New beta firmware 2.00 beta 1 (August 28th)
Post by: kuzma_p on August 31, 2015, 09:16:33 AM
Finally had a brief play with this beta and did not spotted any problem yet. Gonna jam with it more of course.
Thank you Xavier!.
Title: Re: New beta firmware 2.00 beta 1 (August 28th)
Post by: martindunne on September 01, 2015, 01:50:12 PM
absolutely awesome great work xavier
Title: Re: New beta firmware 2.00 beta 1 (August 28th)
Post by: norbim1 on September 03, 2015, 09:19:59 PM
Hi,

I upgraded my Discovery port with the new poly firmware, and it definitely sounds better then before! It's a Huge step I think. As I tested it, I noticed a small difference in an organ voice. I think, that the difference related to OP envelope. If I set both the sustain and release levels to zero, the release time has some effect on the sound, but I think it shouldn't have to be. Maybe it is a bug in my port, can somebody please check this on an original PreenFM2 hardware?

Thanks, Norbim

Title: Re: New beta firmware 2.00 beta 1 (August 28th)
Post by: SirPrimalform on September 03, 2015, 11:41:46 PM
. Decreased max number of voices to 14.

Small sacrifice for such an increase in functionality! BTW, I'm curious about the bitcrusher; is it using dithering at the low settings?
Title: Re: New beta firmware 2.00 beta 1 (August 28th)
Post by: Xavier on September 04, 2015, 09:19:09 AM
Hi,

I upgraded my Discovery port with the new poly firmware, and it definitely sounds better then before! It's a Huge step I think. As I tested it, I noticed a small difference in an organ voice. I think, that the difference related to OP envelope. If I set both the sustain and release levels to zero, the release time has some effect on the sound, but I think it shouldn't have to be. Maybe it is a bug in my port, can somebody please check this on an original PreenFM2 hardware?

Thanks, Norbim

That's interesting i modified slightly the enveloppes.

If the bootloader works on your the discovery port, it's very easy to change the firmware using the "flash from USB" option. "OP" button in the bootloader
Put both firmware (1.06 and 2.0b1) on the USB drive and you can switch from one to the other in 10 seconds.

Or can you save your patch in the  default combo : SAVE>DEFL>SAVE.
Use the bootloader to access the default combo on your USB drive (ENG button)  its "pfm2/DFLTCMBO.pfm".
Attach your patch in this thread. I'll give it a try.

Thanks
Title: Re: New beta firmware 2.00 beta 1 (August 28th)
Post by: Xavier on September 04, 2015, 09:25:33 AM
Small sacrifice for such an increase in functionality!

Thanks :)

BTW, I'm curious about the bitcrusher; is it using dithering at the low settings?

preenFM2 FX are very simple.
The code is opensource and the FX are in Timbre.cpp in fxAfterBlock function.

The Bitcrusher algo is this one :
http://www.musicdsp.org/archive.php?classid=4#139
No dithering, no interpolation...

Xavier
Title: Re: New beta firmware 2.00 beta 1 (August 28th)
Post by: kuzma_p on September 04, 2015, 10:26:00 AM
Heh, i noticed that envelopes were modified slightly, but there is no such behaviour like Norbim has.
Title: Re: New beta firmware 2.00 beta 1 (August 28th)
Post by: norbim1 on September 04, 2015, 10:27:57 AM
That's interesting i modified slightly the enveloppes.

Hi Xavier,

By further analyzing I realized, that it is now the correct behavior according the envelope time and level values! So the enhancement showed me, that there were wrong parameters in my sound, but it didn't turn out in earlier versions. So thanks a lot, it's way better than before!

By the way the bootloader works the same way as on original HW, I'm using the "Access Usb" - "flash from USB" method to upgrade the FW.

Norbim
Title: Re: New beta firmware 2.00 beta 1 (August 28th)
Post by: Xavier on September 04, 2015, 10:32:36 AM
Great.  :)
Thanks for the feedback norbim1 and kuzma_p.


Title: Re: New beta firmware 2.00 beta 1 (August 28th)
Post by: SirPrimalform on September 07, 2015, 09:25:53 PM
No dithering, no interpolation...

Ah good, the way a bitcrusher should be, full of artifacts! ;D
Title: Re: New beta firmware 2.00 beta 1 (August 28th)
Post by: JLagadec on September 11, 2015, 05:56:13 PM
Hi Xavier,

I found a bug on the page modulations (IM1, IM2, IM3, etc…). Once the value 10.0 is exceeded, encoders require 10 steps to advance one value.

Julien

edit: it’s normal, the screen can show only 3 digits.
Title: Re: New beta firmware 2.00 beta 1 (August 28th)
Post by: Xavier on September 11, 2015, 10:55:18 PM

Hi Julien,

Thanks for the feedback.
That's because one encoder step is 0.01 and after 10.0 values show up with only 1 digit after the comma which makes 10 encoder steps for one display step.
Turning the encoder modify the internal value even if the display does not reflect that.
Same problem with envelope time values.

I agree it would be more comfortable if the encoder step become 0.1 for value bigger than 10.

Xavier
Title: Re: New beta firmware 2.00 beta 1 (August 28th)
Post by: SirPrimalform on September 27, 2015, 06:24:36 PM
I agree it would be more comfortable if the encoder step become 0.1 for value bigger than 10.

Rather than lose resolution above 9.99, why display the just the 'tens' column in hexadecimal or something? So 9.99 - A.00, A.99 - B.00 etc.? I can't remember, is the maximum depth 16.0? If so I guess at the end it could go from F.99 to 16 or MAX or something.
Or if custom characters are possible on this screen, maybe some characters with two digits squashed together... not sure how possible that would be at this resolution though.
Title: Re: New beta firmware 2.00 beta 1 (August 28th)
Post by: martindunne on September 28, 2015, 01:57:25 PM
i dont think you lose real resolution its just the displays limitations
Title: Re: New beta firmware 2.00 beta 1 (August 28th)
Post by: SirPrimalform on September 28, 2015, 03:43:59 PM
i dont think you lose real resolution its just the displays limitations

Not at the moment, but look at the quote in my previous post. I interpreted that to mean Xavier was considering changing the resolution to 0.1 above 10.
Title: Re: New beta firmware 2.00 beta 1 (August 28th)
Post by: Xavier on September 28, 2015, 04:03:16 PM
i dont think you lose real resolution its just the displays limitations
Not at the moment, but look at the quote in my previous post. I interpreted that to mean Xavier was considering changing the resolution to 0.1 above 10.

Yes no resolution lost, only display limitation.

What is possible is to change the encoder tick step (from 0.01 to 0.1) for value above 10 .
A=>F for value 10=>16 is also possible.
Not sure i'll implement any of both though ;)

I have to check custom characters, but they are very limited and i already use several of them.
Title: Re: New beta firmware 2.00 beta 1 (August 28th)
Post by: SirPrimalform on September 28, 2015, 05:45:55 PM

Yes no resolution lost, only display limitation.

What is possible is to change the encoder tick step (from 0.01 to 0.1) for value above 10 .
A=>F for value 10=>16 is also possible.
Not sure i'll implement any of both though ;)

I have to check custom characters, but they are very limited and i already use several of them.

I might be misunderstanding, but if the tick was changed to 0.1 over values of 10 how would we get a modulation amount of say 10.04? It seems to me that we would be limited to multiples of 0.1, this is what I mean by loss of resolution. At the moment we can at least count the ticks to get values like 10.04. Apologies if I'm just misunderstanding.
Title: Re: New beta firmware 2.00 beta 1 (August 28th)
Post by: Xavier on September 29, 2015, 11:48:26 AM
I might be misunderstanding, but if the tick was changed to 0.1 over values of 10 how would we get a modulation amount of say 10.04? It seems to me that we would be limited to multiples of 0.1, this is what I mean by loss of resolution. At the moment we can at least count the ticks to get values like 10.04. Apologies if I'm just misunderstanding.

Right... 10.04 would be impossible from the preenfm2 itself.
But do you really hear a difference between 10, 10.04 and 10.1 ?

Anyway for the moment i won't change anything  ;)
Title: Re: New beta firmware 2.00 beta 1 (August 28th)
Post by: SirPrimalform on September 29, 2015, 06:49:05 PM
Right... 10.04 would be impossible from the preenfm2 itself.
But do you really hear a difference between 10, 10.04 and 10.1 ?

Anyway for the moment i won't change anything  ;)
Ah yes, this is what I meant by loss of resolution. And I think whether its audible depends on what you're modulating. If it's something like operator frequency modulated by an envelope, it might be quite audible.
Title: Re: New firmware 2.01 (October 10th)
Post by: Xavier on October 10, 2015, 11:15:14 PM
Firmware 2.01 uploaded  :)
See first message of this thread for more information.

Here are 2 examples that you have to copy on the preenfm2 USB drive in /pfm2/waveform/

Enjoy and don't hesitate to share your waveform and how you like it to be modulated.

Xavier
Title: Re: New firmware 2.01 (October 10th)
Post by: SirPrimalform on October 12, 2015, 12:19:45 AM
:O

I did not expect to see this any time soon. You are amazing!

I just need to figure out how to convert the waveforms into the right format. I've been additively generating them in Reaper and I can export in 32-bit or 64-bit FP wav at the right number of samples, it's just how to get that into the text format.
I'll have to try and write a little script to do it or something next weekend. Too late to start messing with that on sunday night!
Title: Re: New firmware 2.01 (October 10th)
Post by: kuzma_p on October 12, 2015, 09:14:03 AM
 :D
Yeah, awesome. Gonna wrap my head now how to get txt with values from Renoise's sample editor using LUA
Title: Re: New firmware 2.01 (October 10th)
Post by: clément on October 12, 2015, 10:01:18 PM
Bravo Xavier!
With my recent moving between houses I didn't finish to install my music making space yet, but I can't wait to get back to the PreenFM :)
Title: Re: New firmware 2.01 (October 10th)
Post by: kuzma_p on October 13, 2015, 08:50:40 AM
Xavier, does usr*.txt should have specific format? I tried to make my own waveforms by converting Adventure Kid ones and didn't had any success with them. PFM2 shows broken up name with pseudographic symbol instead of first glyph, osc remains silent.
Here is an example.

Your waveforms work just fine.
Title: Re: New firmware 2.01 (October 10th)
Post by: Xavier on October 13, 2015, 10:00:04 AM
Yes, i described the format in the first message of this thread as well as in the newly updated doc - "2. Operator / Shape" :
http://ixox.fr/preenfm2/manual/synth-edit-mode/

600 is not a power of 2 ;)
As the preenfm2 does not interpolate between sample i suggest to use 1024 samples if possible for better sound quality.

If a non power of 2 is found, a '#' overwrite the first caracter of your name and the sample is not loaded.


Xavier
Title: Re: New firmware 2.01 (October 10th)
Post by: kuzma_p on October 13, 2015, 10:03:18 AM
Ah, i see now. Thanks!
Title: Re: New firmware 2.01 (October 10th)
Post by: clément on October 13, 2015, 06:03:18 PM
Ah yes! I'm using those Adventure Kids waveforms in Ableton, looking forward to try them within the PreenFM2!
Title: Re: New firmware 2.01 (October 10th)
Post by: Xavier on October 13, 2015, 06:18:59 PM
I didn't know those waveforms. They seem to be all 600 samples.

Seems like we need a firmware 2.02 that would accept any number of samples in the waveform text files.
Title: Re: New firmware 2.01 (October 10th)
Post by: kuzma_p on October 13, 2015, 08:35:37 PM
This could be cool but this can also introduce some artefacts i guess. Anyways some vocal AKWFs usage can sound interesting being modulated or vice versa.
I made some waveforms.
1 approximisation of TX81z waveform 7 - sounds pretty close
2 approximisation of TX81z waveform 5 - same here
3 generated phase distorted sine
4 approximisation of TX81z waveform 8 - has extra hifreq but sounds close too -- i guess TX's lookup tables have less detalisation
Title: Re: New firmware 2.01 (October 10th)
Post by: kuzma_p on October 13, 2015, 08:37:58 PM
5 symmetrically mirrored AKWF voice wf to reach 1024 samples
6 same
Title: Re: New firmware 2.01 (October 10th)
Post by: kuzma_p on October 13, 2015, 08:42:50 PM
This man helped me:
http://forum.renoise.com/index.php/topic/45777-newbie-question-how-to-parse-waveform-as-text-data/#entry337514
I also used this tool to generate waveforms
http://forum.renoise.com/index.php/topic/41563-new-tool-30-selection-shaper/?hl=waveform#entry314300

FYI Renoise has fully functioning demo so you can install this tools and use only Renoise's sample editor. You should read some manuals though.
Title: Re: New firmware 2.01 (October 10th)
Post by: kuzma_p on October 13, 2015, 09:39:19 PM
https://goo.gl/photos/jWdCotrcUHwqF68b7
Got this while tweaking patch with 3 custom waves.

They sound amazing!
Title: Re: New firmware 2.01 (October 10th)
Post by: Xavier on October 13, 2015, 10:22:35 PM

Thanks for the feedback and bug report.
Will take a look.
Title: Re: New firmware 2.01 (October 10th)
Post by: kuzma_p on October 13, 2015, 10:38:55 PM
Carrier's? pitch starts to drift when you modulate it with my custom waveforms 1, 3, 4 and tweak IM with rest waves pitch stays static.
Title: Re: New firmware 2.01 (October 10th)
Post by: Xavier on October 13, 2015, 10:44:00 PM
Carrier's? pitch starts to drift when you modulate it with my custom waveforms 1, 3, 4 and tweak IM with rest waves pitch stays static.

I think it's because your waveform are not "centered" the average sample is not 0.
I'm working on a 2.02 which will do a bit more processing on the user text files. Waveform will be centered and normalized.

Title: Re: New firmware 2.01 (October 10th)
Post by: Xavier on October 13, 2015, 10:52:24 PM
Kuzma_p, can you try the attached firmware ?

Let me know if it fixes the pitch problem.
It's also able to load 600 (or any) samples waveform such as the one you posted first. It sounds great BTW :)

And please report if it crashes.

Thanks



[attachment deleted by admin]
Title: Re: New firmware 2.01 (October 10th)
Post by: Xavier on October 13, 2015, 10:59:09 PM
Oh... and don't forget to delete you usr#.bin files once you installed 2.02 so that they are recreated with the new interpolation/normalization algorithm.
Title: Re: New firmware 2.01 (October 10th)
Post by: kuzma_p on October 14, 2015, 09:09:52 AM
Great. Gonna check it today, at the evening.
Title: Re: New firmware 2.01 (October 10th)
Post by: kuzma_p on October 14, 2015, 08:45:31 PM
I messed with this fw a bit and didn't spotted any problem yet.
Gonna test further now.
Title: Re: New firmware 2.01 (October 10th)
Post by: solipsvs on October 15, 2015, 09:25:15 AM
LFO Phase kicks major butt!  Thank you sir!  I dont know if you realize what you have unleashed...  Im so excited wheeee!!  ;D

this is my favorite fm synth evar!

(any chance of getting them on the modulation destination list?)
Title: Re: New firmware 2.01 (October 10th)
Post by: kuzma_p on October 15, 2015, 02:56:34 PM
2.02 did not crashed yet. Gonna go on with more complex patches though.
Title: Re: New firmware 2.01 (October 10th)
Post by: kuzma_p on October 15, 2015, 03:20:14 PM
i guess TX's lookup tables have less detalisation

FYI: By the way, i was wrong here.

Quote
It turns out that the sine is 4096 samples per period as well
https://www.gearslutz.com/board/9790791-post252.html
Title: Re: New firmware 2.01 (October 10th)
Post by: kuzma_p on October 15, 2015, 04:16:20 PM
Also, while patching yesterday i've reached interesting sound territories i've never heard from any FM/PM/PD synths before. PFM2 sounded like some additive/spectral generator — amazing. Gonna try to recreate and record this next time.
Title: Re: New firmware 2.01 (October 10th)
Post by: Xavier on October 15, 2015, 04:38:05 PM
Thanks for all the feedback  :)

As no major problem occured, I'm going to make this 2.02 official.
Title: Re: New firmware 2.02 (October 14th)
Post by: norbim1 on October 15, 2015, 08:32:49 PM
Cool! Push to Git please. I can't wait to try it.
Title: Re: New firmware 2.02 (October 14th)
Post by: Xavier on October 15, 2015, 09:19:57 PM

Just pushed 2.02 to git.
https://github.com/Ixox/preenFM2
Title: Re: New firmware 2.01 (October 10th)
Post by: SirPrimalform on October 17, 2015, 05:43:13 PM
Carrier's? pitch starts to drift when you modulate it with my custom waveforms 1, 3, 4 and tweak IM with rest waves pitch stays static.

Sounds like a DC offset. Try processing it with some kind of DC kill process in your favourite wave editor before parsing it to text? I've been making a 'semi-modular' FM synth in Reaper's Jesusonic scripting language and ran into this when using real FM (it supports both true FM like the Preen and PM like the Yamaha 'FM' synths).

EDIT: Ah, I see Xavier has already built offset removal into the import code.

Xavier, does the new import code interpolate short waveforms up to 1024 or use them as is?
Title: Re: New firmware 2.02 (October 14th)
Post by: Xavier on October 17, 2015, 06:30:32 PM

The preenFM engine needs a "power of 2" number of samples. The goal of this interpolation is to make it accept any size of waveform.

If your number of sample is a power of 2 (32, 64, 128, 256, 512, 1024), there is no interpolation.

For the rest it interpolates to the closer bigger power of 2.
Source between 33 & 63 => processed waveform will contain 64 samples.
Source between 65 & 127 => processed waveform will contain 128 samples
...
Source between 513 & 1023 => processed waveform will contain 1024 samples

Just realilzed that in 2.02 waveform smaller than 32 are not accepted.  ::)
Title: Re: New firmware 2.02 (October 14th)
Post by: SirPrimalform on October 18, 2015, 06:14:07 AM

The preenFM engine needs a "power of 2" number of samples. The goal of this interpolation is to make it accept any size of waveform.

If your number of sample is a power of 2 (32, 64, 128, 256, 512, 1024), there is no interpolation.

For the rest it interpolates to the closer bigger power of 2.
Source between 33 & 63 => processed waveform will contain 64 samples.
Source between 65 & 127 => processed waveform will contain 128 samples
...
Source between 513 & 1023 => processed waveform will contain 1024 samples

Just realilzed that in 2.02 waveform smaller than 32 are not accepted.  ::)

Aha, I expected something like that. :)
I just wasn't sure whether you changed the engine to accept non-powers of two or just added some processing to the import code. The latter seemed more likely, thanks for the confirmation.
Is it a bad thing that waveforms less than 32 are not accepted? I would think that such an undetailed wave would produce a lot of aliasing, but maybe that's what some people want.
Actually, a bitcrushed (NES style) triangle wave might produce interesting (and nasty) results when used for an FM operator...
Title: Re: New firmware 2.02 (October 14th)
Post by: Xavier on October 18, 2015, 09:38:57 AM
Is it a bad thing that waveforms less than 32 are not accepted? I would think that such an undetailed wave would produce a lot of aliasing, but maybe that's what some people want.
Actually, a bitcrushed (NES style) triangle wave might produce interesting (and nasty) results when used for an FM operator...

I'll eventually add back the waveform with less than 32 samples.
But in the meantime, just copy and past each sample values in your text file to reach 32 samples. Should take you 1 minute  ;)
Title: Re: New firmware 2.01 (October 10th)
Post by: dimifrag on October 18, 2015, 09:43:31 PM
Firmware 2.01 uploaded  :)
See first message of this thread for more information.

Here are 2 examples that you have to copy on the preenfm2 USB drive in /pfm2/waveform/

Enjoy and don't hesitate to share your waveform and how you like it to be modulated.

Xavier

Thanks for the sawD :D
Title: Re: New firmware 2.02 (October 14th)
Post by: SirPrimalform on October 20, 2015, 01:00:39 AM
Is it a bad thing that waveforms less than 32 are not accepted? I would think that such an undetailed wave would produce a lot of aliasing, but maybe that's what some people want.
Actually, a bitcrushed (NES style) triangle wave might produce interesting (and nasty) results when used for an FM operator...

I'll eventually add back the waveform with less than 32 samples.
But in the meantime, just copy and past each sample values in your text file to reach 32 samples. Should take you 1 minute  ;)

As I was saying, I think 32 is a pretty reasonable lower limit. Nice to know there's a work around for those that need it though.
Title: Re: New firmware 2.02 (October 14th)
Post by: dimifrag on November 16, 2015, 11:39:21 AM
how can i create a txt file from waveform in macosx????
Title: Re: New firmware 2.02 (October 14th)
Post by: Xavier on January 17, 2016, 11:04:57 AM
how can i create a txt file from waveform in macosx????

Sorry for the late reply, did not have the time to make the research.
But Jarvis just replied with a solution and i split his message in its own thread.
http://ixox.fr/forum/index.php?topic=63539.0
Title: Re: New firmware 2.02 (October 14th)
Post by: dimifrag on January 27, 2016, 12:17:19 PM
No problem Xavier, i'm happy to have and work with something DIY and fully Customized. I'm sure in the community can help each other :)
Title: Re: New firmware 2.02 (October 14th)
Post by: Xavier on January 28, 2016, 11:00:19 AM

"Firmware compilation" jarilo's message split in its own Thread bellow.

Xavier
Title: Re: New firmware 2.02 (October 14th)
Post by: clément on March 01, 2016, 04:55:27 PM
Hey, I'm just passing by as in the last few days I got back to making more music and play with my PreenFM2.
The new custom waveforms option is marvellous!
Title: Re: New firmware 2.03 (May 8th 2016)
Post by: Xavier on May 08, 2016, 11:46:14 PM

2.03 is a small update but can be usefull for people who control the preenfm2 with CC.

Best,

Xavier
Title: Re: New firmware 2.03 (May 8th 2016)
Post by: solipsvs on May 10, 2016, 11:13:51 PM
very nice!  this is all i needed lol...  thank you very much xavier!

edit:  amazing fun!  ill let you know when i have something worth showing off but this opened this synth up for amazing wobbles and the like.  thanks again!
Title: Re: New firmware 2.05 (September 14th 2016)
Post by: Xavier on September 14, 2016, 10:45:00 PM
2.05 is available for download. See first post.
It's worth upgrading  ;)
Title: Re: New firmware 2.06 (October 13th 2016)
Post by: Xavier on October 13, 2016, 07:30:36 PM

An annoying missing midi note bug was introduced in 2.05.
Please upgrade to 2.06.
See first post for more details.
Title: Re: New firmware 2.06 (October 13th 2016)
Post by: kuzma_p on October 20, 2016, 11:11:32 AM
While automating ARP's CCs i got this at first:
https://goo.gl/photos/Y2wdrh6i9zchvYys9

And then this:
https://goo.gl/photos/n1QTZz26cPrky5d47
Title: Re: New firmware 2.06 (October 13th 2016)
Post by: Xavier on October 20, 2016, 07:17:22 PM

Automating from a Daw ?
Did you record and replay or did you draw the CC directly ?

Seems like you sent out of range values for the automation...
Title: Re: New firmware 2.06 (October 13th 2016)
Post by: kuzma_p on October 20, 2016, 11:04:29 PM
I sent some pre-recorded (with p-locks in case of Octatrack) random knob twiddlings from Octatrack.


Seems like you sent out of range values for the automation...


Seems so...
Title: Re: New firmware 2.07 (December 16th 2016)
Post by: Xavier on December 16, 2016, 09:25:13 PM
2.07 is available for download. See first post.
Mtx1-4 matrix destination problem fixed.
Title: Re: New firmware 2.07 (December 16th 2016)
Post by: fourhexagons on March 29, 2017, 01:32:51 AM
Heads up: the link to firmware 2.07 (in the first post) is broken.
Title: Re: New firmware 2.07 (December 16th 2016)
Post by: Xavier on March 29, 2017, 04:15:21 PM
Thanks. It's fixed now.
Dropbox recently changed the way we have to share files, which created lots of dead links...
Title: Re: New firmware 2.07 (December 16th 2016)
Post by: falfa on May 24, 2017, 12:22:21 AM
Yay, new firmware, I missed it. Great, I love this :-)
Title: Re: New firmware 2.08 beta 1 (Octobre 15th 2017)
Post by: Xavier on October 15, 2017, 09:10:53 PM
I've just uploaded a 2.08 beta 1 firmware. See first message of this thread.
It's beta because it may contain bugs, if you find one, please report.
Thanks  :)
Title: Re: October 22th 2017 - 2.08 beta 2 : LFO Freq up to 99.9 Hz + small fixes
Post by: estragon on October 23, 2017, 01:04:39 AM
The 3rd one is something i wanted to add for a long time.
3. multi edit
There's a new combo button+encoder:
Modifying some value while pressing the left middle button (button 3 from this picture (http://ixox.fr/preenfm2/manual/synth-edit-mode/preenfmmain/#main)) will modify  other values at the same time :
IM : modifying any modulation index (or v) will edit all IM (or all v) at the same time.
Mix : modifying any mix will change all mix.
Pan : modifying any pan will change all pans.
The most interesting one is for the enveloppe :
If you modify any of the 8 enveloppe parameters while pressing this button, it will modify the other enveloppes of the same operator type in the current algo : all carriers or all modulators.
Exemple with ALGO 15 (http://ixox.fr/preenfm2/algorithms/algo15/#main)
If you press button 3 while modifying enveloppe of operator 1 (or 3) it will modify 1 & 3 at the  same time.
If you press button 3 while modifying enveloppe of operator 2 (or 4 or 5 or 6) it will modify 2,4,5 & 6 at the same time.
An other example :  Modifying attk of op1 (which is always a carrier operator) while pressing 3 will always modify the attk of the sound because all carriers attk will be modified :)
Should make editing easier.
Lies in LFO menu after the 3 LFOs.

This is great! Just wondering if it would be possible to assign these to a CC value or mod matrix slot - it would be great to control the attack of all modulators with a single CC from my sequencer, for example.
Title: Re: October 22th 2017 - 2.08 beta 2 : LFO Freq up to 99.9 Hz + small fixes
Post by: Xavier on October 23, 2017, 10:02:11 PM
This is great! Just wondering if it would be possible to assign these to a CC value or mod matrix slot - it would be great to control the attack of all modulators with a single CC from my sequencer, for example.

I agree something was missing. CC added in 2.08b3.
See first message of this thread.
Title: October 24th 2017 - 2.08 beta 4
Post by: Xavier on October 24, 2017, 09:20:42 PM
This is great! Just wondering if it would be possible to assign these to a CC value or mod matrix slot - it would be great to control the attack of all modulators with a single CC from my sequencer, for example.

And beta4 adds the matrix slots  :)

Title: Re: October 24th 2017 - 2.08 beta 4
Post by: bigsofty on October 24, 2017, 09:51:26 PM
Great support Xavier!  ;)
Title: Re: October 24th 2017 - 2.08 beta 4
Post by: keston on November 01, 2017, 04:48:04 AM
Excited to try this, especially the new LFO frequency range! Well done, and thanks, Xavier!
Title: Re: October 24th 2017 - 2.08 beta 4
Post by: solipsvs on November 01, 2017, 11:02:13 PM
i tried flashing b4 and its broken.  went back to 8.07
Title: Re: October 24th 2017 - 2.08 beta 4
Post by: Xavier on November 01, 2017, 11:21:43 PM
i tried flashing b4 and its broken.  went back to 8.07

Did you "right click + save as" from github ?
You should not do that, just click on the firmware then click download.
It works.
Title: Re: October 24th 2017 - 2.08 beta 4
Post by: solipsvs on November 01, 2017, 11:32:04 PM
indeed it does, thank you sir!
Title: Re: November 5th 2017 -> 2.08
Post by: Xavier on November 05, 2017, 08:57:23 PM

Just uploaded the final 2.08 firmware.
Only a NRPN / Stepsequencer bug fix since 2.08b4.
Title: Re: November 5th 2017 -> 2.08
Post by: solipsvs on November 08, 2017, 06:58:09 AM
just curious, where did the extra cpu come from that we can now have such fast lfos?
Title: Re: November 5th 2017 -> 2.08
Post by: Xavier on November 08, 2017, 09:20:08 AM
just curious, where did the extra cpu come from that we can now have such fast lfos?

That does not use more CPU.
What ever the LFO frequency is, LFOs are updated every 32 samples : ~1200 times per seconds.

In theory with 1200 update per seconds, you should be able to go up to 600Hz.
If semeone wants to experience, it's now a simple constant to modify in the code :
https://github.com/Ixox/preenfm2/blob/master/src/synth/Common.h#L158

Title: Re: November 5th 2017 -> 2.08
Post by: lokki on November 08, 2017, 09:26:14 AM
but how high can the ui go? do i loose resolution if i choose higher frequency range? or can the ui display values above 99.9? can the preset save values to 600.0?

Title: Re: November 5th 2017 -> 2.08
Post by: Xavier on November 08, 2017, 02:08:53 PM
but how high can the ui go? do i loose resolution if i choose higher frequency range? or can the ui display values above 99.9? can the preset save values to 600.0?

The display maybe a bit weird after 100.0, but everything should work.
The UI also uses the same define.

The only thing is that your midi clock synchronised value will be after the last available frequency. it means that if you save presets with "MC" (or MC/2 or MC*2 etc....) frequency, they won't be "MC" anymore after the change.
Title: Re: November 5th 2017 -> 2.08
Post by: lokki on November 08, 2017, 02:54:37 PM
ok, thanks for the clarification. i will implement the maximum then and try it out :-)

on a related note, do you plan to update the 8voices/mono firmware as well? otherwise i will try to merge it.

for future development it could be nice to have this #ifdef'd so one can build the 4timbres or 8timbres version from the same source.

and last question, the fx section would be great with an added delay and/or reverb, i think computationally it should be doable, the main question is how large the buffers can be, what is the maximum-size of the firmware? is there much more room for variables?

thanks for all your hard work, really outstanding to have such support!!
Title: Re: November 5th 2017 -> 2.08
Post by: matrix12x on November 10, 2017, 12:21:06 AM
I think a simple delay or reverb would be awesome, but I always thought they took a good amount of memory.
Title: Re: November 5th 2017 -> 2.08
Post by: Xavier on November 10, 2017, 08:38:44 PM

I think i remember there's 60Ko of RAM free on the preenfm2.
That's 30Ko per channel (stereo).
Each float takes 4 bytes to store so that's 7500 samples, at 40.000Hz your delay can be 0.18 second long... Could be a chorus maybe.

I don't know to much how a reverb algo works, but i assume the CPU usage will be big.

Title: Re: November 5th 2017 -> 2.08
Post by: lokki on November 11, 2017, 12:29:24 AM
hmm ok. so long delay is out of sight :-)

free verb seems doable, and it sounds very nice especially for synth sounds:

https://ccrma.stanford.edu/~jos/pasp/Freeverb.html it uses comb filters and allpassfilters.



Title: Re: November 5th 2017 -> 2.08
Post by: SirPrimalform on November 14, 2017, 03:14:20 PM

I think i remember there's 60Ko of RAM free on the preenfm2.
That's 30Ko per channel (stereo).
Each float takes 4 bytes to store so that's 7500 samples, at 40.000Hz your delay can be 0.18 second long... Could be a chorus maybe.

I don't know to much how a reverb algo works, but i assume the CPU usage will be big.

You could double the length by using 16bit fixed point for the delay, double again if you made it mono. Maybe not worth it since it would still be super short. Chorus/flange would be fun though.
Title: Re: November 5th 2017 -> 2.08
Post by: SirPrimalform on November 14, 2017, 03:15:50 PM
hmm ok. so long delay is out of sight :-)

free verb seems doable, and it sounds very nice especially for synth sounds:

https://ccrma.stanford.edu/~jos/pasp/Freeverb.html it uses comb filters and allpassfilters.

What's the sum of all the delays used for the combs and allpasses?
Title: Re: November 5th 2017 -> 2.08
Post by: chaocrator on November 19, 2017, 01:07:42 PM
on a related note, do you plan to update the 8voices/mono firmware as well? otherwise i will try to merge it.

interested too.
unfortunately, i did not have enough time to test previous 8-timbral beta (and still don't), but since i use PreenFM2 mailnly as the drum/percussion synth, this is very important for me.

for future development it could be nice to have this #ifdef'd so one can build the 4timbres or 8timbres version from the same source.
+1 (again).
Title: Re: Latest firmware : 2.08a
Post by: lokki on November 19, 2017, 11:35:01 PM
find the 8timbres version of 2.08a in the 8timbres thread...
Title: Re: Latest firmware : 2.08a
Post by: Xavier on November 20, 2017, 08:04:24 AM
find the 8timbres version of 2.08a in the 8timbres thread...

Here : http://ixox.fr/forum/index.php?topic=69332.msg72660#msg72660
 ;)
Title: Re: Latest firmware : 2.08a
Post by: chaocrator on November 20, 2017, 09:02:20 AM
cool! flashed it, seems to be working.
i still don't know yet when i'll have enough time to test it properly, but thanks a lot anyway.
Title: Re: Latest firmware : 2.08a
Post by: lokki on November 20, 2017, 02:08:21 PM
xavier,

with the recent activity in the firmware i think it would be a good time to implement the combo settings page after i4 (i8 respectively  ;) )

did you do any thinking in that direction? as i said before i think most crucial settings will be:
midi channel for each instrument
midi offset, transpose +-48 semitones all incoming midi on an instrument
Title: Re: Latest firmware : 2.08a
Post by: Xavier on November 20, 2017, 09:10:47 PM
xavier,
with the recent activity in the firmware i think it would be a good time to implement the combo settings page after i4 (i8 respectively  ;) )
did you do any thinking in that direction? as i said before i think most crucial settings will be:
midi channel for each instrument
midi offset, transpose +-48 semitones all incoming midi on an instrument

I thought about this and i thought it makes the UI more complicated and less consistent.
Title: Re: Latest firmware : 2.08a
Post by: lokki on November 20, 2017, 10:02:48 PM
ok fair enough. i get that. so there must be some other way  8)
i will think about it...
Title: Re: Latest firmware : 2.08a
Post by: lokki on November 20, 2017, 10:46:23 PM
what about pressing the inst button and pressing an encoder down, or inst and menu?
Title: Re: Latest firmware : 2.08a
Post by: Xavier on November 20, 2017, 11:08:43 PM
what about pressing the inst button and pressing an encoder down, or inst and menu?

Maybe you said it, i don't remember.
But why do yout think it's a good idea to have the midi channel in the preset ?
Don't you have your synth/sound module with a dedicated midi channel each ?
Title: Re: Latest firmware : 2.08a
Post by: lokki on November 20, 2017, 11:27:24 PM
well, with the 8timbres version of the firmware that feature is not so pressing to me, since i can have 8channels in each preset.
but let's assume we are on the 4timbres version...
for live performances i have a controller that can send on 8 channels, since i never use them all on one preset (and since the channels represent different modes of the controller) it would be nice to switch the channels with the combo-presets. that way i can send a program change to the preenfm and all is adjusted for the next song/part whatever. reaching down to the preenfm and adjusting in the menu is of course no option :-)

but more importantly now (with the 8timbres version) is actually the offset of midi notes to me. so that i can play treble parts and bass parts on the same controller. let's say i1 has a bass part and i2 has a melody part loaded. i can then play both on my controller but i cannot switch octaves on the controller so fast. if i could adjust an offset for i2 i would set it to +24 and all incoming midi on i2 would be 2 octaves higher.

these two features (midi channel and offset) are very common on many multitimbral synths, and are usually part of the combo/multi preset, hence my suggestions. i'm simply used to that workflow and the preenfm would integrate much smoother into my setup... :-)

thanks for taking the time
Title: Re: Latest firmware : 2.08a
Post by: chaocrator on November 21, 2017, 08:45:12 AM
but more importantly now (with the 8timbres version) is actually the offset of midi notes to me. so that i can play treble parts and bass parts on the same controller. let's say i1 has a bass part and i2 has a melody part loaded. i can then play both on my controller but i cannot switch octaves on the controller so fast. if i could adjust an offset for i2 i would set it to +24 and all incoming midi on i2 would be 2 octaves higher.
as for me, the best option would be keeping transpose value for an instrument somewhere in the preset if necessary, but leaving MIDI channels settings independent of used presets/combos. (this is how my Novation Nova handles this stuff, and i love it.)
Title: Re: Latest firmware : 2.08a
Post by: lokki on November 21, 2017, 08:51:14 AM
yeah i could live with that :) with 8timbres, i have everything i could wish for...

so the question remains how and where one could implement that transpose/offset? i think the combo preset would be a better place then the sound preset, because one may want to use the same sound in different combos. otoh if it is easier to implement in the sound presets, than that is ok as well. might as well save two versions of the same sound with different offset/transpose settings. but i think xavier is hesitant to change the preset file structure, because it will "break" all existing patches. so it should be easier to do in the combo file..
Title: Re: Latest firmware : 2.08b (2018 April 1st)
Post by: Xavier on April 02, 2018, 05:29:41 PM

2.08b fixes a bug that could be annoying.
http://ixox.fr/forum/index.php?topic=63505.0

Xavier
Title: Re: Latest firmware : 2.08b (2018 April 1st)
Post by: mzero on April 02, 2018, 09:27:47 PM
The release on github is tagged incorrectly: 2.08b tag points to the same commit as 2.08a
Title: Re: Latest firmware : 2.08b (2018 April 1st)
Post by: Xavier on April 02, 2018, 09:34:20 PM

Oops... right.
I created the release before pushing my modification.
The binary was correct though.

Anyway, i created a 2.08b2 tag for the release.

Thanks :)
Title: Re: Latest firmware : 2.09 (2018 October 28th)
Post by: Xavier on October 28, 2018, 08:26:21 AM
Latest version 2.09 :
This version fixes several annoying bugs that occured while using the editor or while controlling the preenfm2 from an external midi controller.

Latest firmwares and the bootloader are available from Github release folder:
https://github.com/Ixox/preenfm2/releases
Title: Re: Latest firmware : 2.09 (2018 October 28th)
Post by: alexchm on December 05, 2018, 12:51:13 AM
nice upgrade, no more crashes! (for the moment, at least  ;D)
but like lokki said, it'd be cool to have the option to save combos with different midi channels, that way you can change the combo and have all instruments on same midi ch. for stacked, combo 2 to have each instrument on it's own channel etc. this way would integrate better with a sequencer that sends program changes. and when you make a new combo, let's say, every instrument is set as default (like you have it in settings) but with the ability to change that fast, not having to go each time in settings (i made some percussion patches, would love to use it as a drum machine sometimes). also, to have the option to save the performance parameters in the combos, and maybe a revert option for the encoders, and i can sell my soul to the.. no, actually i can sell my tx81z and other stuff, this is one of those little things with huge potential. Cheers!
Title: Re: Latest firmware : 2.09 (2018 October 28th)
Post by: alexchm on December 11, 2018, 12:35:02 AM
Came to report that nothing happens when i send a nrpn with parameter 16383, my controller doesnt receive any dump. tried max/min values from 0 to 127 in all combinations. Or is that function for usb only?

Edit: works now, nrpn has to be sent in absolute 14 bit, i had to use custom output command to my Dump button
Title: Re: Latest firmware : 2.09 (2018 October 28th)
Post by: Xavier on December 12, 2018, 08:42:38 AM
Hi,

Maybe in some (rare) case having midi channel in combo would be usefull but i'm sure i'll have much more problems with people reporting it stops working because they don't send the midi channel of the combo.

Regarding the FLUSH it's used all the time by the plugin, so i think it works. The flush is done whatever the nrpn value is.
https://github.com/Ixox/preenfm2/blob/master/src/midi/MidiDecoder.cpp#L753?ts=4
No it's not for USB only, should work with DIN5 midi.

Xavier
Title: Re: Latest firmware : 2.09 (2018 October 28th)
Post by: chaocrator on December 31, 2018, 07:46:26 AM
i want to try a couple of minor tweaks.

README.md in firmware source says:

Quote
To compile the firmware, you'll need [arm-gcc version 4.7] (https://launchpad.net/gcc-arm-embedded/+milestone/4.7-2012-q4-major)

will other (e.g. 5.x) versions of arm-gcc work, or is it just untested?
Title: Re: Latest firmware : 2.09 (2018 October 28th)
Post by: Xavier on December 31, 2018, 12:59:52 PM

I think i wanted to upgrade a long time ago to a more recent version, and it just didn't compile.
As it worked well with 4.7 i sticked with this release.

Also i updated the README to the latest 4.7 version which is the one i use today.
https://launchpad.net/gcc-arm-embedded/+milestone/4.7-2014-q2-update
Title: Re: Latest firmware : 2.09 (2018 October 28th)
Post by: don_sook on April 19, 2019, 12:05:17 AM
Hey, Xavier

Thanks for the firmware update. When would we expect the next one?

I would love to have more destinations in the modulation matrix. Some which come to mind:

Thanks for all your work on this :)
Title: Re: Latest firmware : 2.09 (2018 October 28th)
Post by: Xavier on May 04, 2019, 09:02:22 PM
Thanks for the suggestions.

Algorithm and oscillator shape controled by matrix would lead to audio glitch (in a bad way such as digital "click") , so i don't think it's a good idea to have it as part of the "out of the box" engine.
Triggering the enveloppe with other LFO value is not easy.

And i admit having all free envelope parameters would be cool  ;)

Title: Re: Latest firmware : 2.10 (2019 june 13th)
Post by: Xavier on June 13, 2019, 11:09:17 PM

A little new release 2.10 is available :
https://github.com/Ixox/preenfm2/releases
Title: Re: Latest firmware : 2.10 (2019 june 13th)
Post by: audiowanderer on June 23, 2019, 01:17:31 PM
Just checked the latest firmware and goes pretty sweet.
I had some problems saving and accessing via usb cable to the usb stick with the 2.08b and now those problems are gone.
Great job.
Title: Re: Latest firmware : 2.10 (2019 june 13th)
Post by: kyoto on June 24, 2019, 09:54:31 PM
Xavier, thnx very much for your work and great fm maschine ;)

is it possible to build in the firmware new options please:
1) master tune parameter with range for example (428 - 450 Hz)?
2) different types of LP filter (12db/18db/24db)
3) more user waves for operators (now the default is only 6)
4) Do you plan to add to the preenfm2 editor work with banks of sounds and patches?


Title: Re: Latest firmware : 2.10 (2019 june 13th)
Post by: Xavier on June 25, 2019, 08:03:55 AM
Hi thanks for the nice words and thanks for the suggestions.

I'm afraid the replies to your questions are :

1. Yes but you can already do that with the scala file (not ideal i agree).
http://www.huygens-fokker.org/scala/scl_format.html
I think someone already made a custom firmware with this. I would need to merge it.

2. I don't think i'll ever do that. But who knows. FM synthesis should not rely on filters ;) even it's it's a good to have.

3. No it's limited by the memory of the preenfm2 which is already full.

4. No, that would be too much work.
Title: Re: Latest firmware : 2.10 (2019 june 13th)
Post by: kyoto on June 25, 2019, 09:41:20 AM
1) a little awkward  ::)
i saw on other topic custom extended firmware from lokki, his firmware has master tune parameter, but only with range 435 to 444.
http://ixox.fr/forum/index.php?topic=69326.msg72771#msg72771
I need a lower mastertune frequency, since I work with live musicians who tune their instruments for eample in 428hz and 432hz

2) the LP filter that is now in the firmware 2.10 sounds very dirty

it's easy to hear:
reduce the resonance parameter to zero
and gradually reduce the filter parameter
I hear that resonance still affects the sound

I understand that the filter is not the main thing that should decorate this synthesizer  ;)
but sometimes when creating patches of high frequencies there is a lot of and I would like to soften the sound a bit
I don't want to use external filters or vst plug-ins for this, I would like to have a good LP filter in the synthesizer itself  ;)

3) so we store user waves on the external storage, and there is enough space for storage

4) I hope in some of the releases you will do work with banks / patches

thanks anyway for the work done!
Title: Re: Latest firmware : 2.10 (2019 june 13th)
Post by: Xavier on June 26, 2019, 01:30:41 PM
Thanks for your interest ;)

2) I'm sure the LP filter is not very good as it's a simple formula (CPU light) i found on the web. A better one would be heavier and could unlikely be handled by the preenfm2 CPU without sacrifying some voices.
Writting good filter algorithms requires time and skills i don't have.
But if you find some opensource interesting ones, i can take a look.

3) All waveforms must loaded in RAM at runtime, so that the CPU can access them efficiently. RAM is much faster than Flash storage.
The RAM (192kb) is quite full. UserWaveform takes 24kb of them.



Xavier
Title: Re: Latest firmware : 2.10 (2019 june 13th)
Post by: Toltekradiation on August 03, 2019, 04:04:31 PM
hi!
I would also love to have some more filter flavour on the pfm2 , so here is what i found :

a biquad implementation, in C, with LPF,  HPF,  BPF, NOTCH, PEQ, LSH,  HSH
https://www.musicdsp.org/en/latest/Filters/64-biquad-c-code.html

a 3 band equalizer
https://www.musicdsp.org/en/latest/Filters/236-3-band-equaliser.html

a moog ladder lightweight approximation, with lp, bp, hp output :
this one may be really great, even in 1 or 2 pole mode : mixing the 3 output may be also interesting...
https://www.musicdsp.org/en/latest/Filters/145-stilson-s-moog-filter-code.html

finger crossed  :D
Title: Re: Latest firmware : 2.10 (2019 june 13th)
Post by: Xavier on August 04, 2019, 10:53:57 AM

Thanks a lot for these interesting links.

I doubt any of them would fit the required low CPU usage.
Once the preenfm plays 8 voices of 6 ops algos, the CPU left i very small.

It would also takes time (i don't currenly have) to implement them.

If anyone wants to give a try, i can guide you through the code files.
Title: Re: Latest firmware : 2.10 (2019 june 13th)
Post by: Toltekradiation on August 04, 2019, 09:40:35 PM
ok, thanks, i may try it myself ; i found the filter code part in the git repo. I'm not particularly fluent in C but it seem doable, so we'll see. I'll let you know if i come across something interesting.
cheers !
Title: Re: Latest firmware : 2.10 (2019 june 13th)
Post by: kyoto on August 13, 2019, 08:34:59 PM
to Toltekradiation - wow - great ideas - I look forward to and I hope you succeed ;)
Hooray
Title: Maybe pitch-wheel bug/glitch in Latest firmware : 2.10 (2019 june 13th)
Post by: SMF on August 14, 2019, 10:49:44 AM
Hi,

I'm not too sure of this one but could it be that I found a bug/glitch in the pitch-wheel-processing of 2.10? Pitch-bend-messages seem to be not followed in the full range.

What I expected:
Midi-Pitch-wheel-Messages are followed in the range of +/- 8191 values.

What I found:
Midi-Pitch-wheel-Messages are followed in  the range of (aprox.) +/- 1280 values.
There is some uncertainty in this value -- therefore the "approx." -- because I have tested this from within a DAW and "by ear" until there was no audible change any more.

How to reproduce:
Create patch mapping pitch-bend to all-osc-freq (or all-osc-freq-harm) and create a pitch-bend-transition with your favourite DAW in the range of +/-8191.

best,
Stefan
Title: Re: Latest firmware : 2.11 (2020 Jan 11th)
Post by: vurt on March 26, 2020, 09:13:20 PM
i would love to use my own lfo shapes, would that be simple to implement?

ohhh yes, that'd be really nice.
Title: Re: Latest firmware : 2.12 (2020 August 21st)
Post by: Xavier on August 21, 2020, 03:04:38 PM

Using your own lfo would be a bit long to implement.

But i published a new official 2.12 firmware :
https://github.com/Ixox/preenfm2/releases
Title: Re: pfm2 : 2.20
Post by: Xavier on October 27, 2020, 09:27:52 AM

24 bits Dac of new PCB are officialy part of the firmware.
Firmware 2.20 uploaded.
https://github.com/Ixox/preenfm2/releases
Title: Re: pfm2 : 2.20
Post by: baxgas on November 13, 2020, 05:49:18 PM
Hi Xavier!

Thanks for this great project, and glad to see it is improving also, now with preenfm3! :-)

Is it possible to have a per-channel Mixer setting also for the preenfm2, where the volume/pan settings can be made globally for the selected Channel, and not per Operator? As for the pan setting, it could hard-pan the Channel making it easier to make a Left-Right Audio Out split to two mono channels. And it should stay globally, so the newly loaded sounds don't change it.
As there are 4 knobs, there could be a place also for some other Performance settings, maybe the MIDI channel, and also for some select CC-number (just quick ideas, maybe there could be some even more meaningful settings)

Bests,
Gas
Title: Re: pfm2 : 2.20
Post by: solipsvs on November 16, 2020, 07:30:31 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.

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!
Title: Re: pfm2 : 2.20
Post by: Xavier on November 16, 2020, 09:42:20 PM
Is it possible to have a per-channel Mixer setting also for the preenfm2, where the volume/pan settings can be made globally for the selected Channel, and not per Operator? As for the pan setting, it could hard-pan the Channel making it easier to make a Left-Right Audio Out split to two mono channels. And it should stay globally, so the newly loaded sounds don't change it.

The preenfm2 respond to midi CC10 to pan an instrument. It's not reset when you load a new preset.

I don't have plan to add a mixer section, as the preenfm2 really works per instrument.
But adding a shortcut (button + enoder) to modify the panning should be easy.
Title: Re: pfm2 : 2.20
Post by: Xavier on November 18, 2020, 09:32:12 AM
Unison discussion has been moved to its own thread :
http://ixox.fr/forum/index.php?topic=69726.0
Title: Re: pfm2 : 2.20
Post by: Xavier on December 18, 2020, 06:45:27 AM
@Rotur, your post has been moved here :
http://ixox.fr/forum/index.php?topic=69756.0
Title: Re: pfm2 : 2.20
Post by: vurt on February 02, 2021, 10:08:34 AM
In the filter section, would it be possible to add a mixer which just makes the audio louder (like x2 or even x3)? I like it when i can make all patches in around the same volume. It's possible to do that, but then i have to turn down the volume down to perhaps half on most patches, and then full volume on the few patches that gets really quiet (maybe they have more than 1 voice or use waveforms which isn't as loud as some, then they get very quiet). 

I find that many of the filters will also make the volume go down a ton, which often makes me not want to use them at all since the overall volume will just be too low. It often also seems to kill the low end completely.  I  often use just 1 voice which gets the volume up for the patch, when using several voices the volume is lowered by perhaps 50% for some reason.

The "Bass" filter is the one filter which is most useful i think, it does seem to make the volume go up by perhaps 15% or so, so its somewhat useful for that (and some patches does sound good with more bass too). I also get the feeling that the filter reacts as if the signal is going in to the filter is bit too hot, at least it's how it can sometimes sound (i obviously don't know how this really works in software). 
Title: Re: pfm2 : 2.20
Post by: Xavier on February 02, 2021, 08:19:08 PM
In the filter section, would it be possible to add a mixer which just makes the audio louder (like x2 or even x3)?

There's a gain in all filters. The gain is applied before the filter, so you can lower it if the filter saturates.
It's often the case with LP and high resonnance.

The gain goes up to 2.0 (2x).
It's difficult to use high filter gain when you have a filter selected, but for the 2 first choices (None and Mix) it should be OK.

yes, a Mix section is lacking in the pfm2.
Title: Re: pfm2 : 2.20
Post by: vurt on February 03, 2021, 07:21:56 AM
ok, good to know!
Title: Re: pfm2 : 2.20
Post by: superfake on February 12, 2021, 05:11:09 PM
Hi Xavier!
Hmm ... While collecting patches in the bank, I discovered a strange thing ...
The patches that were created on the old firmware from Toltekradiation using filters and effects such as LPx1/2, TXR1/2, ROT and others are loaded and use these filters, although they are not in firmware 2.20. Moreover, you can switch the types of effects, where all the old effects will be and they work. :o But once you reach the last filter on the list, all old filters disappear.
That is, in firmware 2.20, all these filters are present, but hidden?
Is it possible to make them always active? All of them could give quite interesting colors in sound design.
Otherwise, I'm in some confusion while collecting the bank ... is it worth leaving the old effects in presets?  ::)
Title: Re: pfm2 : 2.20
Post by: Xavier on February 12, 2021, 09:19:30 PM
That is, in firmware 2.20, all these filters are present, but hidden?
Is it possible to make them always active? All of them could give quite interesting colors in sound design.
Otherwise, I'm in some confusion while collecting the bank ... is it worth leaving the old effects in presets?  ::)

That's exactly how it works.

They are present bug hidden.
In addition some of them may have a different position in the list, so the filter can be different in Toltekradiation firmware and in 2.20.
They are available from the Editor also.

I'm ready to spend a little time to have some new banks :)
So let me know if you need help. I can have a look and adapt locally the editor to convert the filter numbers if you have problems.

Title: Re: pfm2 : 2.21
Post by: bambrose on March 26, 2021, 12:41:21 PM
Superb Thank you :)
Great Update
Title: Re: pfm2 : 2.21
Post by: vurt on September 14, 2022, 10:37:34 AM
I use this FW
p2_cv_2.21.bin

i've noticed for quite a while that Save is buggy.

Before i could use save as "Def" and it would start with this sound, that no longer works.

Recently I tried saving as Combo and now it will always start with Combo, no matter if save as Def.

Would be awesome if that could be fixed.. I know it's probably not high priority.. Or maybe even a bug on my end, i don't know.
Title: Re: pfm2 : 2.21
Post by: Xavier on September 22, 2022, 10:12:03 PM
I'm not sure what you're doing.
I just gave a quick try and it works as expected (i think).

Save>Defl>Save  save the current combo (4 presets) and loads it when booting.
Save>Defl>Clear delete the default combo file and then it starts with the "preen mk2" preset on 4 instruments.

If you see weird behaviour, backup your USBKey asap.
And try an other one (or remformat it and copy back the files).