Fathom Synth Development Thread

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

Post

RPH wrote:
@Scrubbing Monkeys: Nice video, and funny to hear the crickets in the background adding to the atmosphere of the vid. ;)
.

Thanks Rob,

No doubt there will be many more creatures in the future. It gets pretty wild out here sometimes. I have committed to leaving them in.
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

Post

Scrubbing Monkeys wrote:
RPH wrote:
@Scrubbing Monkeys: Nice video, and funny to hear the crickets in the background adding to the atmosphere of the vid. ;)
.

Thanks Rob,

No doubt there will be many more creatures in the future. It gets pretty wild out here sometimes. I have committed to leaving them in.
If you can obtain a digital sample of those crickets, you will discover that a cricket's chirps make interesting wave tables. The drone of a cicada also makes for cool wave tables.
[Core i7 8700 | 32GB DDR4 | Win11 x64 | Studio One 6 Pro | FL Studio ASIO/WASAPI ]

Post


That was really cool. Was everything but the drums fathom?
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

Post

tonedef71 wrote: If you can obtain a digital sample of those crickets, you will discover that a cricket's chirps make interesting wave tables. The drone of a cicada also makes for cool wave tables.
Ill try that out. I imagine cicadas would be cool too. They get so loud here it hurts.
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

Post

Yes everything is Fathom except the drum track.

Post

Scrubbing Monkeys wrote:
tonedef71 wrote: If you can obtain a digital sample of those crickets, you will discover that a cricket's chirps make interesting wave tables. The drone of a cicada also makes for cool wave tables.
Ill try that out. I imagine cicadas would be cool too. They get so loud here it hurts.
Inspiration can come from just about anywhere. Globetrotting producer, Ross Lara, recorded his own Foley sounds while traveling and edited them with iZotope BreakTweaker to create some interesting sounds.

https://www.youtube.com/watch?v=CbYkd75WGkY

By the way, BreakTweaker and Iris 2 come with several wave table chains that I bet could be extracted and re-purposed for use in Fathom.
[Core i7 8700 | 32GB DDR4 | Win11 x64 | Studio One 6 Pro | FL Studio ASIO/WASAPI ]

Post

Fathom keeps improving. Remarkably, at that.
Can I ask? Is there a plan to implement microtuning? Full scala/tun support? Because that would start knocking this out of the park.
(I need 15-tet, if that matters)
Boo-Frickety-Hoo.
-Dr. Evil

Post

Brewt, thanks.
Microtuning? If it's easy I can just put it in.
Please explain or point to an article so I can read up on it.

Post

Thank you.
It's been a while since I've spoken with Manuel, but he was always very easy to talk to and work with. I don't know if he's still checking this email or not: coul@huygens-fokker.org
Scala is found at http://www.huygens-fokker.org/scala/
It is de facto standard for controlling pitch in synthesizers.
I'm afraid I can't vouch for how easy or hard it is to implement in any given programming situation. It involves using arrays to define pitch instead of a formula, which is what Scala files plug into.

Zynaddsubfx is open source, and they've implemented it, if that helps.
http://zynaddsubfx.sourceforge.net

I hope it works out to be easy; I've seen some developers suggest it is.
Thanks for your consideration.
Boo-Frickety-Hoo.
-Dr. Evil

Post

Fathom pitch is already table driven.

It stores all pitch values using the official western scale definition stored in floating point precision which is approximately 9 decimal places, such as C = 523.25113 Hertz. It does not use the rough mathematical approximations such as 1/12. Though it can not yet do alternate scale frequencies.

So it sounds like I might already be doing what they are doing.

The pitch dial finest precision is 0.0001

At some point in the future I plan on making dial precision settable.

Post

FathomSynth wrote:Fathom pitch is already table driven.

It stores all pitch values using the official western scale definition stored in floating point precision which is approximately 9 decimal places, such as C = 523.25113 Hertz. It does not use the rough mathematical approximations such as 1/12. Though it can not yet do alternate scale frequencies.

So it sounds like I might already be doing what they are doing.
That means you have a table of 127 values in 32-bit precision? How do you do pitch bend then? By the way 9 decimals is an approximation, 1/12 is a precise value for a just ratio...

