Fathom Synth Official Development Thread

VST, AU, AAX, etc. plug-in Virtual Instruments discussion
FathomSynth
KVRian
1344 posts since 25 Mar, 2017

Post Tue Mar 17, 2020 7:17 am

Perfect sample of what I was looking for.
Can it specify manipulation of harmonics in the frequency domain?

User avatar
] Peter:H [
KVRian
976 posts since 22 Sep, 2016

Re: Fathom Synth Official Development Thread

Post Tue Mar 17, 2020 10:12 am

At the core of Bitwig is a Language called "Nitro" (see https://github.com/zezic/bitwig-device-hacks). Or probably Lua would be possible. But - please - don't get my nerd-outburst too serious. I think you have plenty of more relevant features on your list like the GPU thing ... maybe if enough dev capacity is left and your bored ... do scripting. I was only triggered by the Video about the synthesis methods someone posted and the immediate reply "yes, bezir point modulation is on my list"...

Kwurqx
KVRist
479 posts since 15 Jun, 2017

Re: Fathom Synth Official Development Thread

Post Tue Mar 17, 2020 12:48 pm

Reaper also offers realtime scripting. Though far more generic then (but including realtime audio).
-EEL2 (in-house developed, but open source)
-LUA
-Python

ReaScript
https://www.reaper.fm/sdk/reascript/reascript.php

And offers JSFX (audio oriented realtime script FX using EEL2)
https://www.reaper.fm/sdk/js/js.php

There is bucket loads of sample ReaScript. But as said, not limited to audio.

Kwurqx
KVRist
479 posts since 15 Jun, 2017

Re: Fathom Synth Official Development Thread

Post Tue Mar 17, 2020 12:52 pm

FathomSynth wrote:
Tue Mar 17, 2020 7:17 am
Perfect sample of what I was looking for.
Can it specify manipulation of harmonics in the frequency domain?
I'm afraid I haven't delved that deep into ChucK. But I would be highly surprised if it won't support most things you can dream up. It has been in development for nearly 20 years.

ChucK at Princeton
https://chuck.cs.princeton.edu/
https://chuck.cs.princeton.edu/release/ ... manual.pdf

Kwurqx
KVRist
479 posts since 15 Jun, 2017

Re: Fathom Synth Official Development Thread

Post Tue Mar 17, 2020 1:11 pm

Here's a bit on Spectral Analysis and Synthesis in ChucK (also from Princeton)
https://chuck.cs.princeton.edu/uana/
https://soundlab.cs.princeton.edu/publi ... mc2007.pdf
Here you will find a new programming model for performing audio analysis, spectral processing, and feature extraction in the ChucK programming language. Starting with version 1.2.1.0, ChucK unifies analysis and synthesis in the same high-level, strongly-timed, and concurrent environment, extending and fully integrating with the existing language framework. In particular, we witness the birth of the Unit Analyzer (or UAna, pronouned "U-Wanna", plural: UAnae), a new language operator, new constructs for dataflow, semantics for operations in analysis domains, and mechanisms for seamlessly combining analysis and synthesis tasks in a precise, sample-synchronous manner. From this portal, you will find our introductory ICMC paper, along with some handy resources to get you started with analysis in ChucK.

FathomSynth
KVRian
1344 posts since 25 Mar, 2017

Re: Fathom Synth Official Development Thread

Post Tue Mar 17, 2020 1:42 pm

Cool, Thanks everyone.

Kwurqx
KVRist
479 posts since 15 Jun, 2017

Re: Fathom Synth Official Development Thread

Post Thu Mar 19, 2020 12:15 am

More on Additive/Spectral synthesis.

Have you ever checked out the PADsynth algorithm? Developed and generously released to Public Domain by Paul Nasca of ZynAddSubFX and PaulStretch fame.

His brilliant idea was/is:
I consider one harmonic(overtone) as being composed of many frequencies. These sine components of one harmonic are spread over a certain band of frequencies. Higher harmonics has bigger bandwidth. In natural choirs/ensembles the bandwidth is proportional to the harmonic's frequency.

The harmonics becomes wider and wider, until at a certain frequency, where they may merge to a noise band (as in the full spectrum image from above). This is a normal thing and I recommend to not avoid this by limiting the bandwidth of the harmonics.
The basic steps are:

1. Make a very large array that represents the amplitude spectrum of the sound (default all values are zero)
2. Generates the distribution of each harmonic in frequency and add it to the array
3. Put random phases to each frequency of the spectrum
4. Do a single Inverse Fourier Transform of the whole spectrum.

There is no need of any overlapping windows, because there is only one single IFFT for the whole sample.
PADsynth algorithm
https://zynaddsubfx.sourceforge.io/doc/ ... Dsynth.htm

FathomSynth
KVRian
1344 posts since 25 Mar, 2017

Re: Fathom Synth Official Development Thread

Post Thu Mar 26, 2020 6:44 am

Thanks, I'll take a look at PADsynth. If I chose an existing format for oscillator scripting I want it to be something that people are already familiar with.

One of our users emailed me and asked me for an update on current progress.

So here are some screenshots of the upcoming metamorphic oscillator.
https://www.fathomsynth.com/news

Return to “Instruments”