Fathom Synth Development Thread

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

Post

Thanks for your support.

My goal in 2019 is to finally push Fathom into the Serum/Avenger/Thorn realm, and CPU efficiency is really the last remaining weakness standing in the way of doing that.

Post

Ok, sounds like you are well aware of the potential limitations and pitfalls. Here's a video for some more motivation:
https://www.youtube.com/watch?v=Tg3OVbsBn6c
He also provides the source code with a permissive license here: https://github.com/dkmooers/gpu-synth
Passed 303 posts. Next stop: 808.

Post

And here's one of the first Plugins, I go aware of the possibility of GPU-driven https://www.liquidsonics.com/software/reverberate-le/

Post

Thanks for posting these, very helpful.
This is proof that the latency problem can be solved.

Post

Will it eventually be possible to import wavetables in the format serum in Fathom?
Owner of the FB site of Audioterm

Post

Importing/exporting wave tables in another format would be a very easy change.
However, I'm not sure it is safe to assume that Serum has published their format or made it public.

Post

I have a folder on my computer with some downloaded Serum wavetables (they load fine in SynthMaster).

I followed the instructions in the Fathom manual, section 9.4, Saving and Loading Waves and Wave Tables.

I browsed to the file location and could get these wave files to load into Fathom, but unless I am missing something it only seems to load one wave from the Serum wavetable, and not the entire table.
Windows 10 and too many plugins

Post

Fathom will automatically load a folder full of 16 WAV files into the wave table oscillator.
Can Serum save its wave table to a folder of WAV's?

The fact that Fathom loads a Serum wavetable as a single WAV means that Serums is using a format similar to WAV to save it's table, probably some kind of array of WAV's which is why Fathom is loading the first one. However, it is a miracle that it worked at all, and Fathom is not designed to load Serum wave tables.

Another possibility is that Serum is simply using SynthMaster's format since SynthMaster came first and is much older than Serum. It is also possible that there is some kind of a standard format for an array of WAV's that both of them are using, which I don't know about.

The bottom line is, if you want me to do this, you will need to find some sort of specification which Serum is using, otherwise I have no way of knowing the format. My guess is that Serum would be much more amenable to giving a hint about of their file format to a paying Serum user than to the developer of a competing product.

Post

FathomSynth wrote: Sat Feb 23, 2019 10:29 pm Fathom will automatically load a folder full of 16 WAV files into the wave table oscillator.
Can Serum save its wave table to a folder of WAV's?

The fact that Fathom loads a Serum wavetable as a single WAV means that Serums is using a format similar to WAV to save it's table, probably some kind of array of WAV's which is why Fathom is loading the first one. However, it is a miracle that it worked at all, and Fathom is not designed to load Serum wave tables.

Another possibility is that Serum is simply using SynthMaster's format since SynthMaster came first and is much older than Serum. It is also possible that there is some kind of a standard format for an array of WAV's that both of them are using, which I don't know about.

The bottom line is, if you want me to do this, you will need to find some sort of specification which Serum is using, otherwise I have no way of knowing the format. My guess is that Serum would be much more amenable to giving a hint about of their file format to a paying Serum user than to the developer of a competing product.
Serum wavetables are in .wav file format. It's not a folder. I have a folder collection of dozens of these Serum .wav wavetables that I downloaded. There's a gazillion of them available for free on the web.

SynthMaster only recently added full wavetable support with release 2.9 or so, after the dev ported the feature over from his new synth SynthMaster One. They both can load Serum wavetables in the .wav format, so I'm guessing it is some standard format, supporting up to 256 waveforms.

From the SynthMaster One manual:
You can add to SynthMaster One's Wavetable library with your own wavetables and single cycle waveforms, including ones taken at different root keys.

When importing waveforms or wavetables, SynthMaster One takes care of the resampling, filtering and phase alignment of multisamples automatically, using spectral (FFT/IFFT) processing.
Note that the maximum period length supported by SynthMaster One is 2048 samples. Also, if you are
importing wavetables (multiple periods in a wave file) the file length must be a multiple of 2048 samples
Bulent (@KV331 the SynthMaster dev) stated this in another thread here at KVR a while back:
For wave files containing multiple cycles (wavetables) :

If a loop is defined between 0 and N and the (file length)/N is M, then SynthMaster assumes the wavetable length is N and there are M waveforms in the file. (sorry for the math :) ) Otherwise, it assumes the single cycle length is 2048
Last edited by zzz00m on Sun Feb 24, 2019 12:07 am, edited 2 times in total.
Windows 10 and too many plugins

