Aurora FM logo

synth image

Aurora FM is a 6-operator pure FM synthesizer featuring advanced modulation capabilities
VST 2.4 for 32-bit and 64-bit Windows
VST logoWin64 logo
Also confirmed to work under Linux w/Wine 4.0!

  • 6-operator, 32-algorithm advanced FM synthesizer with 8 sine-based waveforms, 30 voices, deep modulation, overdrive/chorus/delay/reverb effects, and performance features
  • Single-screen, everything-visible, non-skeuomorphic UI with controls designed for efficient mouse interaction and visual feedback; no hidden parameters, tabs, menu-diving, etc.
  • DPI-aware and custom scaling from 50-150%
  • Much more than a mere DX7 emulation - Aurora FM translates Yamaha DX7/DX21/DX27/DX100/TX81Z/DX11 patches but is a superior, semi-modular, flexible, highly-usable modern instrument for musicians and synthesists
  • 100% original SSE-optimized C++ code (no SynthEdit, no VSTGUI, no 3rd party libraries), high-resolution sine generators, and full-rate sample-accurate modulation combine for a great sound
  • Inspired by modulation monsters like the Alesis Ion and Waldorf Q
  • High-resolution sine generators provide the 8 sine and sine-transorm waveforms found in the TX81Z and DX11
  • 3 frequency selection modes - Ratio, Fixed, and the unique Relative mode which facilitates setting intervals
  • Variable waveform sync phase (0, pi/2, pi, 3pi/2, None)
  • On/Off toggling with clear visual feedback
  • Variable 2x3 or 3x2 algorithm-dependent operator layout with visual separation of modulators and carriers provides unparalleled clarity and navigation
  • 6-stage (Delay, Attack, Decay1, Decay2, Sustain, Release)
  • 3 slopes: Linear, Exponential, Logarithmic
  • Tempo-syncable
  • Loopable
Modulation Sources
  • 2 x LFOs, 1 x S&H, 1 x Envelope
  • Tempo-syncable
  • 3 voicing modes: Mono Reset, Mono Run, Poly Reset
    • Monophonic mod sources are global and shared by all voices; Polyphonic mod sources are unique to each voice
    • Reset/Run - Resets at each key-press / Free-running
  • Amplitude scaling by modwheel and velocity
Modulation Routing
  • Pitch and amplitude modulation by 4 modulation sources + modwheel, with 3 modulation polarity modes and 3 convenient modulation ranges
  • Additional amplitude scaling by Key and Velocity
  • Envelope rate scaling by Key, Velocity (On + Off), and selectable modulation source
  • Modulation of Mod Source Rate, Pan, Unison Detune, FM Feedback, and some Effects parameters by any modulation source
  • Unison with 2/3 voices and variable detune
  • Portamento (Mode:Off/On/Legato, Rate)
  • Polyphonic (30-voice) or Mono voice mode
  • Pitch bend range, +/- 24 semitone Transpose, variable A440 tuning (+/- 1 semitone in 0.1 Hz increments)
  • Overdrive
  • Chorus (Off/On, Rate, Depth)
  • Tempo-syncable Delay (Time, Feedback, Level)
  • Reverb (Time, Tone, Level, Mix/Wet Only)
  • Output bit-depth reduction, optional dithering

Special introductory pricing for Aurora FM is a modest $17 CAD.

The link below is for a download of the full version. Aurora FM will run in Demo Mode* until a license is purchased. Purchasing a license entitles you to a guarantee of resolutions to any bugs or compatibility issues you may encounter and a lifetime of updates for as long as I'm able to keep adding features and making improvements.

*Demo Mode limitations: 6 voices, No patch saving/loading/restoration, 3 automatable parameters

Purchasing instructions:

  1. (Obvious) Download the demo and ensure that it works for you on the computer that you intend to use it on
  2. Obtain your Aurora FM Product ID (from the Settings dialog settings button)
  3. Pay via PayPal
  4. Paste the Product ID into an email to using the same email address linked to your PayPal account
  5. An email reply containing your License File will be sent as quickly as possible (no more than 8 hours)

I apologize in advance for the lack of an automated licensing process!


Aurora FM v.0.21.1   2019-05-13

32-bit x86

64-bit x64

  • Small change needed to fix licensing for Linux/Wine support. Other than that, Aurora FM was confirmed to work perfectly under Linux/Wine - nice!

Aurora FM v.0.21.0   2019-04-11

  • Improved: Unison now works in monophonic mode.
  • New: Ability to lock parameters against changes when switching patches or randomizing. Can be quite handy. CTL+SHIFT+LMB on a parameter to toggle on/off.
  • New: Option to have voices stop or continue when changing patches/randomizing.

v.0.20.0 - 2019-01-20

  • New: Alternate scales and microtuning, including: 12-EDO, Just Intonation 5-limit symmetric 1/2/asymmetric, Just Intonation 7-limit, Harmonic, 15-/17-/19-/22-/24-/31-EDO, and Bohlen-Pierce.
  • Improved: Extended drag-and-drop copying to include Envelope+Scaling and Full Operator, in addition to existing Envelope.
  • New: Randomizing! The 1-10 slider controls the amount of parameters to be randomized and in some cases the extent of the possible randomization, and the Rand button does the randomizing.

