BIT-101
Bill Gates touched my MacBook Pro
I count myself as an M8 noob (and, let’s face it, a music noob too), but the best way for me to learn is to write as if I’m explaining something to someone else. Occasionally someone else might actually wander along and learn something too. Bonus!
There are a few ways to create chords on the M8.
Using multiple tracks is pretty straighforward. It does use up tracks, but you can always bounce them down to a sample once you have a sound you like. Of course, if you make any changes you have to go back to the source and re-bounce. Using this method, you can also use samples as voices for the chord, which isn’t possible in any other method that I know of.
The MacroSyn modules do chords, but I haven’t found any in depth documentation for them (even the original Braids documentation is not super helpful). It’s probably worth digging into more, or trying to find more on this. Wav Paraphonic seems very powerful.
The HyperSyn instrument is amazing. Super easy to create multiple chords and easy to select one for any given note. I’ve used it a lot. But after a while, it just starts to sound the same. You have six intervals, each of which is composed of two saw waves that can be detuned. Plus a square sub bass. There’s probably a lot more I could dive into, but I haven’t really managed to pull out a lot of variety from this one. Saws will be saws.
Which brings us to the FM Synth solution. This is a well known route, but I started exploring it recently and found some pretty good tricks. It’s especially useful since version 5 of the M8 firmware, which adds wavetables to the voices you can choose in the instrument.
A lot of this is pretty obvious and has been used and documented well by others. But I think I’ve been able to work out a few tricks that someone might find useful.
Basically, we’re using the FM Synth instrument as not-an-FM-synth. Just four different independent voices. So choose the last algorithm, A+B+C+D
.
Next, set each operator to the same voice. Let’s try saw for all of them and see if we can replicate the HyperSyn sound.
With four operators, we can create a 7th chord. A major 7th would have hex intervals of 00
, 04
, 07
, 0B
. We’ll enter those with mods. Leave the RATIO
s and LEV/FB
s all at the default. For operators B
, C
and D
, create pitch mods for mod 1, 2 and 3. i.e. 1>PIT
etc.
Then below that set MOD1
, MOD2
and MOD3
to 04
, 07
, and 0B
. Operator A
will not be modded, so it will get the root tone. Everything should look like this now:
If you play a note with that instrument now, you should hear a decent major 7th chord.
You can set up a HyperSyn instrument that will be almost identical like so:
If you play these two one after the other, you’ll find they sound pretty close.
Not 100% the same, but pretty damn close. They’re two different synth engines, so there will be differences.
Of course, we don’t want to hard code the specific chord we’re using. So remove the 04
, 07
, 0B
from the mods on the instrument screen. And set the table tick (TBL. TIC
) to 0 so the instrument screens looks like this:
Then let’s go into the table for the instrument and create the mods there. In addition to the major 7th, we can create a minor 7th. This is 00
, 03
, 07
, 0A
. Again, we only need do to the last three.
We’ll use THO
(table hop) to select which chord to play. But we only want it to play one chord per triggered note, which is why we set table tic to 00. This causes the table to only advance on a new note.
Now let’s set a chord progression, the classic I, V, vi, IV. In C major that will be C, G, A minor, F.
On each note we use a THO
to set it to the major or minor chord.
If we slow down the tempo to 50 bpm, we get this:
Cool, but all we’ve really done here is partially reproduce the HyperSyn. A lot more is possible.
As mentioned earlier, version 5 of the M8 firmware lets you use one of 61 different wavetables for each operator. And each wavetable contains 256 different waves. So… yeah, there’s some variety to be had there. 15,616 different sounds - for starters.
First, let’s set each one of the operators to use the same wavetable. I’m choosing W0F
, but you do you.
Now, to choose which wave to use, we use the feedback (FBK
) parameter.
So, set FBK
of each operator to FF
. And add a mod do each one: 4>FBK
.
Play the song again, and as it plays, move MOD4
up and down slowly. You’ll hear a wide varity of sounds, from lush to harsh to bells to muted to mellow. And that’s just with one of the wavetables.
By the way, if you’re wondering why I set FBK
to FF
for each operator, my post from the other week might help: https://bit-101.com/blog/posts/2025-04-06/m8-fm-wavetable-modulation/ In short, that value sets the maximum feedback. The MOD4
value chooses a value from 0 to that maximum. So if we want to choose among all the wave forms, we set FBK
to FF
(255).
Right now every operator is using the exact same wave form. You can go totally wild and choose an entirely different wavetable for each operator. That might get a little chaotic though - like four different instruments playing a chord. But if you find something that works, go for it.
For a little more subtle effect, just change the FF
on each operator to something slightly different. This changes the maximum of the range you are choosing waves from, so that each operator’s wave will be a little bit offset instead of all being the same. Even something like F9
, FB
, FD
, FF
can make enough of an offset to give each operator a different wave, making a slightly richer sound overall.
Also, try modulating MOD4
with an LFO. I’d suggest keeping the LFO depth (AMT
) very low, like under 10, or making the LFO speed very low (i.e. setting FREQ
high). Otherwise you’ll be ripping through a ton of different waves too fast. But again, if that’s what you want, do it. But a low depth, fast LFO gives a kind of vibrato, a higher depth, low speed, gives an evolving texture change. Great for drones or other long, drawn out chords.
Naturally, play with filters, amps, limiters, chorus, delay and reverb, and anything else you can think of.
In this demo, I only set up a major 7th and minor 7th. But you can add whatever chords you want - augmented, diminished, suspended, inversions, etc. Just trigger them with a THO
to the right row.
One thing I haven’t figured out a perfect solution for is how to have triads and four-note chords in the same instrument. For a triad, you’d want to set operator D
’s level to 0. But the only way to do dynamically that is with a mod. And we’re plumb out of mods.
There are two solutions I’ve thought of. One is to just have two instruments. One with only three operators playing - for triads, and another with all four - for 7ths or whatever.
Another solution is for your triads, just set operator D
s mod to one of the other notes, either 00
, 04
, or 07
(for a major chord). This does make one note of the chord louder than the other two though. So for now I’m just going the separate instrument route. If anyone has any other ideas I haven’t thought of, let me know.
In parting, here’s a track I did while figuring all this out. The main chords that lead off the tune are created exactly as described in this article. I think they sound pretty good.
Comments? Best way to shout at me is on Mastodon