Post

Creating Wavetables for SynthmasterOne
https://youtu.be/d-LTM4SpDyk
Windows 10 and too many plugins

Post

FathomSynth wrote: Sat Feb 23, 2019 7:37 pm Importing/exporting wave tables in another format would be a very easy change.
However, I'm not sure it is safe to assume that Serum has published their format or made it public.
viewtopic.php?f=33&t=517146

Post

yellowmix wrote: Sun Feb 24, 2019 3:41 am
FathomSynth wrote: Sat Feb 23, 2019 7:37 pm Importing/exporting wave tables in another format would be a very easy change.
However, I'm not sure it is safe to assume that Serum has published their format or made it public.
viewtopic.php?f=33&t=517146
Nice find! :tu:

You got the Serum dev and the u-he dev talking about the wavetable spec in the same thread! :party:
Windows 10 and too many plugins

Post

Fathom loading wavetables of any length/sample size has huge implications when you consider it's 2D wave capabilities. Fathom is dangerously close to full blown wave terrain synthesis, loading any two wavetables with the same sample size and morphing between them in real time. There isn't a softsynth yet that does this, it's been relegated to the likes of Csound and similar hyper-academic software.

Post

@ Fathom Synth
My suggestion should not be a criticism. The format for Serum, Synthmaster, Icarus, Falcon has now become a quasi standard. U-He also uses this format in Hive. So. There are many wavetables in this format and it would be nice to use them in Fathom as well.
The format for serum uses 256 waveforms, Fathom uses 16 waveforms. Maybe there is the possibility to convert these wav files for Fathom?
As I said. I absolutely wanted no criticism or quarrel.

Piet :)
Owner of the FB site of Audioterm

Post

PietW. wrote: Sun Feb 24, 2019 11:42 am @ Fathom Synth
My suggestion should not be a criticism. The format for Serum, Synthmaster, Icarus, Falcon has now become a quasi standard. U-He also uses this format in Hive. So. There are many wavetables in this format and it would be nice to use them in Fathom as well.
The format for serum uses 256 waveforms, Fathom uses 16 waveforms. Maybe there is the possibility to convert these wav files for Fathom?
As I said. I absolutely wanted no criticism or quarrel.

Piet :)
I support PietW here. Actually I wanted to write the same... Not quite sure but I think AudioTerm supports the format as well.
What I have written during the Fathom One Synth Challenge was actually the same. I'm quite into wavetables and I have found a way to import speech samples into Fathom. But the process was quite tedious and required some manual steps, you can check out the track below, it was completely done with fathom. The speech sample for "kybernetik" was 4 fathom instance because the number of WT slot is/was limitied to 16 only. So I split the words into 4 times 16 slots with 4096 samples each...
Anyway, long story short - WT synths like Icarus have a set of quite supportive tools to import arbitrary wavs into WT or edit WTs. Icarus for istance has the "resample" option that takes an sample and creates a proper WT of it. It's basically the "manual" steps I have described with some extra mojo ;-).
Why the 2048 samples - it's very close to note F1 played at 44.1Khz...i.e. if you do the maths it's one cycle of 2048 samples for the F1.
I think you can even check out my patches - because I took 4 place in the OSC I was able to contribute them: It's the programms "kYbernetik 1.Lead.PeterH._.0.Program" - "kYbernetik 4.Lead.PeterH._.0.Program" in the "international/PeterH" folder. Import them into your DAW and play them one after another with a F1 and it should reproduce the word.

I remember that I have even edited the Fathom WT files - which are plain XML with individual samples in a list - by hand. The list output I generated from Audacity which has a textual exporter. Probably a proper spec of the file type would enable programmers (which are not lazy as I am) to write importer software ;-).

Just one Idea - Probably a "Open Extensible Editor Interface API" where musician-programmers could add their javascript editors as "plugins" to Fathom would also be a good thing... thinking here about how Bitwig supports arbitrary hardware controllers...

Why I write this: Because Fathom is a Beast Synth - I have not yet seen any other Synth with for instance the "Leave one out" Option for the Oscillators. That shows me that Everett is a clever guy with lot's of ideas. Just wanted to contribute some things I have learnt elsewhere that could help Fathom.

https://soundcloud.com/p-e-t-e-r-h/the-kybernetic-gods

Post Reply

Return to “Instruments”