Seaweed Audio has updated Fathom to version 2.32, which features Serum Wave Table import/export and MIDI Learn. This release also includes audio processor improvements which eliminate distortion during dial and point movement.
- Added MIDI Learn. Changed the interface so the user can select any dial and move a MIDI control signal to automatically add a MIDI modulation. Also added a MIDI Learn setting to control whether or not this process is activated.
- Added Serum Wave Table import and export. Fathom can now load and save Serum format wave tables or any wave table stored as a series of cycles in a WAV file.
- Added two new settings to control Serum Wave Table processing.
- The new Wave Table Interpolate setting controls whether tables are loaded literally in serial exactly as saved in the WAV file or if they are interpolated to Fathom's internal number of waves per table.
- The new Save Serum Wave Tables setting controls whether or not Fathom saves tables to Serum format when a wave table is saved. Both settings also include an edit box so the user can set the number of samples per wave cycle.
- Massive changes were made to the processor in this release which eliminate all audio glitches during dial and point movement. These changes are described in more detail below.
- Changed the processor threading design to eliminate audio stuttering when any edit is made which requires the calculation of an audio or modulation buffer. This includes the movement of wave draw Bezier points, envelope Bezier points, wave draw free hand mouse movements and movements of the oscillator partials dial.
- Added a new processor setting "Calculate Buffers in UI Thread" which controls the new threading model. The new threading model can be enabled or disabled to the user's preference depending on which host they are using and how much time the host grants to the user interface thread.
- Completely redesigned the GUI to Processor interface in regard to all waveform data. The new GUI does not share any wave buffer references with the audio processor. This completely eliminates any potential for bugs or crashes caused by multiple threads accessing the same wave buffer.
- Redesigned the wave draw and wave table oscillator processors to reduce time delays caused by buffer calculations when dials are moved.
- Added three new algorithms to the list of wave table algorithms: Crush, Overdrive and Hard Sync. The Algorithms now include Morph, Add, Subtract, Phase, Pulse Width, Pulse Width Power, Crush, Overdrive and Hard Sync.
- Adjusted the wave table processor so that the number of partials per wave period remains constant when the skip cycle value is increased. This feature is automatically enabled for new oscillators and new presets, but disabled when an old preset is loaded in order to preserve the backwards compatibility for the audio of existing presets.
- Replaced the default Wave Table with a better sounding analog wave series.
- Changed the interface so clicking on the LFO Draw modulator graph navigates to the expanded wave draw view like it does for the Wave Draw Oscillator graph.
- Fixed a bug which caused the edited modulators list to become empty if the GUI is closed and reopened.
- Fixed a bug which caused MIDI control signals to be ignored if the signal envelope is changed by the user in the host when the host transport is stopped. MIDI input signals are now updated when the host transport is stopped so that any modulation values depending on any MIDI signal are always updated.
- Fixed a bug in the modulator smoothing logic which caused the modulated value to jump to a previous value after the modulator is edited or the target dial is moved. This was caused by failing to clear the modulator state after a value was edited.
- Fixed a but in the modulator logic which caused envelope smoothing to echo the modulation value of previous notes.