Fathom Synth Development Thread

VST, AU, AAX, CLAP, etc. Plugin Virtual Instruments Discussion
Post Reply New Topic
RELATED
PRODUCTS
Fathom Synth

Post

Instead of the Arpeggiator consider allowing Fathom to host
VST (Vsti) midi fx.

There is Blue Arp and other free and paid excellent arps
available. And for that matter all kinds of midi fx, midi generators
and such availbale. see
viewtopic.php?f=6&t=517113
This will make it super convenient for us to use mind midi altering plugins.

Post

I'd rather see what kind of ideas would be implemented in a native Fathom arp. A hosted arp would be relatively deficient with regards to MIDI resolution and realtime block processing. A native arp could modulate targets with better interpolation methods and perform better since it has all the data. And perhaps if the arp is interesting it could be made into its own product.

Honestly I don't see any particular advantages of hosting over simply placing the MIDI FX in front of Fathom, and only disadvantages. Perhaps you can elaborate?

Post

Distorted Horizon wrote: Tue Feb 25, 2020 7:02 pm And he built one synth to rule them all...
And here I was wondering, what's the true purpose of the Ring modulator... :hihi:

Post

In my opinion the Sampler would be higher priority than the Arpeggiator, and that would also apply I think to GPU Spectral Processing as well as the Analog Emulator which I have planned right after AVX.

Not to mention the fact that I personally have no trouble doing any arpeggiation I want in Fathom by simply applying the sequencer to the octave pitch. People might not realize this but if you apply the sequencer to the octave pitch and set qauantize amp to 12 then internally Fathom is smart enough to secretly set each level to the exact tonal ratio of each western scale half step and not simply divide it exactly by 12. So I still do all my arpeggiation in Fathom using the sequencer. That basically gives you everything except prepackaged patterns.

However, the reason that a real Arpeggiator continues to stay on my list is that due to my background in classical piano my plan is to create the ultimate Arpeggiator with a huge collection of patterns from many different genres of music.

Post

^^^
I look forward to your ultimate Arpeggiator!
Ignore my previous post about arps.

Post

Of the arps Ive seen the one by xfer records cthulhu is by far the best. Perhaps some inspiration can be gotten from it?

how easily you can set amount of notes before it repeats and jumping octaves is so easy to use
CHOOSX Remakes on my Youtube Channel

Post

Fathom's arpeggiator will be developed based partly on my own intuition of how an arpeggiator should work ideally and also based on user input.

There will be a huge library of patterns as well as a simple way for the user to enter their own patterns and save them. Then when you run you simply hit a note for major chords or a pair of notes for minor chords and the engine automatically transposes the entire pattern in real time. The whole idea is to get the absolutely highest quality patterns as fast as possible. This is nothing new. This much I think would be common to any arpeggiator.

Most real musicians tend to think of patterns abstractly by interval not by specific notes in one key. And this is true of anyone even if they don't know the classical terminology for intervals. Tonic, Dominant, Sub-dominant, Mediant, Sub-mediant. So this is how pattern creation should work. The intervals on the Y axis should show either this or the more common terminology root, third, fifth, seventh, etc. And in this mode the user simply clicks on the desired intervals and the engine take care of everything else.

Obviously all this happens in real time while the host is playing so you can experiment.

My own philosphy for an arpeggiator is based on the fact that any host is already an arpeggiator so the point is not simply to enter notes since you can already do that in the host. Rather the entire point of one is to very quickly provide inspiration.

It will also include the ability to quickly learn a pattern from any midi sent through it plus it will include a strumming engine.

Post

Sounds great, looking forward to the arp. Besides, arped presets are good show-offs for a synth. :wink:
Thu Oct 01, 2020 1:15 pm Passing Bye wrote:
"look at SparkySpark's post 4 posts up, let that sink in for a moment"
Go MuLab!

Post

yellowmix wrote: Tue Feb 25, 2020 8:01 pm Honestly I don't see any particular advantages of hosting over simply placing the MIDI FX in front of Fathom, and only disadvantages. Perhaps you can elaborate?
It simplifies routing.
Nora does it in reverse.
the Nora arp can host VSTi's.
I suspect of the same reason.

Post

Recently I found this video in this thread on Gearslutz
https://www.gearslutz.com/board/electro ... iques.html

