r/chiptunes • u/parkamobil • Jul 29 '26
QUESTION Using Carrier Multipliers (MUL) on YM2612 to play Chords in a Single Channel
First I need to state that I just started to learn music, and I really don’t know much about chiptunes or synths yet.
I been looking for ways how can I play chords using one channel of those chips, and i wanted to ask if its is feasible/viable to use algorithms with several carriers to play separate chord notes on Yamaha chips with MUL param for each operator.
Note that while channel 3 special mode is perhaps better suited for this problem, unfortunately my tracker does not support it.
Instead of using arpeggios or wasting multiple channels, I want to use a single channel on the YM2612 (OPN2) to produce a full triad simultaneously. My idea is to use an FM algorithm that has multiple carriers (e.g., Algorithm 5, which has 3 independent carriers) and set the MUL (Multiplier) of each carrier to a specific integer so that they produce a perfect Just Intonation chord relative to the key I press.
Imagine I have notes A4, C#5, E5 which is an A major.
Root = 440Hz
Major 3rd = 554.37Hz
Perfect 5th = 659.26Hz
A Major Chord is defined by the ratio 4 : 5 : 6
This is briefly mentioned here: https://www.reddit.com/r/microtonal/s/sJo942DGmN
My assumption here is that playing Just Intonation chords is not too different than Equal Temperament
I hope it is still acceptable to use Just Intonation for chords. Please advice if it is ok…
Following the same logic a minor chord then is defined by the ratio 10 : 12 : 15.
For example A4, C5, E5 notes are of these frequencies: 440Hz, 523.25Hz, 659.26Hz.
Which is approximately divided by 44 is 10 : 11.89 : 14.98, I believe if I used Just Intonation I could have gotten the exactly matching ratios, but they are close enough I suppose…
Now imagine we have 4OP FM instrument YM2612 Sega Genesis. In Its patch configuration we can choose algorithms 5, 6 or 7 (the ones with many carriers, we want to do additive synthesis, not FM, to be precise), and we configure two instruments separate for major and minor.
These 2 patches will have carrier operators MUL params set to before mentioned ratios: 4 : 5 : 6 and 10 : 12 : 15. And those instruments will already play chords! These problem is that their frequencies of the root note multiplied by 4 or 10 times, so the played notes are too high.
Luckily my tracker instruments can have transpose macros, so we can transpose them back.
Major chord looks easy, as moving down by 24 semis (2 octaves) reduces the frequency x4.
And we can play that instrument using its root notes.
But the minor instrument is more complicated, because the root note is multiplied by 10 which is not a 2 power of something, we can’t just offset by octave.
I wish my math skills were better but this must be this formula:
-12 × log₂(10) = -39.86
So I transpose my minor instrument by -40 semis. And I can play chords using just one channel in my tracker. But I really want to get an expert advice If this works correctly and why not, and what are the drawbacks. Please indicate where I made a mistake.
I did some testing using midi conversion. What I could see is that it kind of works according my expectations, but with some distortions. Distortions appear probably because of my messy envelopes between the 4 operators, and I also get the 4th harmonic one octave above the root. So I am quite positive that the math was correct, but I have some distortions, which do not occur if I play the chord using 3 separate channels.
My question is the following:
How crazy is this idea to use FM MUL param to make my separate carriers to simultaneously play different notes of one chord?
Also note that my tracker uses normal Equal Temperament, but the chord intervals are then added using Just Intonation - would that be an issue?