Fathom Synth Development Thread
-
- KVRAF
- Topic Starter
- 1579 posts since 25 Mar, 2017
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.
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.
- KVRist
- 384 posts since 28 Nov, 2013 from Germany
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
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.
- KVRAF
- 2094 posts since 22 Sep, 2016
And here's one of the first Plugins, I go aware of the possibility of GPU-driven https://www.liquidsonics.com/software/reverberate-le/
-
- KVRAF
- Topic Starter
- 1579 posts since 25 Mar, 2017
Thanks for posting these, very helpful.
This is proof that the latency problem can be solved.
This is proof that the latency problem can be solved.
-
- KVRAF
- Topic Starter
- 1579 posts since 25 Mar, 2017
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.
However, I'm not sure it is safe to assume that Serum has published their format or made it public.
-
- KVRAF
- 3735 posts since 17 Sep, 2016
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.
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
-
- KVRAF
- Topic Starter
- 1579 posts since 25 Mar, 2017
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.
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.
-
- KVRAF
- 3735 posts since 17 Sep, 2016
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.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.
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:
Bulent (@KV331 the SynthMaster dev) stated this in another thread here at KVR a while back: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
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
-
- KVRAF
- 3735 posts since 17 Sep, 2016
-
- KVRAF
- 2008 posts since 11 Aug, 2012 from omfr morf form romf frmo
viewtopic.php?f=33&t=517146FathomSynth 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.
-
- KVRAF
- 3735 posts since 17 Sep, 2016
Nice find!yellowmix wrote: ↑Sun Feb 24, 2019 3:41 amviewtopic.php?f=33&t=517146FathomSynth 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.
You got the Serum dev and the u-he dev talking about the wavetable spec in the same thread!
Windows 10 and too many plugins
-
- KVRist
- 38 posts since 6 Sep, 2017
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.
- KVRian
- 1090 posts since 6 May, 2010 from Munich, Germany
@ 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
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
- KVRAF
- 2094 posts since 22 Sep, 2016
I support PietW here. Actually I wanted to write the same... Not quite sure but I think AudioTerm supports the format as well.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
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