The author suggests (and demonstratrates) some unusual synthesis techniques. The video is dating from 2015, but still shows some innovative concepts. There might still be some inspiration in there.

To zoom in...

I noticed (in Everett's feature/development update 2 weeks ago) that one of the techniques in this video, Bezier Curve (point/coordinate) modulation, is actually (already and high) on the Fathomsynth backlog...

I'v been pondering Bezier curves as oscillators for some years and was pleasantly surprised that they were implemented in Fathomsynth! And now we might move towards modulation of the Bezier Curve shape...

The Bezier Curve point modulation can be seen as a combination of phase (horizontal axis) and amplitude modulation (vertical axis). If they would be applied at audio rates both techniques (AM and FM/PM) will produce sidebands.

Bezier Curve modulation at less then audio rates is more of a waveshaping process and a non-linear process in the spectrum domain and might also go inharmonic pretty soon.

I bet these modulations can produce pretty unique timbral movements. Way more versatile then waveshaping using phase modulation/distortion or amplitude modulation with "carrier" and "modulator" running in sync at the same frequency. For example the sort of waveshaping you get when setting the carrier frequency to zero on a PM synth and modulation it with some other wave(s). BTW, true FM won't allow a zero Hz Carrier, PM does, but not many "FM" (PM) synths support it. The Yamaha SY77/99 do support zero Hz carriers and can even set the initial phase. But I digress....

Also, Bezier Curves can be modulated asymmetrically on both horizontal and vertical axis...and you could only modulate separate/specific curve (cycle) segments...

Another way to modulate the bezier curve shape might be modulating length and/or angle (in degrees) of a specific "control line" (complementary to modulating individual xy-coordinates of the controll points already foreseen).

I bet Bezier Curve Modulation will open up a whole new world...

https://youtu.be/AQqXRSV8msA
Last edited by Kwurqx on Wed Mar 11, 2020 10:48 am, edited 1 time in total.

Post

Fascinating video. I’ve made a note to refer to it for future oscillator features in Fathom. The Bezier point modulation covered in the video is already planned for Fathom in the near future.

These are my current plans for Bezier point modulation.

Phase 1 Modulator Segment Time Modulation

This allows the time value or width of segments to be modulated with other modulators. This would include both Bezier segments and simple line segments. This will be very useful for creating sharp attack and string sounds where the attack or any other phase of an envelope can be modulated with note velocity or other modulators. This is relatively easy because the curve does not need to be recalculated only the time value assigned to the segment.

Phase 2 Waveform Segment Width Modulation

Same as segment width modulation for envelopes except it is applied to oscillator waveforms.

Phase 3 Bezier Point XY Modulation

This will allow modulation of both the width and height of Bezier segments without modulating the shape. This will apply to both envelope and waveform segments. This is also relatively easy to implement since the shape of the curve does not need to be changed only the time value of the width and the amplitude of the height.

Phase 4 Bezier Point Free Modulation

In this technique all parameters of the Bezier curve can be modulated in real time including the shape of the curve. This is more complex since it runs up against real time constraints since the shape of the entire Bezier curve must be recalculated as it is modulated and this can not be done per sample.

Several strategies would allow a close approximation of this. For waveforms it can be done using wave tables to create a series of frames. Another strategy would be to allow recalculation of the Bezier curve but only once every sample block.

Since the first three are relatively easy to implement given Fathom’s current architecture this will probably be done shortly after the first Intel AVX release.

I also plan in introducing GPU (Video Card) spectral processing shortly after the Intel AVX release which will allow any user modulation of all spectrum partials in real time.

Post

Another thing to maybe explore: spectral mirroring (for lack of a better name).

Considering a specific harmonic/frequency spectrum...in 2D, frequencies and their amplitude.

Position a "mirror" somewhere in the harmonic/frequency spectrum to "reflect" the harmonics "seen" in the "mirror" and project them back into the "viewer" side (in mirrored/reverse order). A "mirror" might be also be tilted "down", so it will "reflect" ("see") less frequencies. You could then move/modulate the "position" and/or "angle" of the mirror.

The effect of "mirror reflection" with the vertical "reflective surface" facing towards the lower frequencies is comparable to digital aliasing caused by "reflection" at the Nyquist frequency (could thus be achieved by moving the Nyquist frequency: samplerate modulation.). Tilting of the mirror can be seen as a sort of highpass filtering of the "reflection" (not seen in aliasing).

Reflective surface towards the "high" end is somewhat comparable to FM/PM related reflection where the "mirror" is at 0 Hz. Though with FM/PM it's only the frequencies from the "difference" sidebands bouncing back from the 0 Hz "wall". Tilting of the mirror can be seen as a sort of lowpass filtering of the "reflection".

The amount of (possible) harmonics per octave will be higher towards the higher end of the spectrum. But normally, amplitudes will be lower towards the high end. Reflecting the lower spectrum towards the higher will probably have less dramatic effects then reflecting the high back into the low.

The position of the mirror is of course not limited to 0 Hz or Nyquist. And the angle could be anything between vertical and horizonal (acting like a "filter").

To complicate things you might even have more then one mirror placed in the spectrum. Either facing the same way or facing each other. Might even reflect eachothers reflections (eventually moving towards noise).

Maybe have control over the amount of "light" reflected (relative amplitude of the reflected signal). Might have a one-way mirror, where one side will reflect and the other is see-through. Have opacity and/or reflectiveness controlled (amplitude of reflected and/or see-through "light").

Might even deform (e.g. bend) the mirror surface, deforming the reflection(s).

Anyway...just pondering...

Post

Once I add GPU processing almost any function imaginable can be applied to the spectrum and all partials can be calculated at runtime with no delay using the GPU. This will open up almost an infinite number of spectral functions to the user including the mirror idea you proposed above.

The advantage of GPU is that all the partials can be summed on the video card in real time and maintain a perfect alias free oscillator with sample level resolution using any partial modulation function. It's basically the "holy grail" of synthesis in my humble opinion since it makes almost any wave shaping possible per sample resolution with zero aliasing.

The funny thing is I already have GPU processing working in Fathom in my development build. The only reason it is not currently part of the product is the amount of testing it will require before the first release.

For me the biggest advantage will be spectral noise. This will provide the missing link for true analog emulation. Here's how it will work.

Fathom GPU will basically provide the following. The standard view of the spectrum will be provided in a graphical display with a new panel of controls under it. An array of built in oscillator modulation functions will be provided which can be applied to any individual partial or zone of partials in the spectrum with either hard or soft edges. The frequency edges of each zone in the spectrum will probably offer several options such as square, triangle, Gaussian. Zones will be abstract and limitless meaning they can overlap and flow through each other. Each modulator will have a random generator as well as the ability to link in any other normal modulators. Each modulator will then modulate the zone of partials in both XY, meaning side to side in frequency or up and down in amplitude, or both.

Functions will include the ability to move spectral shapes through the entire spectrum using macroscopic modulators such as LFO's and ADSR's as well as the ability to perform random vibrations at the microscopic level such as vibrating partials between its own frequency and that of its nearest neighbor. This will give you the ability to add noise to specific frequency bands.

This entire strategy will provide rich orchestral and analog sounds before the oscillator even goes through the existing detune and phase modulation.

Post

Mindboggling to read the above.

I can't get my head around how fast and efficient processing must be to run all these complex algorithms in realtime. But apparently it is possible.

Then let's throw some more ideas on additive/spectral manipulation on the virtual table.

- On the spectral (individual or zone) modulation....let's then also introduce FM/PM and AM....on a harmonic/spectral level. Since each harmonic has both an amplitude and a phase.
- You could have a spectrum and some other spectrum summed/mixed and modulate the phase and/or amplitude of one of them (or have this at harmonic/zone level). Causing amplitude modulation effects at harmonics/zone level accross the spectrum.
- What would happen if you would sweep some form of amplitude shaping back and forth over (part of) the spectrum at audiorate? Sort of like highly controllable audiorate filter frequency modulation.
- Actually, you could "draw" any "filter" shape, "simply" implemented as an amplitude shaper effecting a harmonic series. Sort of how my old Kawai K5 Additive synthesizer implemeted its "filter" and "EQ" (in a much simpler and limted way)

Post

Just hopped on the way back machine and....

Just found a sort of concise description of the Kawai K5 features....from an Sound On Sound review article from its introduction year 1987.
http://www.muzines.co.uk/articles/kawai-k5/2552

The Kawai K5's basic additive-all-the-way architecture can be exploited way better in so many ways using current technology.

Post Reply

Return to “Instruments”