Fathom Synth Development Thread

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

Post

Frostline, in regard to your Video:
https://www.youtube.com/watch?v=kpxa4Ke ... e=youtu.be

Video 1:00

That's correct, the Add Mod button is activated when you move a dial, in addition to when you click on the dial knob. I'm not a huge fan of this either but several people begged me to add that as a feature so they did not have to always click on the dial to add a mod to the last dial moved.

Video 1:40

Clicking on mod slats does not yet bring you to the page of the target dial if that dial is in another modulator. I have that listed as a feature but it’s not done yet.

Video 2:21

Yes, this sounds like a bug. I’ll see if I can fix that.

Video 3:10

Yes, I agree. The problem is that the add range is 16 periods, which is a good range for the target dial range above 1.0 periods, but it is too big for the dial range 1/16 to 1.0.

I’ve added the following feature to the feature list (high priority).

“Mod slats be able to set range of mod amount add. For target dials such as LFO Period the total add range is too large to be usable on lower values of the dial such as the LFO Period in the range 1/16 to 1.0.”

Be aware however that you can achieve exactly what you want using the Multiply Floor modulation type since the range is proportional to the dial value, which is what you need.

For example, set the target dial LFO Period to ¼, set the second modulation to Multiply Floor, and the mod amount to zero and you will modulate the target between 1/16 and ¼.

You can even set the second modulation, which is Multiply Floor, modulation amount, to 0.111 and the target dial will modulate between 1/12 and ¼.

You will notice that single clicking on the second modulation amount provides extremely small granularity on the target dial because the multiply range is proportional to the target dial’s value of ¼, or even less.

In the future I also plan on adding modulation mapping curves to every modulation slat, but that will take some work.

Video 3:28

I’m confused by what you are saying. You say it’s already faster. But the LFO Period dial is the Period not the Frequency. The Period is 1/F, so lower values will be faster and higher values slower. If the mod amount from the second envelope is very low the target dial will be below 1.0 which is faster than it would be if the second envelope amplitude was large and the target dial went above 1.0 which is slower.

Video 3:56

That’s correct, you can’t hit a quarter note, but that is because the add range is too large and the granularity does not match the target dial. However I think what you are saying about the speed is because you forgot that higher values of the LFO Period dial are slower not faster. At least I think, to be honest I was a little confused myself by this point in the video.

Video 4:15

Yes, you are correct. I should add the feature mentioned above and you will be able to set the granularity for the add type modulation to whatever you want.

Also, something that has bothered me for a while also, and is directly related to your video, is that the modulation amount dial has its own precision for the smallest click units of 0.001. But this is often useless and confusing because it does not necessarily line up with the precision of the target dial, the LFO Period being a good example.

In the future I plan on making the mod amount dial on each mod slat smart enough to take on whatever finest precision is on the target dial. Problem solved.

Again, be aware that you can get around this and do essentially what you want using the Multiply Floor option on the far right of the mod slat.

Video 4:35

Reaper’s automation will not show Fathom dials unless you select them in Fathom first.

To automate a parameter from the host in Fathom you have to click on the name of the dial so it is highlighted in white.

Please see the manual section 3 Host Automation.

There is a very good reason for this.

Fathom’s audio objects are added dynamically which means that every parameter in Fathom is dynamic, and there are thousands of them.

There is no way I can expose all these parameters to the host at once, since the list would stretch from New York to London.

You have to tell it which one’s you want to automate.

Also, I cannot use “last touch” in Fathom because the user can easily touch 32 to 64 parameters and then all the host parameter positions would be filled with parameters that the user did not intend to automate.

Most synths do not have this problem because the signal flow is set in stone and they know in advance what parameters are available and can then provide them to the host when the track is added.

But in Fathom everything is dynamic, so you have to tell it which parameters you want to get at from the host.

Thanks for making the video, it is very detailed and resulted in some things which need to be changed for sure.

Post

