Fathom Synth Development Thread
- KVRist
- 335 posts since 12 Aug, 2016
Question on wavetable import formats for the wavetable.
Do they need to be in a certain format and if so what formats do I need to look for?
For example a free wavetable set for Serum, is it possible to load correctly in Fathom? If so are there special steps that need to be taken?
Ones I've tried either make no sound or are very high pitched, but admittedly I have never messed with any wavetable stuff before so I could be easily misunderstanding how it all works.
Do they need to be in a certain format and if so what formats do I need to look for?
For example a free wavetable set for Serum, is it possible to load correctly in Fathom? If so are there special steps that need to be taken?
Ones I've tried either make no sound or are very high pitched, but admittedly I have never messed with any wavetable stuff before so I could be easily misunderstanding how it all works.
Win10 x64, Reaper 6.XX x64, i5-3330, 8gb ram, GTX-970, UC-33, Panorama P4, Wharfedale Diamond 8.2 and JVC HA-RX700
-
- KVRAF
- Topic Starter
- 1584 posts since 25 Mar, 2017
As long as it is 32 bit WAV it will load it.
It might also do 24 bit WAV but I'm not sure.
I don't think it will do 64 bit WAV.
It can only load single cycles WAV files not sample WAV files.
If you have a sample you like you can chop out a single cycle using Audacity.
TheNeverScene, yes let me know how to make the portamento bug happen
so I can include that fix with all the others.
It might also do 24 bit WAV but I'm not sure.
I don't think it will do 64 bit WAV.
It can only load single cycles WAV files not sample WAV files.
If you have a sample you like you can chop out a single cycle using Audacity.
TheNeverScene, yes let me know how to make the portamento bug happen
so I can include that fix with all the others.
-
- KVRian
- 801 posts since 1 Dec, 2016
I thought the portamento issues may have been note related, but a basic patch with just an oscillator and glide on with time set to .2 (just to make it obvious) causes weirdness despite the notes. It mainly happens when playing non-legato, so just hammer away with some legato thrown in at times and it should happen. Both the free and Pro versions btw.
Just a touch of EQ and a tickle of compression
-
- KVRAF
- Topic Starter
- 1584 posts since 25 Mar, 2017
I'm having trouble making the portamento (glide) do anything wrong by banging on the notes in any combination.
Are you using the mono or polyphonic version?
And remind me again Window or Mac? And which DAW?
Are you using the mono or polyphonic version?
And remind me again Window or Mac? And which DAW?
-
- KVRian
- 801 posts since 1 Dec, 2016
I tested both the mono and poly and it was the same.
Windows 7, Reaper 5.76 64bit
Windows 7, Reaper 5.76 64bit
Just a touch of EQ and a tickle of compression
-
- KVRian
- 801 posts since 1 Dec, 2016
Here's a short clip. I'm just playing an octave and you'll hear the actual notes I'm playing towards the middle. It's almost like a very low note that isn't being played is stuck, but it isn't.
The clip is the mono version, but the poly version does the same.
https://www.dropbox.com/s/rozc7mwn1425i ... o.wav?dl=0
If the clip doesn't play, just open it in a new tab. I never have luck posting clips.
The clip is the mono version, but the poly version does the same.
https://www.dropbox.com/s/rozc7mwn1425i ... o.wav?dl=0
If the clip doesn't play, just open it in a new tab. I never have luck posting clips.
Just a touch of EQ and a tickle of compression
- KVRAF
- 2482 posts since 22 Sep, 2016
I did a funny little experiment. I handcrafted a fathom wavetable with 2048 samples per slot. All the factory stuff is just 1024 samples per slot. And that wavetable makes fathom say "Thorn"...
The steps are
1.) I have used a sample, i.e. the output of the balabolka text to speech programm saying "Thorn" (sorry, I have just recylced it from my Track "Ephemeral Thorn" for that experiment, see souncloud),
2.) trimmed it to 32768 samples length, split it up into 16 junks of 2048 samples,
3.) exported the raw data, i.e. the samples in a text file format which could be copy/pasted and
4.) imported slot by slot into a handcrafted fathom wavetable xml file for the left side.
5.) Then I build a little patch with just a linear ramp up ENV that runs thru slots from 0 - 15
Find both wavetable and patch attached.
Notes:
1.) What does 2048 samples per slot actually mean. I think you can do the math yourself. At 44Khz the 2048 samples of a WT represent a single cycle at not F/F# in some low octave. That means if you play my patch at F/F# in some low octave you will get the best result...in higher octave you get mickey mouse
2.) I have succesfully imported even 32k samples into one single slot, but if you again do the maths you find out that there's no midi note low enough to reproduce that sample
Have fun with it!
---
BTW: The use of 2048 per slot offers the possibility to steel from wavetables of other synths. Icarus for instance uses 2048 samples per slot. But compared to fathom the "slots" are just sections of a wav file, i.e. icarus interprets each 2048 samples block as a "wt slot". So with a simple little progi, it should be possible to convert icarus/serum/blofeld and other synths wavetables.
The steps are
1.) I have used a sample, i.e. the output of the balabolka text to speech programm saying "Thorn" (sorry, I have just recylced it from my Track "Ephemeral Thorn" for that experiment, see souncloud),
2.) trimmed it to 32768 samples length, split it up into 16 junks of 2048 samples,
3.) exported the raw data, i.e. the samples in a text file format which could be copy/pasted and
4.) imported slot by slot into a handcrafted fathom wavetable xml file for the left side.
5.) Then I build a little patch with just a linear ramp up ENV that runs thru slots from 0 - 15
Find both wavetable and patch attached.
Notes:
1.) What does 2048 samples per slot actually mean. I think you can do the math yourself. At 44Khz the 2048 samples of a WT represent a single cycle at not F/F# in some low octave. That means if you play my patch at F/F# in some low octave you will get the best result...in higher octave you get mickey mouse
2.) I have succesfully imported even 32k samples into one single slot, but if you again do the maths you find out that there's no midi note low enough to reproduce that sample
Have fun with it!
---
BTW: The use of 2048 per slot offers the possibility to steel from wavetables of other synths. Icarus for instance uses 2048 samples per slot. But compared to fathom the "slots" are just sections of a wav file, i.e. icarus interprets each 2048 samples block as a "wt slot". So with a simple little progi, it should be possible to convert icarus/serum/blofeld and other synths wavetables.
You do not have the required permissions to view the files attached to this post.
Last edited by ] Peter:H [ on Sun Mar 04, 2018 3:34 pm, edited 2 times in total.
- KVRAF
- 2482 posts since 22 Sep, 2016
@FathomSynth:
Playing around with LFO Attack time - I'm a bit puzzled by now. Intuitively I thought the higher the attack time, the later the full effect of the LFO will set in, like the amplitude of the LFOs wave fades in slowely. But it behaves different to that. I feels like it is rather a LFO freq modulation? Is it just rtfm or is there something you should check, Everett?
Playing around with LFO Attack time - I'm a bit puzzled by now. Intuitively I thought the higher the attack time, the later the full effect of the LFO will set in, like the amplitude of the LFOs wave fades in slowely. But it behaves different to that. I feels like it is rather a LFO freq modulation? Is it just rtfm or is there something you should check, Everett?
- KVRAF
- 2482 posts since 22 Sep, 2016
@FathomSynth
I have now built a single wavetable "drumkit", following the approach that is done in Tone2 Icarus. Please find the wavetable attached.
The "Icarus approach" means, that each slot contains one oneshot drumsample. and each key in a octave maps to exactly one single slot and plays it oneshot, i.e. each C maps to slot 0, C# to slot 1, D to slot 2 and so on.
What is missing: Here's the things I haven't managed to do with fathom. I need some help here
1.) How do I set the wavetable osc to a fixed pitch? It allways follows the keyboard notes?
2.) how can I map my keyboard that every key of an octave is mapped to a single wavetable slot.
3.) All ocates should be mapped the same way so C1 and C2 are bothe mapped to slot 0.
4.) Play slots oneshot.
Help appeciated
] Peter:H [
I have now built a single wavetable "drumkit", following the approach that is done in Tone2 Icarus. Please find the wavetable attached.
The "Icarus approach" means, that each slot contains one oneshot drumsample. and each key in a octave maps to exactly one single slot and plays it oneshot, i.e. each C maps to slot 0, C# to slot 1, D to slot 2 and so on.
What is missing: Here's the things I haven't managed to do with fathom. I need some help here
1.) How do I set the wavetable osc to a fixed pitch? It allways follows the keyboard notes?
2.) how can I map my keyboard that every key of an octave is mapped to a single wavetable slot.
3.) All ocates should be mapped the same way so C1 and C2 are bothe mapped to slot 0.
4.) Play slots oneshot.
Help appeciated
] Peter:H [
You do not have the required permissions to view the files attached to this post.
-
- KVRAF
- Topic Starter
- 1584 posts since 25 Mar, 2017
TheNeverScene, Yes I hear the low note. Are you saying that you are not touching that low note and Fathom is playing it itself?
Yes, that is weird. That is for sure not happening for me. But I’ll try to recreate it today. I’m building 2.8 today. So I hope I can find it.
It’s tough to tell what is wrong from your audio clip. It all just sounds very random. I think you might need to do some debugging on your end, find out exactly what combination of notes does something wrong, describe the expected behavior and the exact wrong behavior. Then make sure to do it repeatedly. Being able to do it repeatedly is important because then I am not just hearing random stuff which may or may not be wrong. I know this is tough, but since it does not happen on my system, it’s difficult to debug it unless I really know what it is doing wrong.
For instance, 1. Hit C1 and hold, 2. Hit C2 and release. Expect C1 to play again while holding C1. Error C0 plays instead of C1. etc.
Peter, Hi. That thorn patch is really cool.
You can import any WAV size. I double checked and no matter what size the input WAV is for the wave table Fathom converts it to 16384 samples per single cycle.
Yes, you’re right the LFO is a little complex due to the power. But fortunately this is one of the things which the manual covers in depth. See section 6.1 LFO, especially 6.1.4 LFO Speed ADSR Controls.
Currently there is no way on Fathom to do Fixed pitch. I have that on the feature list, but its not done yet.
To map an octave to each wave position modulate the wave index with a keyboard tracking modulator. In the keytrack create multiple segments of one octave wide and move them up and down so that each octave of your chosing is assigned to each dial wave index position.
Question 4. One shots. Currently Fathom can not play samples (it’s not a sampler yet). It always plays the WAV as a cycle. But you could cheat and use an ADSR with a very short sustain time which just plays the wave once. I’m not sure if it is workable but you could try.
I can tell you are trying to use the Wave Table as a sampler which is tough because it’s not really a sampler. Scrubbing Monkeys has done some great work creating drum sounds that sound just like one shots. I’m not sure what his magic technique is but you might ask him.
Yes, that is weird. That is for sure not happening for me. But I’ll try to recreate it today. I’m building 2.8 today. So I hope I can find it.
It’s tough to tell what is wrong from your audio clip. It all just sounds very random. I think you might need to do some debugging on your end, find out exactly what combination of notes does something wrong, describe the expected behavior and the exact wrong behavior. Then make sure to do it repeatedly. Being able to do it repeatedly is important because then I am not just hearing random stuff which may or may not be wrong. I know this is tough, but since it does not happen on my system, it’s difficult to debug it unless I really know what it is doing wrong.
For instance, 1. Hit C1 and hold, 2. Hit C2 and release. Expect C1 to play again while holding C1. Error C0 plays instead of C1. etc.
Peter, Hi. That thorn patch is really cool.
You can import any WAV size. I double checked and no matter what size the input WAV is for the wave table Fathom converts it to 16384 samples per single cycle.
Yes, you’re right the LFO is a little complex due to the power. But fortunately this is one of the things which the manual covers in depth. See section 6.1 LFO, especially 6.1.4 LFO Speed ADSR Controls.
Currently there is no way on Fathom to do Fixed pitch. I have that on the feature list, but its not done yet.
To map an octave to each wave position modulate the wave index with a keyboard tracking modulator. In the keytrack create multiple segments of one octave wide and move them up and down so that each octave of your chosing is assigned to each dial wave index position.
Question 4. One shots. Currently Fathom can not play samples (it’s not a sampler yet). It always plays the WAV as a cycle. But you could cheat and use an ADSR with a very short sustain time which just plays the wave once. I’m not sure if it is workable but you could try.
I can tell you are trying to use the Wave Table as a sampler which is tough because it’s not really a sampler. Scrubbing Monkeys has done some great work creating drum sounds that sound just like one shots. I’m not sure what his magic technique is but you might ask him.
-
- KVRian
- 801 posts since 1 Dec, 2016
Yes, that's exactly what I'm saying. The only 2 notes I'm playing are the 2 that finally poke out a little ways into the clip. The playing was fairly steady, so you may be able to hear the note dropouts as well.
Thanks for looking into it. I hope it's not specific to my system because I don't want to send you on a wild goose chase, but I've never experienced this with any other synths.
Thanks for looking into it. I hope it's not specific to my system because I don't want to send you on a wild goose chase, but I've never experienced this with any other synths.
Just a touch of EQ and a tickle of compression
-
Scrubbing Monkeys Scrubbing Monkeys https://www.kvraudio.com/forum/memberlist.php?mode=viewprofile&u=397259
- KVRAF
- 1837 posts since 21 Apr, 2017 from Bahia, Brazil
] Peter:H [ wrote:@FathomSynth
2.) how can I map my keyboard that every key of an octave is mapped to a single wavetable slot.
Help appeciated
] Peter:H [
I think? this can be done. Let me double check my steps and Ill get back to ya.
We jumped the fence because it was a fence not be cause the grass was greener.
https://scrubbingmonkeys.bandcamp.com/
https://sites.google.com/view/scrubbing-monkeys
https://scrubbingmonkeys.bandcamp.com/
https://sites.google.com/view/scrubbing-monkeys
-
- KVRAF
- Topic Starter
- 1584 posts since 25 Mar, 2017
TheNever, OK, Yes that is for sure a bug.
Somehow Fathom thinks that low note is in its buffer and it is returning to it like it was the hold note. Very odd.
I want to figure out where that note is coming from. Try this.
Save the project, exit the host, relaunch the host and load the project.
This will clear any midi notes in memory.
Then be careful not to touch any notes or play any tracks after it loads.
Then play live, hold only C2 and tap C3, then tab and release both C2 and C3,
and see if that low note is still there.
It almost sounds like you played a host sequence with a long note, then stopped the transport
before the note off occurred, so Fathom thinks that note is being held, then played live.
Somehow Fathom thinks that low note is in its buffer and it is returning to it like it was the hold note. Very odd.
I want to figure out where that note is coming from. Try this.
Save the project, exit the host, relaunch the host and load the project.
This will clear any midi notes in memory.
Then be careful not to touch any notes or play any tracks after it loads.
Then play live, hold only C2 and tap C3, then tab and release both C2 and C3,
and see if that low note is still there.
It almost sounds like you played a host sequence with a long note, then stopped the transport
before the note off occurred, so Fathom thinks that note is being held, then played live.
-
- KVRian
- 801 posts since 1 Dec, 2016
Okay, so I opened a new project, Didn't touch a key, inserted Fathom Mono (but Pro does the same), loaded analog saw, turned on glide, adjusted time to around .5 to exaggerate it.
Played only c2 and c3 as you said.
It seems that if I massage it and let the glide finish it's cycle, it's somewhat stable. It's as if when a played note is shorter than the glide time that it starts acting funny and it wants to continue the glide but from a low note that was never played to begin with. It happens more on the upswing than the downswing if that makes sense. Hold C2, play C3, release C2 and then release C3 before the full glide occurs. Then play C3 and it swoops up from the deep.
Played only c2 and c3 as you said.
It seems that if I massage it and let the glide finish it's cycle, it's somewhat stable. It's as if when a played note is shorter than the glide time that it starts acting funny and it wants to continue the glide but from a low note that was never played to begin with. It happens more on the upswing than the downswing if that makes sense. Hold C2, play C3, release C2 and then release C3 before the full glide occurs. Then play C3 and it swoops up from the deep.
Just a touch of EQ and a tickle of compression
- KVRAF
- 2482 posts since 22 Sep, 2016
@Everett
Thanks for pointing me to the manula for the LFO. I felt, I should have read the manual first...
And I'm sorry, but this OSC thing now got me completely hooked with fathom and I will pest you with my questions
the curse of the pretend to be knowledgable customer 
Anyway, here's the next puzzle: I have build me a wavetable with 2048 samples per slot by hand as I have described above. I have used this in a fathom program, saved it to disk and opend the program in a text editor.
Observations:
1.) The wavetable data is copied into the programm, BUT the size per slot is reduced from 2048 to 1024.
2.) The copy of the wavetable data is duplicated. The original wavetable contains xml structures for each slot <Members ObjectIdNumber="10" only, BUT the programm contains each and every of those elements a second time but with <Members ObjectIdNumber="1". It could be a possible way to reduce the size of fathom programs, couldn't it?
3.) When I copy the original wavetable content - you remember 2048 samples - into the program, then the sound is considerably changed. or let's say "just better"
Is there some "compression" going on, when saving programs from wavetables?
Thanks for pointing me to the manula for the LFO. I felt, I should have read the manual first...
And I'm sorry, but this OSC thing now got me completely hooked with fathom and I will pest you with my questions
Anyway, here's the next puzzle: I have build me a wavetable with 2048 samples per slot by hand as I have described above. I have used this in a fathom program, saved it to disk and opend the program in a text editor.
Observations:
1.) The wavetable data is copied into the programm, BUT the size per slot is reduced from 2048 to 1024.
2.) The copy of the wavetable data is duplicated. The original wavetable contains xml structures for each slot <Members ObjectIdNumber="10" only, BUT the programm contains each and every of those elements a second time but with <Members ObjectIdNumber="1". It could be a possible way to reduce the size of fathom programs, couldn't it?
3.) When I copy the original wavetable content - you remember 2048 samples - into the program, then the sound is considerably changed. or let's say "just better"
You do not have the required permissions to view the files attached to this post.
Last edited by ] Peter:H [ on Sun Mar 04, 2018 9:39 pm, edited 1 time in total.
