I was rather surprised by all the postings on how difficult it was to convert
4-OP patches to a 6-OP synth. Since I do it all the time by ear, I wondered if
I had some magic ability that I was using unconsciously. Then I read the post-
ings more carefully, and discovered that most of the posters had never tried
the conversion, didn't even have access to both a 4-OP and a 6-OP synth, and
were apparently speculating based on spec sheets and overheard conversations.
What a wonder is USENET; such wholesale production of conjecture from such a
trifling investment in fact.
Fact is, the conversion is pretty simple, if you know the basic tricks. Here
then, for the net's edification: a primer on converting 4-OP FM patches to a
6-OP synth. Since you probably want something more precise than the back-of-
the-envelope technique I usually use, I sat down and worked out formulas for
all the tough-to-guess parameters.
Caveats: All comparisons were done by ear, between a DX-100 (a DX-27 with a
mini keyboard) and a DX-7s. So if you have a TX-81Z, FB-01, or DX-21, please
think before you flame.
_______________________________________________________________________________
ALGORITHM: Use the obvious mappings. Two cautions: pay attention when copying
parameters, since you will probably be mapping operators 1/2/3/4 to 1/2/5/6.
More than once I copied half the parameters into operators 3 and 4, and the
others into 5 and 6. :-( Also, watch out where the feedback loop is.
FEEDBACK LEVEL: Same, although the 4-OP has slightly more "bite" at the same
level. That is, at FBL=7 the 4-OP has more "bite" than the 6-OP does at 7, but
the 4-OP at FBL=6 has less of a "bite" than the 6-OP at 7. You may want to try
adding 1 to the original FBL, and see how it sounds.
FREQ RATIO: Same. All of the 4-OP ratios can be achieved by a 6-OP synth. Of
course, the 6-OP synth should be set for Frequency(Ratio).
DETUNE: Same. Well, almost. 1,2,3 on the 4-OP really come out as 1.5, 2.5, 3.5
on the 6-OP, but it doesn't have those so you'll have to make do with 1,2,3.
Incidentally, I don't know about the old DX-7, but my DX7s is never in tune on
all keys with the DX-100. The variations are all less than 0.2 Hz, but quite
audible when you beat sinewaves together. Wasn't this what made the Minimoog
sound so good? :-)
OSC. WAVE: If you have a TX-81Z and this isn't set to 1, you get to lose. I'd
guess that as long as no more than two operators use a Wave other than 1, you
could come pretty close by using additional modulators. But I don't have a
TX-81Z, so I don't know. I'd want an oscilloscope for this.
ENVELOPE GENERATOR: The 4-OP synth gives you control over four rates (range 0
to 31 on the first three, 0 to 15 on the last) and one level (range 0 to 15).
The 6-OP gives you control over four rates and four levels, all range 0 to 99.
4-OP 6-OP
---- ----
AR corresponds to R1
D1R corresponds to R2
D2R corresponds to R3, which defaults to 0 on 4-OP and 99 on 6-OP
RR corresponds to R4
L1 must be set to 99
D1L corresponds to L2
L3 must be set to 0
L4 must be set to 0
To convert AR, D1R, and D2R to R1, R2, and R3, multiply by 3 and add 10. To
convert RR to R4, multiply by 6 and add 10. Yes, this doesn't quite work out
as you approach maximum; you'll have to fudge it a bit. A value of zero should
be set to zero, since this means an infinite time.
The relationship between D1L an L2 is audibly non-linear. Refer to the table:
D1L 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
L2 99 96 92 87 82 78 74 70 66 63 60 56 53 50 47 0
Any mapping except 15->99 may be as much as two steps too large; I was doing
the best my ears could manage.
OUTPUT LEVEL: Range 0 to 99 on both, but slightly offset. The 6-OP level is
equal to the 4-OP level plus 8. Yes, this means that 4-OP levels greater than
91 cannot be reproduced by the 6-OP synth. On a carrier, this is easy to deal
with; on a modulator, it is not. Some day I'll figure out how to do this with
another modulator. For now, you get to lose. Fortunately, none of the patches
I wanted to convert used a modulator Output Level greater than 90.
Of course, the Output Level of the unused operators should be set to 0.
KEYBOARD RATE SCALING: The 4-OP has a bit of rate scaling even when KRS=0. And
on the DX-100 (at least), rate scaling has discontinuities in it, which makes
it a tough call to get *exactly* the same. But this is close:
4-OP KRS 0 1 2 3
6-OP KRS 1 2 5 7
KEYBOARD LEVEL SCALING: Start by setting the 6-OP level scaling parameters as
follows: Break Point = A1; L-Curve = -LIN; R-Curve = -EXP; L-Depth = 0. Then
set the R-Depth to 90% of the 4-OP KLS. 99 becomes 90, 50 becomes 45, etc.
This is almost perfect, but not quite; I'd like to hear from anyone who has
refined it. I tried moving the break point and fiddling with the left curve;
it didn't sound any better, and was harder to program.
_______________________________________________________________________________
There you have it. Following these rules, I converted a variety of the factory
presets from my DX-100 to my DX-7s; the two were virtually indistinguishable.
Except that the DX-7s sounded much cleaner.
The LFO, AMS, PWS, AMD, PMD, velocity curve, and pitch envelope are left as an
exercise for the reader. :-) Seriously, I find most of the factory settings
for these pretty wretched, and they are easy to set by ear.