FathomSynth wrote:
I’m confused by what you are saying. You say it’s already faster. But the LFO Period dial is the Period not the Frequency. The Period is 1/F, so lower values will be faster and higher values slower. If the mod amount from the second envelope is very low the target dial will be below 1.0 which is faster than it would be if the second envelope amplitude was large and the target dial went above 1.0 which is slower.
Yeah I even confused myself while trying to explain it. :lol:
Point was out of 64 quantized amplitude divisions only the bottom 4 divisions fell somewhere on the left side of the period dial (the fast side).
But after looking at waveforms for hours trying to figure out what was going on I was getting a bit loopy. :oops:
BTW, if you have an addition type LFO modulator attached to LFO period, yet have the amount set to zero the phase of the LFO will start at a different position each test.
That made it super confusing to dial in the envelope to end with it in time with the grid.:neutral:
This all started because I couldn't figure out how to get the eight dials on the right of the LFO page to have the LFO go from very fast to very slow and then back to 1/4th and still end on the grid over the course of 18 measures. It was consistently a smidgen over 1/14th (9 1/128ths) note off the grid no matter what I tried. I did examine the user guide for this, but the guide is confusing (too many settings having a 4 somewhere in the example which makes them easy to get confused). Which is why I tried it with the envelope instead. But after all the testing last night and mulling it over today I think a slight LFO phase adjustment will get it to line up.

And yeah, I also totally forgot the host automation thing. You had mentioned it before when talking about manual dial value entry and I completely forgot about that last night in the video and went with my accustomed method. :dog:

Thank you very much for the detailed answers. I will experiment with the multiply floor (after I read that part of your response a few more times until I hopefully understand it).
Win10 x64, Reaper 6.XX x64, i5-3330, 8gb ram, GTX-970, UC-33, Panorama P4, Wharfedale Diamond 8.2 and JVC HA-RX700

Post

Looking at the guide 6.1.5 LFO ADSR Modulation Example

Would it be possible to get an example in the guide similar to the one provided but where the LFO is set to beats instead of seconds?
Musically I tend to think in notes/beats/measures and find it extremely difficult to think of notes or measures in units of time since that varies with BPM.
Something more like this attack will change the LFO from 1/8th notes to 1/4 notes in X beats, then during decay over the course of 16 beats the notes will go from y to z etc
Seconds and cycles I don't follow well.
Thanks
Win10 x64, Reaper 6.XX x64, i5-3330, 8gb ram, GTX-970, UC-33, Panorama P4, Wharfedale Diamond 8.2 and JVC HA-RX700

Post

Frostline, I went back and looked at the manual section 6 Modulators which starts with the LFO. It says exactly what each dial on the right does and how to use them. It seems pretty clear to me.

Keep in mind if you are modulating the period there is no way it is going to line up with anything in your song. A constant period will line up, I made sure of that, but a modulated period will not. That would be like trying to run a clock with a chaotic pendulum. I would not recommend modulating the period unless that is the effect you are looking for.

Section 6.1.4 covers the LFO Speed ADSR Controls on the right side. I really tried to write this so it is easy to understand.

For instance you can start a note with the LFO at 4 cycles per beat, then go to 8 cycles per beat during the attack phase, then go back to 1 cycle per beat after the decay phase, stay on 1 cycle per beat during the sustain phase, then when the note is released slow to one quarter cycle per beat over 2 seconds of release. I tested this extensively. That's why those dials are there, so you don't have to try this with another modulator. Easy!

"The speed of oscillation can be changed gradually through four time phases, Attack, Decay, Sustain and Release." ... etc.

What exactly is it that you are trying to do?

Post

FathomSynth wrote:
What exactly is it that you are trying to do?
The impossible I think after much struggle. :lol:
Project in 4/4
Ok, with time set to beats on the LFO. LFO is modulating a filter cut off giving the illusion of individual notes.
Note is continuous for 10 measures (40 periods)
Bar 1 beat 1 LFO starts @ .25 period per cycle (a 16th note yes?)
From that beat over the course of 2 measures (8 periods) the LFO slows down so that on the onset of bar 3 the LFO is running @ 5 periods per cycle. Grid not critical here.
Bar 3 to bar 6 maintain a constant LFO rate of 5 periods per cycle. Grid not critical here.
At the onset of bar 7 ramp over time to the end of bar 8 to .5 periods per cycle
Bar 9-10 maintain the .5 periods per cycle in time with the grid.
Since the amount it would be off seemed very consistent I was hoping a slight adjustment somewhere would put it in time with the grid by the end.
For example in earlier attempts using 18 measures starting the note 9 128th note grid divisions late would make the final measure perfectly in-line with the grid like 5 recordings in a row. So I was trying to work out how to eliminate that required gap in the start.
But apparently the 5 times it ended properly was a cruel coincidence because I have yet to manage to get it to do it again today. :?
Win10 x64, Reaper 6.XX x64, i5-3330, 8gb ram, GTX-970, UC-33, Panorama P4, Wharfedale Diamond 8.2 and JVC HA-RX700

