Six Sines - a new open source synth plugin

Heya folks. Posting in lounge since this isn’t exactly rack software unless you run host. But:

I’m happy to release the 0.99 version of ‘Six Sines’, a result of a 3 week sprint to generate a new audio-rate-modulation synth. It’s loads of fun!

Grab it at GitHub - baconpaul/six-sines

Its sort of a 6 op full matrix PM/RM synth with some unique modulation characterstics, some DSP tricks that make it sound good, and just generally a fun poke-it-and-see architecture.

It supports MPE, MTS-ESP, and uses loads of our libraries from the last 18 months to bring together a fun little tool with interesting polyphonic and monophonic voice modes to make it pretty performable.

It has a preset library with some pretty fun starting points and a few of us have been using it for the last 5-6 days to bang out the egregious bugs I wrote.

Between now and 1.0 there’s a few more accesibility things I want to do and a few other straggler issues including HDPI support on windows. Probably 1.0 this weekend is my guess.

But it sounds pretty good, and was fun to put together in a super-rapid-fire dev sprint. Hope you enjoy it! I set up a baconpaul-sideprojects channel on surge discord to discuss if you want.

31 Likes

That looks like a lot of fun Paul, thanks! What is the minimum OS version requirement for macOS, in the release for download?

Oh, wow - very cool. I’ve had a very brief spin with the standalone program already.

I have been toying with the idea of programming a Venom 6 op FM/PM module for a while. I will definitely study this before I decide whether to embark on that journey. It was down in the list a bit, so probably 6-12 months before I get to that point.

10.15 (or it should be at least)

Too bad it requires a newer cmake.

Won’t be able to build it until the future arrives on my system :wink:

you can install the latest cmake from Download CMake

Thanks to everyone who reached out to tell me that the UI didn’t show up on a second re-open in host.

I’ve fixed that now. I’ll probably do a 0.999 release sometime tonight or tomorrow morning since folks found lots of things in the last 24 hours which we tweaked.

theres the build

It’s a very fun plugin! Thanks. And nice to have the standalone. Having fun with it for ambient patches.

Just curious – can you give a brief description of the UI bug fix? I noticed it too, but thought maybe it was a problem with Host.

I ask because I’ve seen other UI quirks with Host since upgrading to rack 2.5 that weren’t present in earlier versions. For example, Kilohearts pitch shifter is borked – UI opens at 200% view with no way to resize window or change scale. And yet it still works okay in earlier VCV releases and in other VST environments. Just trying to collect data to create a useful support ticket.

host doesn’t use a vst3 path which destroyed the ui when you close a window and on reopen reparented I’m not sure if it is host or the clap wrapper but host is definitely using a ui lifecycle different from every other host we’ve tried i fixed it by detecting the ‘you haven’t destroyed me but you are reopening me’ codepath

Ah, thanks Paul.

Finally got 1.0 out the door

Release Release v1.0.0 · baconpaul/six-sines · GitHub

14 Likes

Yay! :partying_face:

Thank you very much, Paul! :ok_hand:

1 Like

Great! And many thanks for your contributions @baconpaul

GUI reminds me of NI FM7/FM8 audio plugins or the free Oxe FM audio plugin from yesteryear.

Flexible FM/PM/AM networks are a real pain to setup and control in VCV. Even more so when mixing FM/PM and AM.

For those who think FM/PM (or even AM) is complicated and unpredictable. It’s not really. A quick reminder of the behaviors.

With FM/PM as with AM it’s about sum and difference frequencies of all frequencies in the spectrum of both (all) oscillators involved (Yamaha: operators, carriers and modulators), where in FM/PM, the ‘negative’ frequencies reflect back into the spectrum at inverted phase (effecting the audible spectrum in a non-linear way).

Generally, ‘musical’ (whole number) ratios between oscillator/operator frequencies work best. For example 1:1 will create all harmonics at various levels and 1:2 only odd ones. 1:1 and some feedback gets you a buzzy saw like spectrum. 1:2 and some modest modulation gets you a triangle/square like spectrum. But there are realms of sounds that thrive on non-whole-number ratios (e.g. metallic/bell sounds).

