VERSION 1.0.15 10/13/17
Added 8 Channel Phasor Effect.
VERSION 1.0.14 9/15/17
Fixed BUG 0028 Wave draw partials dial on oscillator and expanded views disagree.
Fixed BUG 0029 Modulated waveforms causes distorted FM.
Fixed BUG 0030 Polar filter has no audio until the gui is loaded.
Fixed BUG 0031 Wave draw toggle play waveform sin partials does not save to xml.
Fixed BUG 0032 Polar filter crashes for illegal point values.
Fixed the Polar Filter so it is stable at low frequencies and high resonance.
Fixed the Polar Filter so that the circles for the zeros and poles are distinguished form each other with different graphics.
To correct the polar filter on your system you will need to load and save your preset again after downloading the latest version. This is only necessary for a preset which uses the polar filter. To do this add the new Fathom plugin and load your preset. Make a small adjustment to the Polar Morph Filter so the processor load the correct points from the GUI. Then save the preset. Now when you load the preset again it will be correct and the polar filter will have audio.
VERSION 1.0.13 9/7/17
Wave table oscillator can now use Bezier Waves.
Bezier oscillator curves can now be edited in the large expanded view.
Noise and distortion frequencies now follow the note glide.
Added Note Velocity and After Touch as Modulators.
Fixed BUG 0020 Wave table FM is flat after load preset
Fixed BUG 0021 Reaper High CPU by adding instructions for Reaper multi-core support.
Fixed BUG 0026 Noise should play during zero oscillator volume and key track mod.
Fixed BUG 0027 Smooth ADSR note tail fails if multiple modulations.
Fixed edit lag on partials dial and waveform editing.
Fixed the modulation the list so deleting the first one moves the list up to the top.
Fixed Bezier black dot dragging outside of middle point
Program load and preview turned off audio during load to reduce choppiness.
Program load and preview added midi note filter during load to reduce choppiness.
Program load and preview added one second transition volume ramp.
Changed preset save so that the Bezier envelope portion of a waveform is not saved to file unless the points were moved. This reduces the size of presets, especially the wave tables.
Improved the noise distortion algorithm so it is slightly more intense at very low frequencies and smoother at higher frequencies. Also increased the intensity near the end of the dial range but kept the same intensity at the middle of the dial range. Also increased the richness using frequency ratios if the number of threads is increased.
VERSION 1.0.12 8/21/17
Fixed bug 0014 DC offset in audio output from wave draw oscillator.
Fixed bug 0015 Clicking in wave draw oscillator during subtract algorithm.
Fixed bug 0016 Clicking in wave draw oscillator during skip cycle.
Fixed bug 0017 Toggling detune disables glide.
Fixed bug 0018 Small dials fail to keep number visible if mouse over the dial name.
Fixed bug 0019 Fixed large dials so the mod range is updated while dragging.
VERSION 1.0.11 8/12/17
Added Bezier Curves to the Wave Draw Oscillator.
Envelope and LFO Period dials can now be modulated by other modulators.
Ability to copy all audio objects using the new Copy category.
Fixed additive spectrum sliders so that dragging over the sliders only changes the ones in the section in which the drag was started.
Fixed additive spectrum sliders so that dragging over both the top and bottom moves the sliders to either to maximum or minimum position.
Fixed additive spectrum sliders so that a fast drag does not leave blank spaces, instead all the sliders are aligned perfectly in the vertical to the path formed by dragging the mouse.
Added Save Default button to Detune page. Hitting this button saves the edited detune voice profile for the oscillator as the default. The default voice profile is used to set all the voice detune parameters when a new oscillator is first added. The voice profile is saved in FathomVoiceMap.xml in the same folder as Fathom.dll. To return to the original default voce profile simply delete the file.
Fixed Bug 0001 Volume ADSR for wave draw oscillator clicking, reported by RPH. In this case the click occurred with the wave draw oscillator if the master volume is modulated with an ADSR and a note is held while another one is tapped quickly. This was caused by the ADSR changing volume suddenly in the middle of a waveform cycle for a new note using the same voice. The bug is now fixed by changing the note handling logic so that the waveform cycle of the previous note on the same voice is allowed to finish before starting the next note. Effectively this aligns perfectly the ADSR note edges to waveform cycles thus eliminating the click.
Fixed Bug 0002 Wave draw click reported by Diego. The situation is now handled when two notes arrive at the same time in mono mode.
Fixed Bug 0009 reported by Solidtrax. Employing noise causes audio to suddenly shut off at the start of a new note. The noise algorithm is now fixed so that managing the start and stop of noise at the voice cycle start and stop does not affect the rest of the voice logic.
Fixed Bug 0010 Clicking at the end of notes. Reported by Starflakeprj and RPH. Bug was introduced in version 1.0.10 and is fixed in 1.0.11.
Changed the wave table left side default waveforms to improve the sound of the saw tooth. This eliminates the buzzing and improves the overall sound. It also eliminates the spectrum ripples.
VERSION 1.0.9 7/16/17
Added keyboard tracking to all filters.
Added Bezier curves to the modulator envelope.
Clicking on the middle point changes the exponential curve to a single cubic Bezier curve with two control points. Clicking on the middle point again creates a double cubic Bezier curve with three control points.
Added built in 13 band EQ and faders to the front panel.
Added a 12 band EQ to the filters.
Added overlay animation to center view including the master frequency spectrum and midi notes.
Added multiple display modes for showing the spectrum on either the center view or global panel.
Completely redesigned all algorithms in the Frequency Pulse oscillator to eliminate aliasing.
Previously the oscillator edges went in the same direction creating a spike which caused high aliasing. This required an internal filter. The edge transitions are now smooth eliminating the need for an internal filter.
Added two additional algorithms to the Frequency Pulse oscillator.
Added an acceleration dial to the Frequency Pulse oscillator.
Fixed a big which crashed the processor if two modulations target the same dial and the modulation amount of one of them is modulated
Fixed the small modulation amount dial to handle both selection and increment clicks.
Clicking directly on the center selects the dial for modulation. Clicking above or below the center increments the modulation amount by the smallest step which is 0.001.
VERSION 1.0.8 7/2/17
Host parameter automation complete. Virtually all interface controls can now be automated from the host, including big dials, toggle controls, small dials, and even ones that cannot yet be modulated internally.
To host automate a parameter click on the name above the control so that the name area is highlighted. Up to 32 parameters can be automated. Parameters must be selected from inside Fathom first because all objects are modular and therefore all parameters are dynamic. You must first tell the host which parameters it can access.
Oscillator graphs, filter graph, dials and toggles are all updated in real time as the host moves the parameter.
Added true band pass filter to digital delay effect keeping and renaming the existing parametric filter.
Drag and drop is now implemented for audio wave files. External wave files are now loaded by the wavedraw and wave table oscillators if the file is dragged from Windows into the oscillator view graph or the expanded wavedraw view graph. This is true for both waveform xml files and single cycle wav audio files.
Lowered all Filter minimum cutoff frequencies from 100 to 10 Hertz.
Reduced GUI memory foot print from 1.1 GB to 275 MB.
Keyboard tracking center view now shows keyboard graphics in order to more easily correlate areas in the envelope to midi notes. Also middle C is marked on the graphics.
Added mouse wheel wave file browser preview. In the waveform browser, clicking on a row selects the row and loads the waveform, clicking on the row again unselects the row. If a row is not selected the mouse wheel scrolls the list regardless of which column it is over. If a row is selected the mouse wheel scrolls the list and selects the next or previous waveform immediately. The GUI and audio processor use a handshake for loading the waveforms so that throwing the mouse wheel will not overload the processor.
Added real-time wave table graph animation for midi only notes.
Mouse wheel in browser is now effective over all columns (except the last).
Added mouse over graphics back to dials and fixed the bug in which the dials were stuck in the mouse over state.
Wave table File button now defaults to the Waves folder for a new installation.
Wave table oscillator default saw tooth waveform is now in the correct orientation in relation to all other saw tooth waveforms in the instrument. This prevents waveform cancellation which occurs if multiple saw tooth waveforms go in opposite directions.
Fixed dial manual text edit so that it changes the sound and graphs in exactly the same way as if the dial is moved.
Fixed wave table file button defaulting to wrong folder.
Fixed bug in which browser comment column was being cleared incorrectly.
Fixed bug which caused filters to go silent.
Fixed bug which caused glide to be deactivated if fine tune is modulated.
Fixed bug which caused glide to be deactivated if number of detune voice changed.
Fixed the all distortion and noise algorithms so that they compensate in real-time for modulated note and octave pitch.
Changed noise page distortion algorithm from digital to analog.
VERSION 1.0.7 6/10/17
This is an important bug fix release which you will need to eliminate the following two problems.
Fixed envelope timing bug which caused misalignment between the envelope and the song position. Timing code was redesigned so that the envelope is perfectly aligned to the host song position right down to the individual sample regardless of the length of the song or sequence.
Fixed octave pitch bug which caused the oscillator to go silent if the octave was moved from zero.
Version 1.0.6 6/7/17
Single cycle wav audio format files can now be imported into the wave draw oscillator.
The modulation amount dial on each mod slat can now modulated.
Manual number entry is now provided on all Dials.
All three of the following windows now scroll vertically in response to the mouse wheel: Left side audio component list, right side modulation list, right side modulator list opened when selecting a modulator.
Pitch Note and Pitch Octave dials are now modulated continuously instead of by discrete steps. Although the values are continuous they are mapped exactly to the semitones of the western equal temperament scale.
Expanding a modulation which points to a global parameter now jumps to the global panel.
Envelopes which modulate the partials dial are now synchronized to the oscillator cycle. Sharp vertical edges of the envelope are timed exactly to the next zero amplitude point in the oscillator. This allows very sharp analog sounding envelopes by permitting the envelope smooth samples parameter to be dialed all the way to zero with absolutely zero clicking when the partials dial is modulated.
Fixed audio engine so that it recalculates modulation buffers if the host beats per minute is changed. Recalculation is done in real time but immediately after the host sample block is processed to eliminate chance of it effecting the audio performance.
Changed the multiply modulation mode so that a positive value of the modulation amount increases the range above the target dial’s current amount but still starts at the parameter minimum value. This is useful for modulating the modulation amount using the multiply mode, whenyou want the target dial’s modulation range to fluctuate from the minimum value to a modulated maximum value.
The programs and waves folders are now stored permanently. Both folders hold their previous state when the GUI is reopened and also when the host is restarted and a new Fathom plugin is added. The locations are stored in Fathom.xml.
Saved programs with no name are given a default name followed by an incremented number. Saved wave files are given a default name followed by an incremented number.
Changed the processing of the maximum partial frequency so that the oscillator partials are adjusted continuously as the dial is moved or modulated instead of only at the start of each note.
Made envelope smoothing logic smarter. If the last point from the note on is equal to the first point of the note off then the envelope will always continue smoothly if notes are released before the end of the envelope. However, if the two points are not equal or the last point of the note off envelope is not zero, then the literal values of the note off envelope are preserved. This is important if envelopes or sequencers are used to modulate pitch.
Fixed bug which occurs when a modulation is deleted and the dial is displayed as not modulated even if another modulation remains on the same dial.
Fixed bug which occurs when added envelope segments do not obey the glide mode.
Change wave table oscillator graph update from 16 to 32 times per second. Also changed the engine to update the graphs using the latest voice from new midi notes.
Improved graphics for modulated dials.
Version 1.0.5 5/21/17
Wave Table Morphing Oscillator official release.
Added real-time oscillator visual graph updating for the wave table oscillator panel.
Added table filling feature to the wave table oscillator panel.
Changed oscillator distortion so that it no longer automatically enables detune when it is enabled.
Fixed bug in which the frequency pulse oscillator was silent until edited.
Fixed detune so that when the number of voices are changed the new voices continue playing the current note without interruption.
Fix bug which caused the LFO to cycle only once if trigger was set to note.
Version 1.0.4 5/10/17
Wave table oscillator Alpha Test release.
Version 1.0.3 4/29/17
Changed the internal name of the plugin to “Fathom” so it matches the file name and shows up in all host workstations as “Fathom”, instead of “Synthesizer”.
Fixed CPU note handling for FL Studio so that all notes in a chord play without cutting out.
Fixed global panel spectrum graph so it runs when notes are played live on the midi keyboard.
Fixed all oscillator Pan dials so that they can be modulated correctly.
Fixed the addition of new oscillators so that the buffers are precalculated before oscillator dials are adjusted. This increases the polyphony when new oscillators are added and when presets are loaded.
Fixed clicking at start of playing a host sequence which was caused by distortion filter delay registers not being cleared for non-adjacent notes.
Changed build so that library files are statically linked enabling the plugin to run in Windows 10.
Version 1.0.2 4/24/17
Mono and glide modes remember a MIDI note hold and return to the first note when the second note is released. The algorithm is tough enough to handle multiple overlapping notes as well as any amount of tapping above or below the hold. This change was critical for real mono style performance.
LFO and envelope period dials now provide both whole and fractional numbers with fine precision.
Modulator envelope now remembers the previous step and glide segment edge profiles so that if you switch between the two modes you do not lose your point locations.
Signal flow view detects feedback loops and will not allow a connection that produces one. The new algorithm performs a deep search and is smart enough to detect a potential feedback loop in complex topologies.
Signal flow view will not allow connection into an oscillator except from another oscillator.
Fixed the bug in which the plugin volume dropped to zero if the master volume dial was moved while physically pressing a MIDI note.
Fixed the modulator envelope repeat pattern feature starting from the last point so that it works for glide as well as step segment edge modes.
Fixed the new oscillator connection so that it does not automatically go to FM if the carrier oscillator was already set to AM.
Both mono and pro releases now include both Windows 32 and 64 bit executables.
Version 1.0.1 4/15/17
Additive Spectrum oscillator increased number of partials from 32 to 64.
Double clicking on modulators in the mod matrix list now selects the modulator without having to click on the check box at the top.
The main tool bar Expand button is blacked out on mouse over unless the button is active and the selected object can be expanded.
The Add Mod button is blacked out on mouse over unless the the button is active when a dial knob has been selected and a modulation can be added.
Hitting the Add Mod button without first selecting a dial will now show a message over the modulation matrix telling the user to first select a dial.
Program Browser remembers the last column sort when reopened.
Program Browser remembers the last column sort when changing folders.
Double clicking a row in the Program Browser now loads the program.
Double clicking a row in the Waveform Browser now loads the waveform.
Clicking audio unit icons in the signal flow view now changes their signal flow throughput mode.
Icons change color where green is bypass and red is block.
Clicking once selects the audio panel but does not change the mode.
Clicking a second time changes the throughput mode to bypass such that the input is transferred to directly the output bypassing the unit processor.
Clicking a third time changes the throughput to block such that the output is zero thus eliminating audio from that unit to its outputs.
Clicking a fourth time cycles the throughput mode back to normal processing.
For oscillators there are only two states instead of three, process and block.
Fixed the phase dial on the analog saw so that it can be modulated.
The Blank Program in the Browser now contains an ADSR on the Master Volume.
Version 1.0.0 4/3/17
First product release.