v.0.19.0 - 2018-12-11

  • Changed the Algorithm control to draw dynamically instead of just display an image. It now reflects when operators are turned off, highlights the operator under the cursor, and is much more readable when scaled to a factor other than 100%.
  • Removed unnecessary processing when the host sends redundant parameter changes for values that aren't actually changing.
  • Yet more improvements to the GUI response when changing patches/algorithms.

v.0.18.1 - 2018-12-03

  • Fixed issue introduced in 0.18.0 where ModEnv wasn't displaying accurate state.

v.0.18.0 - 2018-12-02

  • Improved custom GUI scaling. Now there's a handle in the bottom-right corner for on-the-fly continuous resizing as opposed to the old method which destroyed and recreated the GUI at each new size. The new method is much quicker at resizing. You can still use CTL/SHIFT + mousewheel on the main window to change the size in 5% increments, plus you can double-click on the main window to reset the size to unity.
  • Improvements to the envelope / key scale controls:
    • Increased the size of the cursor hitbox for the point handles by a couple of pixels.
    • You can now distinguish when the cursor's over a point. The point handle is highlighted more when the cursor's over it as opposed to when it's the currently displaying point.
  • A 2nd theme to placate users who don't like the gradients. It doesn't have any gradients and has slightly higher-contrast text in a few places.
  • Minor graphical tweaks.

v.0.17.0 - 2018-10-21

  • Yamaha 4-Op FM synth patch translation (DX21/27/100, TX81Z/DX11)
  • Translation (partial) of DX7 mk.II additional parameters (DX7IIxx/DX7s)
  • New, more advanced reverb algorithm - more spacious and hall-like, not as overtly thick and up-front, less unintended amplitude flutter, less audible modulation
  • Improved GUI response when changing patches/algorithms

v.0.16.0 - 2018-09-24

  • TX81Z/DX11 Waveforms!! Holy shit! :-D
  • Fixed: Algorithms 12 and 13 were swapped - oops. The feedback operator was swapped between these two. These are in the correct order now. Any patches you've made that use either of these algorithms will need to be switched to the other algorithm. My apologies!
  • Some changes to the output meter that include performance improvements and a slightly changed display scale

v.0.15.1 - 2018-08-28

  • Support for Sustain CC
  • Tamed the background colour of the Settings and DX Patch Bank dialogs, by request

v.0.15.0 - 2018-08-04

  • Significant performance improvement
  • Modwheel smoothing. No more potential for clicks/ticks from high rates of modwheel change
  • Improved the log envelope slope. The calculation was previously a less-than-stellar approximation. Now it's an ideal curve with a much more useful response. You may need to tweak some patches to accommodate the change, and I apologize for that, but this change is ultimately an improvement for the best and I think you'll agree
  • Fixed the dither. It previously had DC offset
  • Identified and fixed a disastrous problem that would have been preventing parameter change automation recording from working in sessions with more than one instance of Aurora FM. Obviously either nobody's recording live parameter changes or else nobody's using more than one instance, otherwise this bug would've been reported a long time ago. I'm just happy I caught it before anyone complained.

v.0.14.0 - 2018-07-12

  • Proper patch management! Aurora FM now maintains its own list of patches and isn't dependent on the host's facilities. Specify a directory for your Aurora FM patches (Settings dialog settings button), and patches there will be loaded into the patch list drop-down. When you save a patch, it will automatically show up in the refreshed list.
  • Envelope copying via drag-and-drop! Just click an envelope and drag it to another one to copy it.
  • Changed the Algorithm selection control to a slider.
  • Fixed the damage I did to the DX patch translation in the previous version :-S.

v.0.13.1 - 2018-06-29

  • Fixed potential divide-by-0 crash in ModEnv when envelope stage with a time of 0 was set to cross from one pole to the other.

