Audiotool board archive

Synth things

HealthyTrade · started 2019-03-15 13:41 · updated 2019-03-15 13:49

place to talk about synth development(?)

Comments (12)

2019-03-15 13:46 · 2019-03-15

hey @chordofdestruction, do you have a demo of your synth so far?

2019-03-15 13:49 · 2019-03-15

Discussion started here: https://www.audiotool.com/board/chitchat/creating_my_own_synth
In real-time processing the most problematic thing (besides pure performance) is latency: the time between performing an action and hearing the result.
Using a garbage-collected language (Java, Python, C#, JavaScript) introduces random halts in order to remove no longer needed objects from the heap. This introduces buffer-underruns which you can hear as glitches. To mitigate this fluctuating processing speed you can increase the buffer size which introduces bigger latency.

Known As I · reply
2019-03-15 13:52 · 2019-03-15

In a few weeks you can hopefully use the "Demo" via the "App" button on the top of this page ;)
My other Demos aren't easy to share.

HealthyTrade · reply
2019-03-15 13:54 · 2019-03-15

I look forward to testing it

HealthyTrade · reply
2019-03-15 14:08 · 2019-03-15

how hard would it be to add a "waveform out" to the synths that outputs the waveform data as say a text file or something you can do arithmetic on?

Known As I · reply
2019-03-15 14:55 · 2019-03-15

Not that hard. The output of a synth is a sequence of numbers you'd normally write into the sound driver's buffer or a wav file. Just format those numbers as Strings and write them to a text file. You can also write a converter that has a wav file as input and text as output.

HealthyTrade · reply
2019-03-15 15:11 · 2019-03-15

Ooooh, then in theory you could plug in something with "wave a in" and "wave b in" and use my technique on them and just reencode it, maybe with a wave outs so you can chain the units

Known As I · reply
2019-03-15 16:20 · 2019-03-15

That's a good starting point.

  • The "Hello World!" for synths is a 440 Hz sine wave for 1 s. (sounds like a telephone)
  • The "Hello World!" for an effect device is an amplifier (like halving the magnitude).
HealthyTrade · reply
2019-03-15 16:29 · 2019-03-15

What my technique does is take a set of numbers(currently a txt file) and divide it by a second set of numbers, wave A and B respectively, then does a bit more math to drag the numbers to below |1| as to avoid horrible clipping, and spits out some numbers, a feature i would like to add is an offset, where it would loop back around so it has different combinations

Apollo · reply
2019-03-16 12:38 · 2019-03-16

@chordofdestruction I'd love to hear more about these demos (if your can disclose that information). Will they be replacing the older HTML5 demos of the 3 main devices? (Perhaps featured enough to (1) save presets directly from the demo, (2) act as a audiotool sketch-like device to make patches (offline) and save later?

Known As I · reply
2019-03-16 13:27 · 2019-03-16

Hi @apollo, I just tried to make fun on my next "demo" being the new audio engine :)
I already implemented the 440 Hz sine wave when pressing the play/pause - nothing more. I guess we'll start the usual beta phase when there is at least something relevant to show. I just wrote a short list of what we're trying to achieve if that is of interest to you: https://www.audiotool.com/board/chitchat/at_behind_the_scenes
I coded some synths a long time ago in QBASIC, PHP and Java. PHP was just for fun.

Apollo · reply
2019-03-16 13:38 · 2019-03-16

Ah, I see.
I couldn't find a specific comment in that topic detailing implementation, but for the most part, I see what you mean