Offline
egr wrote:

@kometbomb -- been meaning to say that if you want me to change the title of this thread to something more descriptive or helpful just let me know, i'm adding some updated screenshots etc to the first post right now

It is ok, thanks. The most important thing is that the catometer is visible!

Ok, so FM: harmonics sets the frequency multiplier to a preset value, I just randomly put some values in there, on the OPL there are multipliers such as 0.5, 1, 2-10, 12, 15, that translate to some interesting scales. Though, on the OPL you can also set the multiplier for the carrier as well so I think my implementation misses some harmonics (e.g. put carrier to x5 and modulator to x7), so I need to add some more fractional values (now there only are multipliers for 0.125, 0.25 and 0.5, i.e. three octaves down, two octaves down and one octave down).

Please do tell if you can't make some kind of sound that was possible on the OPL chips, I hardly have any experience with them. I am not sure if you can get that bell-like sound that's a very charateristic FM sound. Interestingly, if you modulate a triangle carrier with the triangle modulator, it sounds like sync modulation due to the modulator sort of stopping and starting the carrier, because it goes either up at full speed or down at full speed.

The modulator simply modulates the oscillator frequency (or rather oscillator phase), so you can use the multiple waveform selection thing with it. Though, LFSR isn't compatible with phase modulation so it is not touched at all (that also means noise). But IMO sinewaves are the only way to fly!

Offline
Tokyo, Japan

Right, I have spent a bit of time with this and I am getting used to it. First point, thanks SO much for adding in FM, its awesome fun. A few observations,

- You can have wav 00 modulate wav 00 which is pretty cool!

- The modulator volume seems to get very lour by about 25, anything above that isn't that musically useful. I seem to remember the opl3 modulator volume being a bit more gentle and subtle.

- The names are a bit confusing if you are used to yamaha FM terminology. If you wanted to be a bit clearer you could rename a couple of things

FM -> FM Modulation
MOD - VOL
Harmonics - MULT

Might be a bit clearer?

- Feedback is a bit strange but I can't identify exactly what seems strange.

- Instrument screen is getting pretty confusing!

But basically SUPER happy to have FM, thanks a lot.

Edit - We have basic bell sounds,

Turn off all osc and sound generators. Generate a sine wave on wav 00 and 01.

Set wave 01 as the carrier, set the harmonic to 7, mod to about 0A and the DEC on both to about 8 and we have cheesy FM bells!

Offline

Suggestions make sense, I like the new terms more since they fit in with the other terms in the editor.

Feedback probably doesn't work in a useful way currently (has to do with the wavetable loop lengths and how that affects the feedback overflowing and starting to loop the waveform causing that nice distortion).

I think I have to change the MULT param a bit, so that you can specify the ratio, i.e. you have two params that alter the carrier multiplier and the modulator multiplier. There will be way too many values in the table to get the possible combinations otherwise.

Offline
Tokyo, Japan

TBH I don't think you need a multiplier for the carrier? I don;t think I have seen FM with mult on the carrier before, might be over complex?

The OPL3 mult values are     0.5    1    2    3    4    5    6    7    8    9    10    10    12    12    15    15 for what its worth.

Also Feedback seems like black magic to me, I know in general terms how to use it to adjust the sound in the rough way I want it to but I really don't understand it in any kind of detail....

Offline

Well, the OPL has a multiplier on all oscillators, modulator or not. Mathematically it is the same to have a CARRIER:MODULATOR ratio of like 3:1 and a modulator frequency of 0.333 * CARRIER. But my reasoning is that if you only multiply the frequency it gives you a stabler waveform (100 % my own speculation) since there is no rounding involved in the maths when you only multiply by whole numbers. Honestly, though, it might be overkill because the oscillators already have lots of accuracy and who cares if the oscillators eventually go out of sync after a minute of playing the same note...

The best part of feedback is the black magic! IMO it was very smart to include that in the chip.

Offline
Tokyo, Japan

Awesome, I am trying to do a little track with a few "classic" FM sounds just to practice a little. I have found a couple of bugs though not related to FM