Post

So very close after careful study of the user guide.
But it gets a bug.
Reviewing the video I notice now that the bug appears on the second recording, but fatigue caused me to miss it until the 4th :dog:
But a bug I believe is there.
https://youtu.be/stPo-5LINnc
Win10 x64, Reaper 6.XX x64, i5-3330, 8gb ram, GTX-970, UC-33, Panorama P4, Wharfedale Diamond 8.2 and JVC HA-RX700

Post

Host automation does not appear to be working in Ableton. All I get is a list of pre-populated parameters from 'Parameter0' to 'Parameter31'

I am running Live 10.0.1, and do not have any options set in my 'Options.txt' related to automatic parameter mapping.
fathom automation.png
You do not have the required permissions to view the files attached to this post.

Post

generaldiomedes, Please read the user guide section on host automation.

Frostline, I watched your last video, OK, now I know exactly what you mean.
Also thanks for spending the time isolating the problem, and making the video. Are you a tech support engineer by day? Your ability to go after problems until you find the cause is cool, lol, I wish I could hire you full time.

Yes, you are right there are two problems. We'll start with the easier one.

Moving the phase dial seems to make it forget about the release phase.

That is such an obvious bug it should be easy to fix, so I'll put that fix in 2.9 coming out soon.

The other issue I understand now, but it's going to be tricky.

You want it to go through each phase of changing the period and frequency, but at the end of each phase you want it to line up with the song beats as just if it had started at the speed of that phase.

This is a tricky math problem because when you decelerate something there is no guarantee that the period of oscillation will align with something else when the acceleration or deceleration is done.

I actually noticed this myself when I first programmed the feature, but at the time I did not think there was anything that could be done about it.

After thinking about it, and after watching your last video, I think there might be a way to do it.

If you create an equation which expresses both the speed of oscillation and the position which is the period at both the starting points and ending points, and if you introduce a slight nonlinear factor to the deceleration then it should be possible to solve the equation for the rate of deceleration so that at the end of the deceleration phase both the speed and position are known.

This would give you the ability to set the dials to what ever you want and have the LFO "magically" end up aligned with the song. I love problems like this, so I will see if I can do this for you for the next release.

Post

FathomSynth wrote:
Moving the phase dial seems to make it forget about the release phase..
Well, it is not just that though.
If you watch the video again where I add the first single click to the release time (going from 8.0000 to 8.0625 on the dial) https://youtu.be/stPo-5LINnc?t=3m43s and then closely watch the wave being recorded it actually skipped the release time phase there as well.
I was too focused to seeing if the adjustment to the release time impacted where the wave ended relative to the grid to notice that it had skipped the release time already during the video recording. :oops:
So before the phase dial was touched the bug had already appeared.
And occasionally on tests where I would set up the LFO ADSR like in the video the first recording would be as in the video where the release time phase was followed. But then recording it again without any adjustment to any dials whatsoever and the release time phase was ignored. But it was too inconsistent to reproduce reliably for a video.

I really like this synth and I think it has some great features. So I dig deep into parts that I either don't quite understand or don't quite work as I expect. Usually if a synth doesn't do what I want it to I just shrug and move on or work around the problem part, but I really enjoy working with Fathom so I keep at it until I either the get the concept or I can show it might be a bug/issue since you have been excellent at addressing things if people explain them clearly.
Win10 x64, Reaper 6.XX x64, i5-3330, 8gb ram, GTX-970, UC-33, Panorama P4, Wharfedale Diamond 8.2 and JVC HA-RX700

Post

Frostline, thanks, Yes I think I have both your issues recorded correctly now in my notes.

BUG 0099 LFO ADSR Release phase disabled if LFO phase dial moved
BUG 0107 LFO period after ADSR phases does not line up with beats

So based on your last post, I made a note that Bug 0099 happens inconsistantly and may not be caused by the phase dial. But I’ll reproduce it either way and try to make sure it is fixed for 2.9.0.

