Fathom Synth Development Thread
-
- KVRAF
- Topic Starter
- 1584 posts since 25 Mar, 2017
Yes, Selling banks on the Fathom website is a 50/50 split.
At the same time we also allow the sound designer to sell the same bank on their own web site and in that case they keep 100%.
At the same time we also allow the sound designer to sell the same bank on their own web site and in that case they keep 100%.
- KVRAF
- 22916 posts since 8 Oct, 2014
That's actually very generous of you. So that I make a large enough library, what is the average size of the libraries you sell?FathomSynth wrote: Fri Jun 28, 2019 4:53 pm Yes, Selling banks on the Fathom website is a 50/50 split.
At the same time we also allow the sound designer to sell the same bank on their own web site and in that case they keep 100%.
-
- KVRAF
- Topic Starter
- 1584 posts since 25 Mar, 2017
Wagtunes, The smallest libraries are 32 presets, such as Solidtrax base, but they put a lot of time into each preset making each bass one which you can literally build a song on.
The largest preset libraries are 100 presets, and the average large bank is around 60 presets. Scrubbing Monkeys and Ambietica tend to put a lot of time into each preset, more than most people would. So anything between 32 and 60 is good.
My next bank "Trance Warehouse" will be 200 all rhythmic presets for trance and rave artists, but that is an exception since I'm building the bank by simply saving my rhythmic presets I use for modulation testing as I do them over the last year.
Rumos, Here's the Fathom X Gui Plan:
Fathom X or "Leviathan" will be the first synth of it's kind to have an all metal 3D GUI. Instead of developing the GUI artwork like most interfaces with 2D photoshop images, the interface will be rebuilt from the ground up using a 3D model of the entire interface using 3DS Max, Maya, Blender or even the Crytek editor. Then the entire model will be skinned with reflective metal and a series of 2D renders will be generated with different light source angles. Then when the final interface is done when you move your mouse over the interface the metal reflections will morph between the different reflection angles. No one has ever seen anything like this before and it will be the slickest interface ever developed for a synth.
The largest preset libraries are 100 presets, and the average large bank is around 60 presets. Scrubbing Monkeys and Ambietica tend to put a lot of time into each preset, more than most people would. So anything between 32 and 60 is good.
My next bank "Trance Warehouse" will be 200 all rhythmic presets for trance and rave artists, but that is an exception since I'm building the bank by simply saving my rhythmic presets I use for modulation testing as I do them over the last year.
Rumos, Here's the Fathom X Gui Plan:
Fathom X or "Leviathan" will be the first synth of it's kind to have an all metal 3D GUI. Instead of developing the GUI artwork like most interfaces with 2D photoshop images, the interface will be rebuilt from the ground up using a 3D model of the entire interface using 3DS Max, Maya, Blender or even the Crytek editor. Then the entire model will be skinned with reflective metal and a series of 2D renders will be generated with different light source angles. Then when the final interface is done when you move your mouse over the interface the metal reflections will morph between the different reflection angles. No one has ever seen anything like this before and it will be the slickest interface ever developed for a synth.
-
- KVRer
- 18 posts since 3 Oct, 2018
Thanks for your detailled answer. That sounds absolutely great, as I am a big fan of Blender!FathomSynth wrote: Fri Jun 28, 2019 5:18 pm Rumos, Here's the Fathom X Gui Plan:
Fathom X or "Leviathan" will be the first synth of it's kind to have an all metal 3D GUI. Instead of developing the GUI artwork like most interfaces with 2D photoshop images, the interface will be rebuilt from the ground up using a 3D model of the entire interface using 3DS Max, Maya, Blender or even the Crytek editor. Then the entire model will be skinned with reflective metal and a series of 2D renders will be generated with different light source angles. Then when the final interface is done when you move your mouse over the interface the metal reflections will morph between the different reflection angles. No one has ever seen anything like this before and it will be the slickest interface ever developed for a synth.
I'm already very excited about the new version
- KVRAF
- 22916 posts since 8 Oct, 2014
Okay, well most of my libraries are at minimum 150 patches and some as many as 350 to 500. But I basically do patches that can actually be used in songs. They're going to appeal more to people who are writers and producers than people who are modular synthesist junkies. I just don't roll that way. So this library may or may not do well. Hard to say.FathomSynth wrote: Fri Jun 28, 2019 5:18 pm Wagtunes, The smallest libraries are 32 presets, such as Solidtrax base, but they put a lot of time into each preset making each bass one which you can literally build a song on.
The largest preset libraries are 100 presets, and the average large bank is around 60 presets. Scrubbing Monkeys and Ambietica tend to put a lot of time into each preset, more than most people would. So anything between 32 and 60 is good.
My next bank "Trance Warehouse" will be 200 all rhythmic presets for trance and rave artists, but that is an exception since I'm building the bank by simply saving my rhythmic presets I use for modulation testing as I do them over the last year.
Rumos, Here's the Fathom X Gui Plan:
Fathom X or "Leviathan" will be the first synth of it's kind to have an all metal 3D GUI. Instead of developing the GUI artwork like most interfaces with 2D photoshop images, the interface will be rebuilt from the ground up using a 3D model of the entire interface using 3DS Max, Maya, Blender or even the Crytek editor. Then the entire model will be skinned with reflective metal and a series of 2D renders will be generated with different light source angles. Then when the final interface is done when you move your mouse over the interface the metal reflections will morph between the different reflection angles. No one has ever seen anything like this before and it will be the slickest interface ever developed for a synth.
Of course I might decide to make a dedicated bank called "modular" that can show off the capabilities of the synth. It's not something I've ever done before (though not hard to do) but maybe I'll give it a shot. Of course if I end up splitting the library like that (part traditional, part non traditional) I might end up alienating everybody and then nobody gets it. That is a distinct possibility.
And of course I can always just do 2 different libraries, traditional and non traditional.
Eventually I'll figure it out.
-
- KVRAF
- Topic Starter
- 1584 posts since 25 Mar, 2017
Wow, that sounds amazing. Your skills and experience designing presets is far beyond my own so I'm sure what ever you do the Fathom community will be into it.
-
- KVRist
- 414 posts since 25 Aug, 2018
I have uploaded to github my initial stab at creating a python script to convert Serum Wavetables to Fathom. You can find it here:
https://github.com/dougrintoul/serumwt2fathom
Note that for test purposes, I added an XML attribute to the Member tag called SerumWaveformIndex to indicate which Serum waveform was used in the corresponding Fathon slot. Fathom seems to ignore the attribute and loads the resulting wavetable just fine.
Comments and suggestions for improvements are most welcome.
https://github.com/dougrintoul/serumwt2fathom
Note that for test purposes, I added an XML attribute to the Member tag called SerumWaveformIndex to indicate which Serum waveform was used in the corresponding Fathon slot. Fathom seems to ignore the attribute and loads the resulting wavetable just fine.
Comments and suggestions for improvements are most welcome.
-
- KVRAF
- Topic Starter
- 1584 posts since 25 Mar, 2017
Sweet. I'll take a look.
Does it parse the serum.WAV chunks to get each wave?
Does it parse the serum.WAV chunks to get each wave?
-
- KVRist
- 414 posts since 25 Aug, 2018
No. The soundfile library loads all the sound data into one buffer. I then divide the buffer into waveforms based on the samplesperwave value. I do parse the serum.WAV to get the samplesperwave from the clm chunk though.FathomSynth wrote: Fri Jun 28, 2019 9:55 pm Sweet.
I'll take a look.
Does it parse the serum.WAV chunks to get each wave?
Parsing serum.WAV for sound chunks could be done fairly easily. It is just more work and not really necessary.
One thing I don't handle is the Serum wavetable interpolation flag [0 = no interpolation, 1 = linear crossfades, 2,3,4 = spectral morph].
-
- KVRist
- 414 posts since 25 Aug, 2018
I should also mention that the script makes some assumptions, for example that the Serum wavetable contains only one channel. I could improve things by adding more checks.
-
- KVRAF
- Topic Starter
- 1584 posts since 25 Mar, 2017
I'm really glad you got it to work.
But I do have a question. The fact that it worked seems to indicate the Serums is NOT in fact separating each of the 256 waves into 256 separate WAV format chunks but instead is simply creating a single wave of 2048 x 256 samples in one WAV chunk, where each waveform simply occupies 2048 samples within the one massive wave. Is that correct?
It seems like that has to be otherwise what you are doing would not work. If they were separate chunks then when you read the WAV file you would only get one wave of length 2048 samples.
But I do have a question. The fact that it worked seems to indicate the Serums is NOT in fact separating each of the 256 waves into 256 separate WAV format chunks but instead is simply creating a single wave of 2048 x 256 samples in one WAV chunk, where each waveform simply occupies 2048 samples within the one massive wave. Is that correct?
It seems like that has to be otherwise what you are doing would not work. If they were separate chunks then when you read the WAV file you would only get one wave of length 2048 samples.
-
- KVRist
- 414 posts since 25 Aug, 2018
I believe you are correct. The library I am using (soundfile, see https://pysoundfile.readthedocs.io/en/0.9.0/ for more info on the library) hides the chunks from the user and returns the sound data in a numpy array. So a user never sees the underlying layout of the wav file. However, I wrote another test script using the chunk library for riff files to see what chunks were in the wav file, and there is only one large data chunk. Here is the script I wrote:FathomSynth wrote: Fri Jun 28, 2019 10:15 pm I'm really glad you got it to work.
But I do have a question. The fact that it worked seems to indicate the Serums is NOT in fact separating each of the 256 waves into 256 separate WAV format chunks but instead is simply creating a single wave of 2048 x 256 samples in one WAV chunk, where each waveform simply occupies 2048 samples within the one massive wave. Is that correct?
It seems like that has to be otherwise what you are doing would not work. If they were separate chunks then when you read the WAV file you would only get one wave of length 2048 samples.
from chunk import Chunk
import sys
file=open(sys.argv[1])
ch = Chunk(file, bigendian = 0)
print ch.getname()
print ch.read(4)
while 1:
try:
ch = Chunk(file, bigendian = 0)
except EOFError:
break
print "ChunkName:", ch.getname()
print "ChunkSize:", ch.getsize()
if ch.getname() == 'clm ':
ch.read(3)
samplesperwaveform=int(ch.read(4))
print "SamplePerWaveform", samplesperwaveform
elif ch.getname() == 'data':
print "Number of Waves:", ch.getsize()/(samplesperwaveform *4)
ch.skip()
I ran this on wavetables I knew had a 32 bit sample size. Here is the result:
RIFF
WAVE
ChunkName: fmt
ChunkSize: 16
ChunkName: clm
ChunkSize: 48
SamplePerWaveform 2048
ChunkName: data
ChunkSize: 114688
Number of Waves: 14
The above was confirmed when I loaded the wavetable into audacity to look at the waveforms. This was true for small wavetable files as well as for large ones containing more than 150 waves.
Note that Serum wavetables are variable in length; not every one has 256 waves in them.
-
- KVRist
- 414 posts since 25 Aug, 2018
Oh rats, I just realised that the forum removed all the indenting for my python script.
-
- KVRist
- 414 posts since 25 Aug, 2018
For anyone who is interested, here is a link to a google drive folder containing about 1000 Fathom wavetables that I converted from Serum wavetables.
https://drive.google.com/open?id=1Ez74R ... Ud2yJsNy03
https://drive.google.com/open?id=1Ez74R ... Ud2yJsNy03
