Pollen(8)VA+FM 2.0

Video Demo

*Field Edition*

A full featured 8 voice polyphonic virtual analog, and 6-operator FM synthesizer for your Electro-smith Daisy Field synthesizer! !

As always, this is to be used at your own risk!

A quick word...

I'm having a ton creating these, and your support really helps! If you like stuff like this and my other work, by all means feel free to contribute whatever you can to help support this! There's lots of future projects in the works!

Note! A few things you should be aware of before continuing!

  • This is more of a proof-of-concept for what the Daisy Field (and others shortly) can do with just the base 128KB of flash rom for code. There is very little room for any new features or bugfixes, so any future development might see the synthesizer split into two separate modules - the virtual analog and the FM synth separately. Alternately, I may go the route others have and create a bootloader where larger images can be loaded into the 8MB external flash and / or the SRAM / SDRAM... Really - it's time these days that can be scarce...
  • The Daisy hardware and software are at this time still relatively new, and the libraries currently are continuing to be developed by electro-smith. Something to note is that currently, both using this software or the demos provided, the audio output on startup / reset may generate a reasonably loud pop. Currently there is no way around this that I am aware of at this time (the demos provided also will cause this).
  • Also note as the hardware and software are still very new and in development, you must use this at your own risk! No warranty of any kind is offered...
  • A version for the Patch is in the works next, as well a companion PC app for the Pod (there are too many features for 2 knobs and 2 buttons). That said - the base pod library is smaller, so there may be room for a straightforward midi CC map with the knobs controlling some basic patch saving / loading, at least giving useablility out of the box. Right now, I want to get the field version out or the project will be even more late!

Programming your Daisy Field...
You can program your Daisy Field via the Web Programmer here - note, currently this requires Google Chrome version 61 or newer.

Click on "Display Requirements" and "Display Usage" for help on how to actually program your Daisy Field. It is suggested that you become familiar with downloading firmware to your Daisy Field by trying some of the examples first.

Once you are comfortable and familiar with downloading firmware:

  • Connect to your Daisy Field in DFU firmware update mode
  • Using the web programmer, "Select a file from your computer" using the Browse button
  • Select the pollen8_VA_FM_field_v2_0.bin file
  • Load and execute pollen8_VA_FM_field_presetLoader1.bin and follow the on-screen instructions (hold SW1+SW2) to load some factory presets first - these will erase any presets you make yourself!
  • Press the "Program" button. You should see progress bars appear indicating that the device is being programmed (similar to when you programmed the demo projects)

Download here!

Unpack the .zip file and you will find two .bin files - one for programming the presets, and one for running the synthesizer. Please ensure you have read all of the above before attempting to program your device.

32 Preset Pack Included!

A factory demo 32-preset pack is included with this - Note! Currently, loading this will erase all of your presets (0-31) and replace them with the pack.
As the synth has two modes - VA and FM.. the settings for the opposite mode are still stored in the presets, so don't be surprised if you switch the synth mode and discover a similar sound using the opposite engine, or even a completely different sound..!