1 - ctrl 1 doesn't seem to set the note jump to 1. ctrl plus any other number works as expected though.
2 - Muting ch 1 on the pattern editor with the cursor in any other channel will prevent sound from playing in the instrument editor. EG, put the cursor in ch2, play sounds, everything sounds fine, mute ch1, playing notes in ch2 still works fine, switch to the instrument editor and sounds no longer play.

Offline
Tokyo, Japan

Quick loop with some of those sounds

https://drive.google.com/file/d/0B9-_b5 … sp=sharing

Offline
Sweden
Lazerbeat wrote:

TBH I don't think you need a multiplier for the carrier? I don;t think I have seen FM with mult on the carrier before, might be over complex?

Disagreed! Among other things carrier multiplier is great for deep organ sounds. Like, really modern, housey donk organ basses. smile

I'll try building for Linux later as I haven't heard any of this yet.

Offline
United States
boomlinde wrote:
Lazerbeat wrote:

TBH I don't think you need a multiplier for the carrier? I don;t think I have seen FM with mult on the carrier before, might be over complex?

Disagreed! Among other things carrier multiplier is great for deep organ sounds. Like, really modern, housey donk organ basses. smile

I'll try building for Linux later as I haven't heard any of this yet.

You can download nightly source...?

Offline
Sweden

I have no idea actually, but the klystron trunk does seem to have the mentioned FM code checked in.

Offline
Tokyo, Japan

I hadn't thought of carrier multipliers that way, great idea! more options are always good.

Offline

I think we are confusing two things together here. If you have the carrier multiply set to 0.5 and the modulator multiply set to 1, it is exactly the same as setting the carrier to 1 and the modulator to 2 (and playing that an octave lower). Or, carrier x 5 and modulator x 10 etc.

Maybe I am confusing something?

Also, yes the nightly code always is in the klystrack and klystron trunks.

Offline
Sweden
kometbomb wrote:

I think we are confusing two things together here. If you have the carrier multiply set to 0.5 and the modulator multiply set to 1, it is exactly the same as setting the carrier to 1 and the modulator to 2 (and playing that an octave lower). Or, carrier x 5 and modulator x 10 etc.

Maybe I am confusing something?

Also, yes the nightly code always is in the klystrack and klystron trunks.

Yes, I their ratio will be the same (offset from the base tone at some pitch that might not fit into the western scale at worst), but from what I understand you can only multiply the carrier to suboctaves? What I mean is that there are some cases where you want to tune the carrier at some odd ratio over the modulator, like an octave and a fifth.

Offline

Sound effects and drums and that stuff comes to mind when you might benefit from some weird ratio that has two prime numbers. Perhaps you can also "color" the carrier with an atonal modulator that's barely there?

Offline
Sweden
kometbomb wrote:

Sound effects and drums and that stuff comes to mind when you might benefit from some weird ratio that has two prime numbers. Perhaps you can also "color" the carrier with an atonal modulator that's barely there?

As long as you move along the natural harmonics it will sound somewhat OK tonally, but yeah, non-integer ratios would be pretty cool! TX81z has those, and as you say it's nice for drums and metallic sound effects.

Offline
Montreal, Canada

First impression:
- crashes all the time with params set to extreme values
- no decent envelope system makes FM very lifeless
- I will probably never use it in this state. Same category as the POKEY oscillator: good intentions, bad execution, pointless in most musical contexts.

Ideas:
- Make channels a possible carrier or modulator like Ring/Sync works right now so we can have channels, playing all manners of other instruments, modify (or be modded by) an FM sound. That would open up worlds of possibilities.
- Add more waveform presets to the wave editor. That way some of the more classic mix of oscillator shapes + fm would be accessible. It would also make the old synth engine much more versatile at the same time. (I'VE SEEN YOUR CODE, I KNOW IT WOULD TAKE ALMOST NO EFFORT FOR THIS. DON'T LIE. DO NOT LIE TERO. I KNOW WHERE YOU LIVE.)

More ideas:
- separate volume and pitch on the noise oscilator. <- THIS x1000
- colors in the sequencer. Let's be honest, names for patterns would mess up the interface something bad. BUT. Adding colors to the background of the pattern 'block' would serve the same purpose and is probably way easier to implement.
- live mode
- live mode
- live mode
- live mode.