For FM/PM, the more modulation is applied, the more ‘sidebands’ (sum-and-difference frequencies) are generated. Feedback is very useful, but can also soon lead to way to many sidebands (up to FM/PM noise).

So…starting of with ‘just sines’ and modest modulation (and/or feedback) is good practice. Modulating with more complex spectra or too much modulation (and/or feedback) soon generates way to many (interacting) sidebands.

When creating a stack of modulators, modulating in series, the resulting (audible) carrier signal spectrum can get real complex, real soon.

Don’t forget that the (audible) carriers can effectively be seen as separate complex additive synthesis oscillators. You can effectively sum/mix/layer these carriers/oscillators to create the final sound. From Hammond-like drawbar organ sounds to splitting/layering attack/transients and tails/sustains.

5 Likes

thank you for the explanation. useful for the start to dive into sound creation.

Six Sines is a great tool to explore FM/PM (and AM). Way more flexible then the grand dad of FM, the Yamaha DX7. But with flexibility comes complexity. For those who are new to the Six Sines implementation of FM/PM/AM, Six Sines might be quite a challenging starting point.

A helpfull and especially a simpler (and also free) tool to start exploring FM (actually PM) in the VST/AU/LV2 (Win/Apple/Linux) world might be:

Dexed by Suburban [https://www.kvraudio.com/product/dexed-by-digital-suburban]

Dexed is a pretty close emulation of the Yamaha DX7, Yamaha’s music world changing 6 operator digital FM synth from way back in 1983. Dexed is even sysex/patch compatible with the DX7 and there is a ton of (free) stuff on the DX7 on the web.

Some ways in which Six Sines expands on the DX7 implementation:

  • Dexed/DX7 just has sines. Six Sines offers other, more complex waveshapes.
  • Dexed/DX7 has ‘just’ 32 fixed algorithms (networks/matrices). Six Sines offers a free full matrix
  • Dexed/DX7 has just 1 feedback loop per algorithm with positive feedback only. Unlike the all operator feedback options of Six Sines.
  • There’s no AM on DX7/Dexed
  • There’s no per Carrier panning on the Dexed/DX7
  • The (modulation) level resolutions on Dexed/DX7 are pretty limited (dating from 1983 digital tech). Varying from just 7 stepst to 127 steps.
  • The Dexed/DX7 frequency Ratios can be set to Fixed (Hz), but do not go all the way down to 0 Hz (which is needed for static waveshaping). The DX7 minimimum is just below 1 Hz, which results in timbral modulation at that frequency (sort of LFO modulation). Not sure how low Six Sines goes when Keytrack is off, but it sounds like 0 Hz (in any case closer to 0 then to 1).
  • Dexed/DX7 supports only global initial phase options: reset (on key on) or random. Six Sines also supports global phase options but also a per oscillator/operator initial phase (key on). Initial Phase options are especially useful when doing this 0 Hz waveshaping thing, or short modulations/transients. It might be no surprise that Phase Modulation is very susceptible to relative phase shifts.

The current documentation for Six Sines is limited. But there are other FM/PM implementations that are well documented…

You might wanna check out Yamaha FM synth related documentation, e.g. DX (FM), SY (AFM) or later FM synth lines. Or…check out the manuals for the mighty Native Instruments FM7/8 plugins.

BTW: Here’s a great 40 minute demo of what can be achieved with Six-sines.

Free Synth - Six-Sines by Baconpaul (No Talking)

7 Likes

Yeah dexed is great. Definitely use it if you want a DX7! And if you really really want a DX7 I can’t recommend the plogue ops7 highly enough.

Six Sines is a way way more mechanical approach to FM than those instruments, which are of course amazing designed instruments.

Thank you for sharing the video! Cool stuff!

Oh and calling the documentation limited is generous! But if you would like to add anything to it i would love contributions.

Thanks for all your support of the project.

Some great sounds in that demo!