This software requires a standard 5 pin MIDI to 3.5mm(1/8") TRS jack, type "A". https://www.midi.org/midi-articles/trs-specification-adopted-and-released



Version 2.0....

Pollen(8)+FM is a "full featured" 8 voice 2 oscillator virtual analog, as well as a 6 operator FM synthesizer for your Daisy synthesizer.
"Full featured" includes :

  • 2 Oscillators per voice with the following features:
    • Smoothly mix from Triangle to Saw....
    • Or from Saw to Variable Pulse Width
    • Oscillator Sync
    • Oscillator Pitch EG
    • Oscillator Drift
    • White Noise Generator
    • Oscillator mixer overdrive - overdrives the input to the mixer
  • 3 LFOs
    • LFO shapes include ramp up/down, sine, triangle and random .
    • These are applicable to pitch, pulsewidth and filter cutoff.
    • LFO Sync - LFOs can free-run, or be set to a specific
    • LFO Voice modes - supporting independent / single LFO styles
  • Low pass filter with resonance, with sweepable mode from lowpass, band reject to high pass, as well as bandpass modes.
    • Updated Filter Overdrive - Allows you to overdrive and clip the output of the filter
  • 3 play modes supported:
    • Polyphonic - 8 voice polyphony
    • Monophonic - 1 voice only
    • Unison - All 8 voices / 16 oscillators playing at once
    • Unison spread from 0 cents to up to 1 octave per voice!
  • Two pitchbend modes supported:
    • Standard, where the position of the pitchbend determines the pitch
    • Motion-bend - where moving the pitchbend wheel determines the speed at which the pitch bend occurs
  • Pitchbend key range
    • So you can keep bass notes in tune while pitch bending higher notes, or vice versa, etc.
  • 3 Chorus effects :
    • "Hera", my popular 80's style loguesdk chorus
    • A flanger
    • "*Buckets" (fixed 'brigade' version) - Also from my loguesdk work - a 70's string machine triple chorus
  • 2 Delay effects
    • A basic delay with up to 1.36 seconds delay, and up to infinite feedback
    • My popular "Cathedral xd" loguesdk reverb, with variable low pass filter on the reverb signal and up to infinite feedback
  • A 3 band equalizer
    • Variable low pass and high pass frequencies
    • Gains for low/mid/high levels
  • Arpeggiator
      Up / Down modes available
  • Plus for all synth modes:
    • Global Detune
    • 2 Portamento modes (exp /linear)
    • Full CC mapping

Now with a 6-op FM Synthesizer for 2.0!

  • Available for each of the 6x operators:
    • Frequency Multiplier (0.5 to 32x)
    • Frequency Fine (-100 cents to +100 cents)
    • Amplitude
    • Amplitude Envelope (with helpers to allow programming of all Carrier or Modulator envelopes at once
    • Feedback - All 6 operators support feedback
    • 22 Algorithms as all operators support feedback some redundancy is eliminated here!
    • Frequency / Amplitude LFO modulation
    • Velocity Sensitivity
    • EG Amount (for modulators)
    Plus.. to make editing FM sounds even easier, not only do the LFO / Envelope selection pages allow you to not just select 1 operator but all Carriers or all Modulators, an additional "Operator" exists called "Brightness". This has both an LFO assignment value and a separate Envelope generator, and can allow you to affect the 'overall' timbre of the sound with minimal programming.
  • External input support
  • Pollen8+FM can act as an external signal processor providing
    • Signal bypass (off)
    • Signal pass-through (dry)
    • Signal route straight to delay (bypass chorus)
    • Signal route through all effects
  • Save / load patches to internal flash

  • A new full-featured graphical UI is included, complete with an oscilloscope when idle.

    File I/O:
    New for 2.0 : The SD card capability has been deprecated. The FATFS filesystem uses a lot of codespace, and there just wasn't enough room to keep this functionality. In addition, the 2.0 software adds a LOT of new features from 1.0... So currently, you will not be able to load your 1.0 patches into 2.0...

    I may create a tool to up-convert the old sd card files if need be or demand requires, as well as possibly provide some file management outside of the internal flash.
    An example, is the 32 patch demo presets available - as Pollen8 VA+FM uses almost all of the available code space, these are exterally loaded applications, requiring you to then load the Pollen8 VA+FM bin file back to actually play.

    Usage:
    For user input, the Daisy Field has 16 LED lit buttons, and 8x knobs. The LEDs above the knobs represent the amplitudes for the 8x voices and will glow based on each voice's current amplitude. The buttons are used to select the menus for each synth type (FM/VA) - press the button continuously to cycle the display though the 8 knobs, and the knobs are used to adjust the values for the selected page. The OLED display will display the knob position and value for the nearest 2 knobs, and will update automatically for adjusting a new knob, and via external CC control.

    Menus
    The menus are divided among the 16 buttons, with separate mapping for the 2 synth modes - but some buttons remain 'common' between these modes. We will cover each as follows:


    Basic Menu Navigation
    VA base menu with oscilloscope.
    Note the "VA" in the upper right, indicating we are in virtual analog mode.
    Menus, are navigated on the Daisy Field via the 16 "keyboard" buttons on your Field. Each button can select a base menu group, which are different for FM and VA synthesizer modes, however some buttons are common across all modes.
    All 8 knobs are assigned a function for each base menu.
    For Example:

    In Virtual Analog mode (startup by default), Pressing Button "A1" once will reveal this menu. This indicates that we are in the Oscillator 1 menu, and that knobs 1 and 2 will adjust Oscillator 1 Coarse Tune and Fine Tune respectively.
    Pressing the button again will cycle the display through to the next two knobs:

    where knobs 3 and 4 will select the oscillator Shape and pulse width. Note - you do not have to continually press the button to access these menus, pressing the button repeatedly simply lets you see what each function's value is currently set to, and what knobs are assigned where.
    Turning any knob at any time while in a menu will update the display to indicate that knob's function.

    And yes... you will probably grab knob 1 while the display is showing the functionality for knob 3 or 5 or something, it takes some getting used to but with having all 8 knobs available, for instance with the VA synth envelopes, the ADSR settings for both the amplitude EG and the filter EG are all accessible at once.

    In addition, we have on the Daisy Field the SW1 and SW2 buttons. Normally, these are used to cycle through the patches and save the current patch, but in a few specific cases they will have an alternate function and are detailed when necessary.
    Changing the currently selected patch without saving changes will not warn that you will lose your unsaved data.
    • SW1:Decrement current patch. Rolls over from 0 to 127
    • SW2:Increment current patch. Rolls over from 127 to 0
    To save your patch, simply hold SW1, and press SW2. It is a similar action to holding the bootloader button / pressing the reset button on the Daisy Seed.
    As always, ensure that a selected menu is not using the SW1 / SW2 buttons for anything else (MIDI CC menu)
    So, we have common items, VA items and FM items. First, let's look at the common / system items. These buttons do not change function or location.

    Set Patch Name

    This menu is accessed by pressing the B7 button, and is used to set the patch name.
    • Knob 1: Select the character at the cursor position.
    • Knob 2: Set the cursor positition.

    • You do not need to press any other buttons to commit the name, but you will need to save the patch of course.


    System Menu

    This menu is accessed by pressing the B3 button.
    • Knob 1: MIDI Channel - OMNI or 1 through 16
    • Knob 2: Virtual Analog / FM mode selector: Selects either VA - Virtual Analog, or FM - Frequency (phase) Modulation operation. Settings for either mode are retained, thus patches effectively save two different configurations each.
      Note, when in FM mode you will see the operators indicated at the bottom in white and black. Carriers are shown as a white tab with a black number, and Modulators are shown as a hollow tab with a white number.

    • Knob 3: Write Mode -
      • New - Saved patches will be stored in the first unused INIT PATCH found.
      • Overwrite - Saved patches will OVERWRITE (update) the currently selected patch. *an "O" is indicated in the upper left to remind you you are in this mode
      • Replace - On saving, you will be able to scroll through the 128 patches and select one to overwrite. The patch number and name of the patch to be replaced are displayed. *an "R" is displayed in the upper left corner to remind you you are in this mode.
    • Knob 4 : Factory Reset This knob requires you to fully turn the knob 6 times back and forth to initiate the factory reset. The countdown and direction is displayed. Use with caution! You cannot retrieve your patches after completing this step.

    System Menu knobs 6, 7 and 8 : MIDI CC configuration

    This, is where you assign what midi control change (CC)#'s are assigned to what functions of the synthesizer. Multiple functions may be assigned, and the entire synth can be controlled via MIDI CCs, if you wanted to. The lower line in this mode will have scrolling help text to guide you as well.
    Much like the buttons, the MIDI CCs are broken into 3 separate sections :

    • VA Parameters
    • FM Parameters
    • Common Parameters

    Select which parameter type you'd like to edit with knob 6.
    Next, use knob 7 to select which parameter to assign a midi CC value to.
    Knob 8 will allow you to directly enter a MIDI CC value, or if you send the MIDI CC value, this value is updated to the last receieved MIDI CC#.
    This way, you can select the destination, simply move the MIDI CC value on your controller and then assign it.

    Pressing SW1 will assign that MIDI CC value to that destination (you can have many destinations for one MIDI CC value), and pressing SW2 will save this configuration to the flash to be re-loaded on startup.
    Note!Some values will have "Ffu" beside them - these are simply "for future use". It was simpler - and more importantly, cheaper codespace-wise to leave these placeholder as they are, they will not do anything if you adjust them.


    Arpeggiator Menu

    This menu is selected by pressing the A6 button. Here, we find a basic arpeggiator with up, down and up/down modes currently.

    • Knob 1: Type: None (off), up, down and up/down modes supported.
    • Knob 2: Rate: At 0%, this will stop the arpeggiator, and at 100% it will run quite fast.
    • Knob 3: Arp Dwell: Sets the overall gate time for the arpeggiator
    • Knob 4-8: No Function


    Performance Menu

    This menu is selected by pressing the A7 button. Here, we find "performance" related functions, that are common to all synthesizer modes.

    • Knob 1: Mode: Poly, Mono or Unison modes are supported.
    • Knob 2: U.Spread: For Unison mode, this selects how much detuning is applied, from none to up to 1 octave per voice!
    • Knob 3: Porta: Portamento rate
    • Knob 4: Porta Typ: Selects Linear or Exponential style portameno
    • Knob 5: Detune C: Coarse overall detune +/- 1 octave in semitone increments
    • Knob 6: Detune F: Fine overall detune in +/- 1 semitone range.
    • Knob 7: Level Trim: Allows you to reduce, or amplify the overall 'volume' of a patch. This can be helpful to make quieter patches louder and loud patches quieter to ensure all of your patches are at a relatively even or desired level.
    • Knob 8: No function.


    Effects Menu

    This menu is selected by pressing the A8 button. Here, we find the effects section, which comprises two parts : Chorus and Delay/verb:

    • Knob 1: Cho Type: Selects the chorus type -
      • Hera - my 80's inspired chorus that supports both in phase and out of phase original signal mixing
      • Flanger - a fairly straightforward flanger effect
      • BBD : my "buckets" effect emulating a typical string machine style triple bucket-brigade delay ensemble effect
    • Knob 2: Cho rate: Selects the modulation rate for Hera and Flanger, BBD rate is currently fixed.
    • Knob 3: Cho Depth: Sets the modulation strength.
      For Hera, from 0-50% knob travel we set 0-100% rate with original signal IN phase, as indicated by a + symbol, and from 50% to 100% knob travel we set 100% to 0% modulation with the original signal OUT of phase, as indicated by a "-".
      Currently, the BBD effect does not implement "depth"
    • Knob 4: Cho Mix: Sets the wet/dry ratio for the chorus effect.
      - Note, you may find with the regular 'hera' chorus, that a fully wet chorus may need less modulation than a fully mixed chorus.
      - Also, while the BBD effect supports "depth", it is generally intended to be used at full wet (100% knob value)
    • Knob 5: Dly Type: Delay or Reverb
    • Knob 6: Dly Rate:
      • Delay : Sets the echo rate, from slow to fast
      • Verb : Sets the reveration filter damping
    • Knob 7: Dly Depth: Delay or Reverb
      • Delay : Sets the echo feedback, from none (1 echo) to infinite
      • Verb : Sets the reveration amount, from some, to infinite.
    • Knob 8: Dly Mix: - sets the overall wet / dry amount for the delay effect.


    EQ Menu

    This menu is selected by pressing the B2 button. Here, we find settings for both a 3 band equalizer, and for setting the amount of voice stereo spread.
    These settings are saved per patch.

    • Knob 1: EQ Low: Level for the low-shelf EQ
    • Knob 2: Low Frq: Frequency for the low shelf.
    • Knob 3: Mid Lvl: Amount of the midrange level to mix.
    • Knob 4: Hi Lvl: Level for the high frequency shelf.
    • Knob 5: Hi Freq: Frequency for the high frequency shelf eq.
    • Knob 6: EQ En: Overall EQ enable / disable.
    • Knob 7: Stereo Spread: Sets the amount of voice-panning from none to full.
    • Knob 8: No function.


    PitchBend Menu

    This menu is selected by pressing the B8 button, and contains the global settings for this patch for pitchbend functionality.
    All Pollen(8) synthesizers support two different types (at least) of pitch bending :

    • Normal - the pitch bend directly and immediately affects the current pitch(es) being played
    • Rate - the pitch bend value affects the rate at which the pitch changes. This allows finer control for slower pitch bends.
    In addition, the pitch bend here can be limited to a certain key range so as not to affect bass notes etc.
    • Knob 1: Type: Selects the pitchbend type -
      • Norm : Normal pitch bend functionality
      • Rate : Rate-style pitchbend as described above.
    • Knob 2: Amt Low: How many semitones pitchbending "down" will go.
    • Knob 3: Amt High: How many semitones "up" the pitchbend can go.
    • Knob 4: Min Key: MIDI note number for the minimum key range that pitch bend can affect
    • Knob 5: Max Key: MIDI note number for the maximum key range.
    • MIDI note numbers may be replaced with note names in the future..


    Virtual Analog Menus


    The Virtual Analog syntheizer is based on Pollen(8) 1.0, but has a few new options including better LFOs and improved filter overdrive. The synth options are available via these buttons when in VA mode.

    Button A1 : OSC1 Menu

    • Knob 1: Frequency Coarse: Sets the detuning in semitone steps, -12 to +12
    • Knob 2: Frequency Fine: Sets the detuning +/- 1 semitone, with emphasis on finer control
    • Knob 3: Osc Shape: Smoothly mixes from triangle to sawtooth, and from sawtooth to pulse.
    • Knob 4: Osc Pulse Width: Sets the fixed base pulse width for the pulse waveform.
    • Knob 5: Osc LFO PWM amount: Sets how much the PWM LFO will affect the pulse width.
    • Knob 6: Osc Frequency LFO amountSets how much the pitch LFO will affect this oscillator's frequency.
    • Knob 7: Osc drift: Sets the amount to detune each OSC1 oscillator for each voice a bit from 'none' to a fair bit. Allows for a slightly more "organic" sound with a little bit of drift.
    • Knob 8: Pitch Eg Amount: Sets the amount (+/-) that the pitch EG will affect this oscillator.

    Button B1 : OSC2 Menu Similar to OSC1 with a few minor differences

    • Knob 1: Frequency Coarse: Sets the detuning in semitone steps, -12 to +12
    • Knob 2: Frequency Fine: Sets the detuning +/- 1 semitone, with emphasis on finer control
    • Knob 3: Osc Shape: Smoothly mixes from triangle to sawtooth, and from sawtooth to pulse.
    • Knob 4: Osc Pulse Width: Sets the fixed base pulse width for the pulse waveform.
    • Knob 5: Osc LFO PWM amount: Sets how much the PWM LFO will affect the pulse width.
    • Knob 6: Osc Frequency LFO amount: Sets how much the pitch LFO will affect this oscillator's frequency.
    • Knob 7: SYNC: On or Off - enables this oscillator to synchronize with OSC1.
    • Knob 8: Pitch Eg Amount: Sets the amount (+/-) that the pitch EG will affect this oscillator.

    Button A2 : Mixer Menu
    The oscillator mixer menu also has functions for enabling / routing the external input.

    • Knob 1: OSC1: Sets the mix level for OSC1. Setting to > 100% will overdrive the mixer and clip the resultant waveform
    • Knob 2: OSC2: Sets the mix level for OSC2. Setting to > 100% will overdrive the mixer and clip the resultant waveform
    • Knob 3: Noise: Sets the amount of white noise to mix in to the signal.
    • Knob 4: Ext. In: Sets the level for the external input signal.
    • Knob 5: Ext. In En: Enables or disables the external input entirely.
    • Knob 6: Ext. In. Route: Allows routing of the external input:
      • Full FX: External input is routed with the synth for full chorus/delay effects.
      • Delay: External input bypasses the chorus but is routed with the delay effect.
      • NO FX: External input is routed dry

    • Knob 7/8:: No function.

    Button A3 : Filter menu. Next in the signal chain is the state-variable filter.

    • Knob 1: Cutoff: Sets the filter cutoff frequency
    • Knob 2: Reso: Sets the filter resonance.
    • Knob 3: Drive: Sets the amount of overdrive to apply to this filter.
    • Knob 4: LFO amt: Sets the amount the filter LFO will affect the filter..
    • Knob 5: EG Amt: Sets how much the filter EG will affect the cutoff.
    • Knob 6: Track: Sets how much the filter frequency will track the keyboard.
    • Knob 7: Level Trim: Applies gain reduction / amplification to the overall patch. This can be handy to ensure that all of your patches have a uniform sound, and can also be used to trim the level when filter drive is enabled..
    • Knob 8: Mode: Sets the filter mode:
      • LP : Low Pass
      • BR : Band Reject (notch)
      • HP : High Pass
      • BP : Band Pass
      The modes from LP->BR->HP support smooth crossfading, and at the full knob range the BP bandpass mode is instead enabled.

    Button A4 : Envelopes 1 Envelopes "1" are for the amplitude and filter envelopes.

    • Knob 1: Amp EG Attack
    • Knob 2: Amp EG Decay
    • Knob 3: AMP EG Sustain
    • Knob 4: AMP EG Release
    • Knob 5: Filter EG Attack
    • Knob 6: Filter EG Decay
    • Knob 7: Filter EG Sustain
    • Knob 8: Filter EG Release

    Button B4 : Envelopes 2 Envelopes "2" are for the Pitch envelope generator. Conveniently located below the amp / filter envelope button A4.

    • Knob 1: Pitch EG Attack
    • Knob 2: Pitch EG Decay
    • Knob 3: Pitch EG Sustain
    • Knob 4: Pitch EG Release
    • Knob 5-8: No Function.


    Button A5 : Modulation 1
    First LFO page.

    LFOs can have 1 of 5 shapes:
    • TRI : Triangle
    • SINE : Sine
    • DOWN : High-Low sawtooth
    • UP : Low-High sawtooth
    • RAND : Random - new value per LFO cycle (frequency) time.
    LFOs support a few common modes, such as:
    • POLY - Each voices has an independent LFO
    • SINGLE - Each voice is using a single common LFO
    LFO's can also be configured to free-run, or to re-start with an adjustable initial phase. This is particularly effective with the PWM LFO for getting chip-tune style PWM sounds, where the pulse width is typically re-set for each note-on.
    Lastly, the LFO shape phases are offset in such a way, that the overall "intent" or "sound" should seem uniform from a triangle, sine or up/down sawtooth. A lot of synthesizers approach this from a more "technical" point of view where switching from a saw up to down or from a triangle to a saw sounds like the LFO is out of phase when technically, it isn't. So for this synthesizer, they in fact are out of phase, in an attempt to produce a more uniform "sound".

    Menu items:
    • Knob 1: PWM LFO Rate: Sets the frequency of the PWM LFO
    • Knob 2: PWM LFO Shp: Selects the shape of the PFM LFO
    • Knob 3: PWM LFO Sync
      • OFF : LFO will free-run
      • 0-100% : LFO will re-sync to this phase on note-on. Useful for PWM synchronization to note-on.
        Full description of LFO sync / assignment at the end of the VA section
    • Knob 4: No Function
    • Knob 5: Filter LFO Rate: Sets the frequency of the Filter LFO
    • Knob 6: Filter LFO Shp: Selects the shape of the Filter LFO
    • Knob 7: Filter LFO Sync
      • OFF : LFO will free-run
      • 0-100% : LFO will re-sync to this phase on note-on.
        Full description of LFO sync / assignment at the end of the VA section
    • Knob 8: No Function

    Button B5 : Modulation 2 :
    Second modulation page. More modulation options and Modwheel configuration

    • Knob 1: Frq Rate: Frequency LFO rate
    • Knob 2: Frq Shp:Frequency LFO shape
    • Knob 1: Frq Sync:Determines if this LFO can free-run, or is to be re-started, at the value selected.
    • Knob 2: Frq MW:Amount to add frequency LFO modulation via the modwheel
    • Knob 1: PWM Type : Sets the assignment type for the Frequency LFO (single/poly, description below
    • Knob 1: Flt Type : Sets the assignment type for the Filter LFO (single/poly, description below
    • Knob 1: Frq Type : Sets the assignment type for the Frequency LFO (single/poly, description below
    • Knob 2: MW Cutoff:Sets how much the modwheel can affect the overall filter cutoff frequency


    LFO Types / resynchronization:
    The following LFO assignment modes are available:
    • Polyphonic Free-Run :
    • Each LFO is independent, and can free-run for each voice. Though note, if there hasn't been a need for the voice's LFOs to ever have been out of sync, initially, they will be voice-synchronized. Enable this mode by using:
      • LFO type : Poly
      • LFO Sync : OFF
    • Single free-running LFO controls all voices
      • LFO type : SINGLE
      • LFO Sync : OFF
    • Unique LFO per voice, each is resynchronized for that voice on a note on :
      • LFO type : Poly
      • LFO Sync : Any value (will determine 'where' the LFO re-starts.)
    • Single LFO, resynchronized for all voices on any note on :
      • LFO type : SINGLE
      • LFO Sync : Any value (will determine 'where' the LFO re-starts.)

    === FM Synthesizer ===

    The FM Synthesizer in your Pollen(8)+FM synthesizer is a 6 operator FM synthesizer with a functions unique to this FM synthesizer.
    This FM synthesizer is not a port of an existing FM synthesizer! While there are plenty of existing open source FM synthesizer projects, the FM synthesizer in Pollen(8)+FM is a complete ground-up endevour, and as such, there may be a few things that might be different than you'd expect.
    Features Include:

    • 6 Sinewave* operators
    • Feedback for all 6 operators (hence the * on 'sinewave')
    • 23 unique algorithms (redundancy eliminated from common algorithms as feebdack is available on all operators
    All of these are per-operator as well:
    • Velocity Sensitivity
    • Regular ADSR style Envelopes
    • Adjustable envelope amount
    • Coarse (multiplier) and Fine (+/- 1 semitone)
    • LFO - both pitch and amplitude modulation possible

    Historically, many people might have shuddered at the thought of FM synthesizer programming, however Pollen(8)+FM has added some features that should take some of the tedium out of this activity...!

    One such addition, is a 7th "operator", called "Brightness". This function controls not only the amount of overall modulation, but brightness settings beyond 50% also start to introduce feedback to brighten the sound even further. Brightness can be adjusted as an overall "level" - much like a filter cutoff knob, and is also available as a destination for LFO and envelopes. The Modwheel can be assigned to adjust brightness as well.
    In FM mode, you will see 6 (or 7 when applicable) tabs at the bottom of the screen - the white tabs with black numbers indicate which operators are carriers - that is, operators that actually produce sound, and the black tabs with white numbers are modulators - that is, operators that affect the sound.

    Example tabs
    In addition, as there aren't enough buttons and knobs to have a separate function for each operator, some menus have an Operator Select knob (on knob 8). This allows you to not only select operator 1-6:

    Operator Selection
    As well, to help speed up FM programming, you can select:

    All Carriers:

    This selects all operators that actually make sound with the selected algorithm.

    All Modulators:

    This selects all operators that affect sound with the selected algorithm.

    And when applicable, the Brightness "Operator" can be selected as well:

    This "b" tab is only shown when the brightness operator can be selected to be modulated.



    Button functions when in FM mode:

    Button A1 : Operator Multiplier
    This uses 6 dedicated knobs, 1 for each operator, to set the base overall frequency for each operator.

    • Knob 1: Op1 Multiplier Valid range from 0.5 to 32
    • Knob 2: Op2 Multiplier Valid range from 0.5 to 32
    • Knob 3: Op3 Multiplier Valid range from 0.5 to 32
    • Knob 4: Op4 Multiplier Valid range from 0.5 to 32
    • Knob 5: Op5 Multiplier Valid range from 0.5 to 32
    • Knob 6: Op6 Multiplier Valid range from 0.5 to 32
    • Knob 7: No Assignment
    • Knob 8: Brightness Overall Brightness (this knob is accessible in multiple places for convenience)

    Below, under "Modulators" is a good description on how the ratios from modulators to carriers affect each other.
    Alternately, with some algorithms, you can perform straight "additive" synthesis with up to 6 harmonics.

    Button A2 : Operator Fine Tune
    This uses 6 dedicated knobs, 1 for each operator, to fine tune the frequency for each operator.
    While technically by definition, FM typically does not use detuning for a modulator - there is no reason you cannot do this, and detuning a modulator by a mild amount will add some motion to the sound, and detuing by a lot more with a modulator can produce some atonal result.
    Generally you would detune carriers relative to eacho ther to get that 'multi-oscillator detuned' type of sound, but do note that you would need to equally (or nearly) detune the relevant modulators for each carrier that is detuned in a multi-carrier algorithm.

    • Knob 1: Op1 Fine Tune Valid range from -1 semitone to +1 semitone
    • Knob 2: Op2 Fine Tune Valid range from -1 semitone to +1 semitone
    • Knob 3: Op3 Fine Tune Valid range from -1 semitone to +1 semitone
    • Knob 4: Op4 Fine Tune Valid range from -1 semitone to +1 semitone
    • Knob 5: Op5 Fine Tune Valid range from -1 semitone to +1 semitone
    • Knob 6: Op6 Fine Tune Valid range from -1 semitone to +1 semitone
    • Knob 7: No Assignment
    • Knob 8: Brightness Overall Brightness (this knob is accessible in multiple places for convenience)



    Button A3 : Operator Amplitude
    This uses 6 dedicated knobs, 1 for each operator, to set the overall amplitude for each operator.
    Amplitude for Carriers sets the Loudness for that particular Carrier
    Amplitude for Modulators sets the overall Modulation Amount for that modulator.

    - Note, for Carriers with feedback enabled, adjusting the amplitude will also adjust the amount of feedback as well.
    • Knob 1: Op1 Amplitude
    • Knob 2: Op2 Amplitude
    • Knob 3: Op3 Amplitude
    • Knob 4: Op4 Amplitude
    • Knob 5: Op5 Amplitude
    • Knob 6: Op6 Amplitude
    • Knob 7: No Assignment
    • Knob 8: Brightness Overall Brightness (this knob is accessible in multiple places for convenience)



    Button A4 : Operator Envelopes
    As there are 6 envelopes per voice, this would require 24 (6 op x attack,decay,sustain,release) knobs, which we don't have.
    So, the envelopes are adjusted using an Operator Select knob (knob 8) as described above.
    We have 7 envelopes - 1 for each operator, and an additional envelope for Brightness. You don't need to use the Brightness envelope, but you might find it easier to generate FM sounds using it.
    • Knob 1: EG Attack
    • Knob 2: EG Decay
    • Knob 3: EG Sustain
    • Knob 4: EG Release
    • Knob 5: EG Track : Sets how much the envelope will track the keyboard. Higher values will result in higher notes have a faster envelope overall.
    • Knob 6: No function
    • Knob 7: Brightness Overall Brightness (this knob is accessible in multiple places for convenience)
    • Knob 8: Operator Select See above for detailed description



    Button A5 : Operator Feedback / Algorithm Select
    With Pollen(8)+FM, you can enable feedback for each operator.
    Feedback, is the process of taking the output of a modulator and 'feeding it back' into itself - that is, modulating itself with itself.
    The end result, is that a sine wave becomes a sawtooth wave, and with extreme feedback, becomes noise.
    Typically, feedback is used on modulators so you can modulate a sine wave with a more complex wave, but it doesn't have to be with this synth. In fact, if you want, you can have an algorithm of all 6 operators as carriers, and by applying feedback to each carrier, you've effectively got yourself a 6 oscillator sawtooth voice...!
    Traditionally, feedback is applied to the "topmost" operator in an operator stack. You don't have to though.
    Algorithms:
    Knob 8 will select the algorithm to connect the operators together. In the diagrams that will appear, the lowest operator on the screen will always be the carrier.
    • Knob 1: Op1 Feedback
    • Knob 2: Op2 Feedback
    • Knob 3: Op3 Feedback
    • Knob 4: Op4 Feedback
    • Knob 5: Op5 Feedback
    • Knob 6: Op6 Feedback
    • Knob 7: Brightness Overall Brightness (this knob is accessible in multiple places for convenience)- In this menu, the page for knob 7/8 is used for algorithm display. So this knob will adjust brightness, however you will see the algorithm display when adjusting this.
    • Knob 8: Algorithm Select Selects one of 23 operators:
    ALGORITHMS
    With analog (and virtual analog) synthesis, we generally start with a harmonically rich source (square wave, sawtooth, noise etc) and use filtering to reduce - or emphasize(with resonance) harmonics in the sound...
    Contrast this with FM - where, the basis of FM synthesis, is generally to start with a sonically pure tone (e.g. a sine wave, the "carrier"), and modulate it with a "modulator" - that is, adjust the frequency - or in reality, the phase - of that sine wave at frequency who's rate is an integer multiple of the carrier. Doing so generates harmonics from pure tones, and by doing so at integer multiples, these harmonics can be musical in nature.
    To do so, however requires that we connect the operators together. The most basic FM synthesizer has one carrier, and one modulator.
    Remember, modulators don't make sound, they change sound.
    Since we have 6 operators, we could have a synth that is as simple as having all 6 operators function as carriers. This would be a form of "additive" synthesis with up to 6 harmonics, and you can do this with Pollen(8)+FM - however with this synthesizer, as you can add feedback to each operator, the carriers can be harmonically rich - thus providing new sound possibilities such as 6x sawtooth waves etc.
    Or, we can have an algorithm where there is only one carrier, and 5 operators modulating each other and ultimately the carrier.
    Some items of note that might help you with your FM sound design:
    • Modulating a frequency by the same frequency (equal multiples), is similar to feedback - this generates even and odd harmonics, like a sawtooth
    • Modulating a frequency by twice the frequency (modulator is 2x the carrier frequency), will generate odd harmonics, like a square wave.
    • Setting a carrier frequency higher than the modulator frequency, tends to lean towards 'reedier' - buzzy tones.

    Lets go through each algorithm and try to describe each one. (Note - internal mixing will scale the result based on the number of carriers present - e.g. if there is only 1 carrier, you may find the overall sound 'louder' vs an algorithm where there are more carriers - though if you set the amplitudes to match there should be no issue)


    When we see multiple stacks like this, we can consider them as "separate" - for instance, here, we have two "separate" synthesizers running in parallel - one has 2 operators, with OP1 as the carrier (sound generator) and OP2 as the modulator (sound 'changer'), and then a second "synth" running in parallel with 4 operators in series - OP3 is the carrier, and it is modulated by OP4, who is modulated by OP5, who is modulated by op6. Generally, the more operators connected together results in more harmonically rich sounds.


    Two 3x operator FM synthesizers running in parallel. Can generate sharper harmonics vs the next algorithm:


    Probably the algorithm I like the most - so far, is this one. Here, we have 3x 2-operator FM synthesizers running in parallel. This is the algorithm used for the default electric piano sound, and can be easily used to generate warm FM pads, as it's like having a 3 oscillator synthesizer.


    Two FM synthesizers : A basic 2-top with OP1 and 2, and we have operator 3 (the carrier) modulated by operator 4, and in parallel modulated by operator 5 - who is also modulated by operator 6.


    Two FM synthesizers : A basic 2-op with OP1 and 2, and we have operator 3 (the carrier) modulated by operator 4, and in parallel modulated by operator 5 - who is also modulated by operator 6.


    Two FM synthesizers : A 3 op synth with 1 modulated by 2 modulated by 3, and operator 4 modulated by 5 and 6 in parallel.


    Two FM synthesizers : A 2 op synth with 1 modulated by 2, and operator 3 modulated by operator 4, who is modulated by operators 5 and 6 in parallel.


    Two FM synthesizers : A 2 op synth with 1 modulated by 2, and operator 3 modulated by operator 4,5 and 6 in parallel.


    Two FM synthesizers : A 2 op synth with 1 modulated by 2, and operator 3 modulated by operator 4,5 and 6 in parallel.


    One complex fm synthesizer, with OP1 as the carrier. The carrier, is modulated by OP 2, 3 and 4 in parallel, as well op4 is modulated by op5 - who is modulated by op6. Useful for complex tones like slap bass etc.


    3x FM synthesizers: 1x 3op synth where OP1 is modulated by OP2, who is modulated by OP3, and two more carriers (generators) that are both modulated by OP6. Add some feedback to op6 to create a richer sound.


    3x FM synthesizers : - Operators 1 and 2 are carriers, both modulated by operator 3. Operator 4 (carrier) is modulated by operators 5 and 6 in parallel - operators 5 and 6 do not affect each other.


    4x FM synthesizers, or 2 - depending on how you look at this. : Operators 1 and 2 are carriers, and are modulated both by operator 3. The same happens again with operators 5 and 6, both modulated by operator 6.


    4x FM synthesizers, or 2 - depending on how you look at this. : Operators 1 and 2 form a basic 2 op FM synth with OP1 as the carrier, and operators 3,4 and 5 are each modulated by operator 6.


    4x FM synthesizers, or 3 - depending on how you look at this. Operator 1 is a standalone carrier (remember all operators support feedback so this does not have to be only a sine wave), operators 2 and 3 form a basic 2 op FM synth with operator 2 as the carrier, and operators 4 and 5 are carriers modulated both by operator 6.


    5x carriers - operators 1 and 2 (carriers) are running standalone, and operators 3, 4 and 5, are each modulated by operator 6.


    5x carriers (similar as above) - operators 1 to 3 (carriers) are running standalone, and operators 4 and 5, are both modulated by operator 6.


    Operator 1 is running standalone, carrier 2 is modulated by operator 3 as a standard 2op FM synth - and carrier 4 is modulated both by operator 5 and 6 in parallel.


    3x carriers - Operator 1 is modulated by operator 2 in a standard 2op FM synth. Carrier 3 is modulated by operator 4, who is modulated by operator 5, and operator 6 runs standalone.


    4x carriers, with 2 stanalone oscillators, and 2 2-op FM synthesizers.


    4x carriers, with OP3, 4 and 5 forming a serial 3op FM synth.


    5x carriers, with operator 5 modulated by operator 6 in a traditional 2 op FM synth.


    6x carriers, no cross-operator modulation. Pure additive synthesis can be achieved here with 6 harmonics, but as each operator supports feedback, you can have 6x detunable sawtooth waves here if you like as well!


    Button B1 : Velocity Sensitivity Sets how much keyboard velocity will affect the amplitude of this operator.
    For Carriers, this affects the amplitude. For Modulators, this will affect the modulation amount - the actual "brightness" or timbre of the sound.

    • Knob 1: Frequency Coarse: Sets the detuning in semitone steps, -12 to +12
    • Knob 2: Frequency Fine: Sets the detuning +/- 1 semitone, with emphasis on finer control
    • Knob 3: Osc Shape: Smoothly mixes from triangle to sawtooth, and from sawtooth to pulse.
    • Knob 4: Osc Pulse Width: Sets the fixed base pulse width for the pulse waveform.
    • Knob 5: Osc LFO PWM amount: Sets how much the PWM LFO will affect the pulse width.
    • Knob 6: Osc Frequency LFO amount: Sets how much the pitch LFO will affect this oscillator's frequency.
    • Knob 7: SYNC: On or Off - enables this oscillator to synchronize with OSC1.
    • Knob 8: Pitch Eg Amount: Sets the amount (+/-) that the pitch EG will affect this oscillator.

    Button B4 : Envelope Amount Sets how much the envelope will affect an operator
    This only applies to operators configured as modulators. Much like the VA or many analog synths, there is no "envelope amount" for the VCA - and with the carriers, these are the actual sound "generators", thus setting envelope amounts for these will have no effect.
    This is a knob-per-operator menu.

    • Knob 1: OP1 Envelope Amount
    • Knob 2: OP2 Envelope Amount
    • Knob 3: OP3 Envelope Amount
    • Knob 4: OP4 Envelope Amount
    • Knob 5: OP5 Envelope Amount
    • Knob 6: OP6 Envelope Amount
    • Knob 7: Brightness Envelope Amount: This is a dedicated envelope for modulating the "brightness" value. It is not required but it can make sound design simpler when using it.
    • Knob 8: Brightness: This knob is duplicated around many menus, as it can be very convenient to set the overall timbre.



    Button B5 : Mod EG/LFO Configures the Mod EG / LFO for the operators.


    • Knob 1: Attack : Freq Mod EG Attack rate
    • Knob 2: Decay : Freq Mod EG Decay Rate
    • Knob 3: Sustain : Freq Mod EG Sustain level
    • Knob 4: Release : Freq Mod EG Release Rate
    • Knob 5: P Eg Amt - How much Pitch EG to apply (Affects all operators)
    • Knob 6: MW P LFO : Sets how much the modwheel affects the overall pitch LFO (vibrato) amount.
    • Knob 7: MW A LFO : Sets how much the modwheel affects the overall LFO amount for AMPLITUDE (tremolo).
    • Knob 8: MW Brt Amt:: Sets how much the modwheel affects the brightness amount.



    Button B6 : LFO Configures the LFO per operator
    This menu uses the operator selection functionality

    • Knob 1: PitchAmount to affect the selected operator(s) pitch.
    • Knob 2: AmpAmount to affect the selected operator(s) amplitude.
      - Use on modulators to get a "modulating filter" type sound
    • Knob 3: LFO Rate : Rate (frequency) of the LFO.
    • Knob 4: LFO Shp : Sets the shape of the LFO oscillator
    • Knob 5: LFO Dly : Sets how long to wait before starting the LFO on note-on.
    • Knob 6: Unused
    • Knob 7: Brightness : Sets the overall brightness value (this knob is duplicated in a few places for convenience)
    • Knob 8: Operator Selection : Selects which operator(s) to affect for the LFO.