I am building an open source patch editor for the PreenFM2 in
Edisyn. Yes, I know that Xavier's already exists: but I'm building mine to ultimately do some interesting FM research. Plus reinventing the wheel is fun.
As I have been building it, I have discovered some documentation errors and one possible error in the standard patch editor; plus I have a number of questions I was hoping someone might clarify for me. Note that I am using version 2.0.0 of the PreenFM2 Editor (OS X), and Firmware 2.07 (and sadly, my brand new PreenFM2 is R5c, not R5d).
Here we go.
1. I am confused by the maximum number of voices. The documentation says:
Knowing that 48 operators can be played real time that means that maximum value of voices is :
. 14 voices for 3 operators algorithm
. 12 voices for 4 operators algorithm
. 8 voices for 6 operators algorithm
However, the NRPN documentation states that 16 voices is the maximum value. This would make sense as 16 * 3 = 48. But my playing with the PreenFM2 suggests that 14 is in fact the limit Could you clarify this?
2. Could you tell me what the full name is for the following shapes. Also, could you describe what they look like?
s^2 (or sine^2)
szer (or "Sine Zero")
spos (or "Sine Pos")
Also, "Off" is confusing. The patch editor assigns "Off" to NRPN value 7, but "Off" appears at position *0* in the PreenFM2 UI.
3. The current firmware permits 14 shapes including the user shapes and "off". But the NRPN documentation specifies only 8 shapes; and the patch editor only permits 8 shapes. Could you clarify this?
4. The max value of the Frequency is missing in the NRPN list. Is it 192? Also the max value of Fine Tune is also missing. Is it 200? Indeed, there are many missing max values and documentation which doesn't map numerical values to underlying meanings. I've done my best to figure out the mapping, but it's been slow going. It'd be nice if this was updated.
5. I am inexperienced in coding for FM: but in addition to ADSR, I have often found an initial delay to be a useful item in an envelope. I know that free envelope 2 has delay (which it calls "silence") -- but having it as an option in the operator envelopes would be nice.
6. Could you describe the following PreenFM Arpeggiator direction options? [I tried checking the MidiPal arpeggiator manual -- I think the PreenFM2 Arpeggiator may be based on MidiPal? -- but it only has up, down, random, and chord]. Specifically:
Rotate Up, Rotate Down, Rotate Up-Down
Shift Up, Shift Down, Shift Up-Down
[BTW, I wrote an arpeggiator for Gizmo, an arduino tool I built a while ago (
http://cs.gmu.edu/~sean/projects/gizmo/), and one thing I found more useful in the "Rand" direction was to try hard not to play the same not twice in a row; unless there's only one or two notes. I think it sounds better that way. Try it!]
7. There are three undocumented modulation sources in the modulation section.
Brth [Breath controller maybe?]
Seq 1 [mentioned later in Sequencer section]
Seq 2 [Likewise]
8. It appears that the PreenFM2 editor software is missing two modulation destinations which are on the machine: Dec* and O*Fh Is the first "All Operator Decays"? No idea what O*Fh would be. I think there might possibly be an error in the patch editor.
Also Dec*, O*Fh, and Gate are not documented in the manual. Can you tell me what they are in this context?
9. The LFO Shape NRPN row says its maximum value is 164. But there are only 5 shapes.
10. I think there are 339 LFO Frequency values, but it's not clear what the mapping is. Is Value 0 mapped to Frequency = 0.01? Etc. Similarly, what is the mapping for LFO Key Sync? Is 0=OFF, and 1=0.00, and 2=0.01, etc., up to 1601=16.00?
11. Is LFO Phase=1.00 the same thing as LFO Phase=0.00? [I presume phase=n means n/100*360 degrees]
12. The NRPN documentation says that step sequencer steps can be 0<=n<=16. I think this is supposed to say 0<=n<16?
13. Does "_" in the step sequencer mean 0 in the UI? Why not say "0"?
14. The patch editor has options for "Note1 Scaling" and "Note2 Scaling". But it appears that these are not documented on the NRPN web page.
15. The patch editor (and various locations in the manual) uses the French word "Enveloppe" rather than "Envelope".
16. [deleted -- I was wrong on this one]
17. At present the clickable encoders all go to the user parameters page. I am thinking about other uses for them in the GUI. For example, one possible use might be to reset their respective parameter back to its default value, or to the value prior to changing it. For example, if the BPM was 120 and I changed it to 170, clicking the encoder would change it back to 120 and clicking again would go back to 170.
18. The PreenFM2 manual states that the "The envelope of each operator has 8 parameters, copied from the DX7 enveloppe." In the DX7 operator envelope (see Page 15 of
this document) "Level 4" (what the PreenFM2 calls "Release Level") is the level at both the beginning and the end of the envelope. However in the PreenFM2 patch editor the Release Level effects only the end of the envelope. Either the statement in the manual is not quite correct, or there is a bug in the patch editor. Can anyone clue me in here? Additionally, perhaps it would be best if the patch editor's "sustain" was a horizontal line of some length (indicating sustain), as is common, rather than a single point.
19. It appears that the PreenFM2 dumps a number of NRPN parameters which do not correspond to any documented feature, perhaps as gap-fillers, though I'm not sure why. Just verifying that the following NRPN parameters do not correspond to anything:
14
15
36
37
38
39
119
123
127
131
135
139
143
147
151
155
159
163
199
190
191
194
195
203
207
20. Algorithms 14 and 9 are essentially the same. Similarly, 15 and 8 are the same. Why is this? I thought maybe it was compatibility with the DX7 algorithms, but they don't seem to line up.