v.0.13.0 - 2018-06-28

  • Fixed the problem with Cubase 8 failing to restore state with the project. This required a change to my patch indexing as far as the host is concerned. There's now an "edit" slot at index 0, with the Init and factory patches following. I'm reasonably sure that this change won't break other hosts' ability to restore the state saved in previous versions. (For what it's worth, and if you haven't heard me say this before, the VST API is a mess. It's scary how Steinberg does things differently than how most other hosts do, and everyone has a different, incompatible interpretation of how the VST API is supposed to work. Ugh, NOT a good API.)
  • Found and fixed the envelope distortion artifacts. There was (low-level) distortion in the envelopes due to a boneheaded calculation error. It was clearly visible on an analyzer, and more prominent and audible at high envelope rates of change. My sincere apologies for letting this escape resolution for as long as it did!
  • Identified and resolved more potential threading issues that could lead to hangs or sluggish UI. Cubase 8, possibly other hosts.
  • Added an "Off" option for the reverb to save performance when you're not using it. Previously the reverb was always running even if the level was at -inf, since you really want to maintain a current reverb buffer state in case someone turns it up. Not having an "Off" option was a very poor choice on my part. Note that this change is unfortunately a minor patch compatibility break. If you had the reverb on before in a saved project or patch, now the state will be restored with the reverb off, and you'll need to enable it.
  • Found a couple of places to make some very slight performance gains.
  • Found and fixed a small memory leak introduced with the 0.12.0 scaling feature.
  • Added a warning dialog to the Settings screen if your plugin directory isn't writable. This one's long overdue too. Sorry about that.

v.0.12.1 - 2018-06-21

  • Identified and fixed the Cubase 8 problem (and maybe some other hosts). Cubase 8 users were experiencing huge startup delays and flakiness/crashing. I was able to find a trial of Cubase Elements 8 and sleuth out the problem. It was a threading issue, totally my bad.

v.0.12.0 - 2018-06-21

Some significant changes:
  • DPI-aware! Aurora FM now renders dynamically-sized and incorporates DPI-aware scaling. It will no longer be tiny for those with high-DPI displays.
  • In addition, there is now variable custom scaling! CTL + SHIFT + mousewheel with the cursor over the window (and not over a control) to increase/decrease the scaling factor in 5% increments from 50% to 150%. I know several people were asking for this, so here it is.
  • Removed "multiple of 4 samples" buffer size constraint. This was potentially leading to confusion and frustration and wasn't a fair constraint to place, so I had to solve it. Nothing's ever simple...
  • Identified and fixed potential crash or hang for Cubase users. I'm surprised that it took this long to reveal this, and I apologize. In my defense, I don't own every host and it's very hard to know about every host compatibility issue. There's only so much one guy can do without the assistance of others.

v.0.11.2 - 2018-06-11

  • Fixed erroneous portamento rate calculation. Yeesh, sorry about that! I don't know how I never noticed that it was way wrong before. It now has the intended constant rate behaviour.
  • Fixed yet more phase discontinuity clicks in monophonic mode. Good grief, I hope that's all of them...
  • Discovered that the reverb mix/wet parameter wasn't exposed in the parameter list and wasn't getting reset with an "init". Ugh. Added.
  • Made a few marginal improvements to the reverb.
  • Lowered the gain on the output of the chorus effect so there isn't a pronounced volume jump.

v.0.11.1 - 2018-06-01

  • Fixed portamento: in the case where a voice ends before the portamento hits the target pitch, that voice now resumes from the pitch where it left off
  • Fixed more phase discontinuity clicks in portamento and in monophonic mode

v.0.11.0 - 2018-05-25

  • Increased max polyphony to 30 voices, and correspondingly improved efficiency of voice allocation routines
  • Increased demo mode polyphony to 6 voices
  • Added mod targets for chorus parameters, tweaked graphics in Mod section

v.0.10.0 - 2018-05-22

  • Fixed distorted output with non-standard buffer sizes.

v.0.9.10 - 2018-05-19

  • Fixed crash introduced in v.0.9.9
  • Finished fixing spectral issues of operator Feedback at high values before onset of noise in Algorithms 4 and 6

v.0.9.9 - 2018-05-18

  • Increased maximum Chorus rate to 5 Hz
  • Fixed spectral issues of operator Feedback at high values before onset of noise ("hunting")

v.0.9.8 - 2018-05-17

  • New Chorus effect, change in layout to accommodate
  • Identification and fix of issue that may have created an instant crash for a small percentage of users
  • Removed one instance of SSE4 code that would've prevented users with older CPU's from using Aurora FM. Now only SSE2 is required

v.0.9.7 - 2018-05-13

  • Workaround fix for defect in Akai VIP where Windows Button classes don't work properly. Whee!

v.0.9.6 - 2018-05-11

  • More improvements to operator mod source label and value display readability. Should be a done deal now.
  • New envelope multi-stage time edit mode: Shift + LMB to scale time of all subsequent stages simultaneously

v.0.9.5 - 2018-05-09

  • 32-bit version now available
  • Fixed font sizing issues with custom Windows display scaling settings
  • Improvements to monophonic mode:
    • A held key will be returned to after a stealing key is released
    • When a stealing key is played (stealing = the previously played key is still held, ie. legato), the oscillator sync phase parameter is ignored and the oscillator's phase continues from where it left off at - this gets rid of clicks from phase discontinuities

v.0.9.4 - 2018-05-07

  • Partial fix for rendering problems when running with custom Windows display scaling. Layout issues fixed, still need to handle font sizing issues.
  • Lessened contrast extremes of operator window colour gradients
  • Improved contrast of operator window parameter display text and improved readability

v.0.9.3 - 2018-05-05

  • Fix for init patch override looking for patch with old file extension
  • Loosened Registration Name validation rules
  • Fixed patches that didn't get tweaked after I modified the range of the S&H Smoothing parameter

v.0.9.2 - 2018-05-04

  • Fix for Reaper plug-in scanning failure when "Do not scan VST names/types" option is unchecked

v.0.9.1 - 2018-05-02

  • First publicly-available version
In Progress

If anyone who's interested in my synth has a form of colour-blindness and is unable to use my synth because of its colour theming, please contact me if you'd like to consult and work with me on improving Aurora FM for folks with colour-blindess. Thank you.