Post

The western scale or equal tempered scale is a slight adjustment to the mathematically perfect ratios for each individual scale, and historically evolved so that all the scales with root notes on all 12 keys sound more or less harmonic, which is not the case if you use the exact mathematical ratios. The mathematical scales will not produce tones that align with the tones of all the other scales.

A mathematical scale sounds great if you just play in one key, but you can't use the same notes for other scales since they will not match the ratios used in the other scales.

For instance before the 1700's when Bach's Well Tempered Clavier was written to demonstrate the "new" western scale tuning, if you wanted to play in the key of F# instead of C you would have to retune your harpsichord.

Many plugins use the mathematical shortcuts for pitch which are mathematically perfect but slightly off from the equal tempered western scale. Western classical music and rock music, EDM, etc all use the the same scale. There has been a lot of experimentation in the last fifty years in electronic music with different scale tuning, but they are not all "equal tempered", meaning that the same scale applied to all keys does not produce the same 12 tones.

Plugins which use the "real" western scale values in floating point or double floating point precision are much closer to the exact values than the mathematical ratios.

Fathom manages pitch bend by taking the pitch dial value as a ratio and extrapolating between the correct values for two adjacent semitones.

Post


Post

It sounds like you're almost there. What scala support does is allow the user to define pitch at a macro-structured level (with a tuning or temperament) without having to hand-tweak 128 pitch knobs; to the user, they/we import the scale definition file
which does the work for us.

My 15-tet definition set reads like this:

0: 1/1 0.000000 unison, perfect prime
1: 80.000 cents 80.000000
2: 160.000 cents 160.000000
3: 240.000 cents 240.000000
4: 320.000 cents 320.000000
5: 400.000 cents 400.000000
6: 480.000 cents 480.000000
7: 560.000 cents 560.000000
8: 640.000 cents 640.000000
9: 720.000 cents 720.000000
10: 800.000 cents 800.000000
11: 880.000 cents 880.000000
12: 960.000 cents 960.000000
13: 1040.000 cents 1040.000000
14: 1120.000 cents 1120.000000
15: 2/1 1200.000000 octave

In cents, of course.

the pitch map data looks like this with cents:

0: 60.C 1/1
1: 61.C# 80.000
2: 62.D 160.000
3: 63.Eb 240.000
4: 64.E 320.000
5: 65.F 400.000
6: 66.F# 480.000
7: 67.G 560.000
8: 68.G# 640.000
9: 69.A 720.000
10: 70.Bb 800.000
11: 71.B 880.000
12: 72.C 960.000
13: 73.C# 1040.000
14: 74.D 1120.000
15: 75.Eb 2/1

There are certainly some assumptions made, about how mapping works, especially if one tries to do more than 12 notes per octave, but, the program (scala) can extrapolate it all out to 128 slots for you, if that's how you want to work. There are synths that do that.


And the frequency data looks like this:

0: 261.625565301 Hertz
1: 273.998916919 Hertz
2: 286.957455349 Hertz
3: 300.528856486 Hertz
4: 314.742105136 Hertz
5: 329.627556913 Hertz
6: 345.217003075 Hertz
7: 361.543738418 Hertz
8: 378.642632388 Hertz
9: 396.550203549 Hertz
10: 415.304697581 Hertz
11: 434.946168956 Hertz
12: 455.516566491 Hertz
13: 477.059822933 Hertz
14: 499.621948792 Hertz
15: 523.251130602 Hertz


Since at least I'm working with a real octave, (2/1), then it's just a matter of doubling the pitch frequencies to fill out the table. Things, yes, do get a little weird when you redefine the octave to be something other than 1200 cents.

So, instead of having to type all that in or having to turn knobs per patch, the import into your pitch tables is something you're already very close to. There's not a lot of synthesizers out there that do this, and I would urge you to at least consider the possibilities.

Thanks again.
Boo-Frickety-Hoo.
-Dr. Evil

Post

I absolutely love that demo tune....
I like the ad on here too, very classy
Beauty is only skin deep,
Ugliness, however, goes right the way through

Post Reply

Return to “Instruments”