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.