BUG 0107 I think I understand now, and I’m going to try adding a phase factor which will cause the period to line up with the beats after each LFO ADSR phase is completed by the host transport.

Now, Everyone else …

I need your help with something.
I'm pretty sure I'm all caught up with all reported bugs in this thread so far.
But I want to make sure I did not miss anything.

This is the current list of issues which I hope to resolve in 2.9.0 coming out next.

BUG 0098 Signal flow objects mode can not be changed in Mac Sierra
BUG 0099 Detune save default not being loaded for new plugin track
BUG 0099 LFO ADSR Release phase disabled if LFO phase dial moved
BUG 0103 Solidtrax Preset switching stops working after select a mod prm
BUG 0131 Click on modulation slat should jump to target modulator page
BUG 0129 Modulator list should show modulators currently in use
BUG 0127 Highlight mod slats when target dial is touched
BUG 0128 Ability to rename modulation slats
BUG 0107 LFO period after ADSR phases does not line up with beats
BUG 0126 Frostline LFO modulated period is wrong when first start note
BUG 0130 Noise volume does not follow note velocity

If you reported a bug or feature in the last few pages of the forum here and it does not appear above in the list, please let me know.Well, it is not just that though.

Post

Everett, could you take a look at the noise page distortion parameter.
Whatever I do, there is no change in sound. Wonder what it's for. :)

Post

RPH, Sounds like something is broken, that is one of my favorite dials and I use it all the time.
Could you post your preset here?

Post

FathomSynth wrote:Now, Everyone else …

I need your help with something.
I'm pretty sure I'm all caught up with all reported bugs in this thread so far.
But I want to make sure I did not miss anything.

This is the current list of issues which I hope to resolve in 2.9.0 coming out next.

BUG 0098 Signal flow objects mode can not be changed in Mac Sierra
BUG 0099 Detune save default not being loaded for new plugin track
BUG 0099 LFO ADSR Release phase disabled if LFO phase dial moved
BUG 0103 Solidtrax Preset switching stops working after select a mod prm
BUG 0131 Click on modulation slat should jump to target modulator page
BUG 0129 Modulator list should show modulators currently in use
BUG 0127 Highlight mod slats when target dial is touched
BUG 0128 Ability to rename modulation slats
BUG 0107 LFO period after ADSR phases does not line up with beats
BUG 0126 Frostline LFO modulated period is wrong when first start note
BUG 0130 Noise volume does not follow note velocity

If you reported a bug or feature in the last few pages of the forum here and it does not appear above in the list, please let me know.Well, it is not just that though.
While I have no bugs to report, I do have some usability feature requests to make for 3.9.0; little things do mean a lot:

[1] Please add more information to version number display: free or paid; special build type; architecture (32 or 64 bit)

[2] Please remove the disclosure triangles that are next to the folder labels on the preset browser panel; while clicking one does animate the triangle, it appears to serve no useful purpose (e.g. it does not update the preset list panel on the right with the presets that belong to the folder).

[3] After double-clicking a preset from the preset list panel, please have Fathom display some sort of spinning animation while a preset is being loaded. Double-clicking a longer-loading preset just gives the impression that nothing is actually happening (was my double-click recognized?).
[Core i7 8700 | 32GB DDR4 | Win11 x64 | Studio One 6 Pro | FL Studio ASIO/WASAPI ]

Post

FathomSynth wrote:RPH, Sounds like something is broken, that is one of my favorite dials and I use it all the time.
Could you post your preset here?
I just start a new patch, then insert e.g. a basic waveform component.
Osc. Volume of the waveform set to zero, then in tab noise set the noise algo to something like smooth. Then move the noise dist dial.
Don't notice a change, except pops when the parameter tweaked to zero or full.

Image

Post

A more cosmetic bug, when changing presets with the arrows, the signal flow diagram is not updated. Os X Sierra.
I would love to see some global parameters which either are not saved into presets or with the ability to lock them. Most important: pitch bend range, if possible more than 12...
I would also like to see a way to set modulation amounts by typing a value. The mouse setting isn't precise enough, especialy if you set pitch ranges...
And of course, if you see any chance to get a voice per channel mode I would be most grateful and all players of expressive controllers as well... (MPE rocks)

Post Reply

Return to “Instruments”