SynthMaker

module/dsp integration

Archive · 2005 8 old posts

From the original SynthMaker forum (2004–2014), with its members’ names and dates.

sluggo ·

One thing that is a big problem with me is the integration of modules and dsp. For example, the implementation of an ASDR. In the example.osm I see that a "pow" module is incorporated, and each stage of the adsr is adds a pow with some number. Because I don't have any knowledge in audio dsp, this is just a big old mess of math.

Is it recommended that I learn some dsp using books that are mentioned elsewhere in this forum?

thanks

malc ·

Hi sluggo,

You shouldn't have to be an expert on DSP to use SynthMaker. However, at the moment everything is so low-level that it's difficult to make anything without having to getting involved in the detail.

We always planned (and still do plan) to produce a good set of high-level modules that would allow you to get result without any need for serious DSP knowledge. So for example, we'd have a high level ADSR with built in controls that you could use without worrying about what was going on 'under the hood'.

Of course you'll probably get alot out of looking into DSP and there have been some great suggestions on this forum for sources of information on this subject. It's really up to you.

unkargherth ·

As far as i know, Sluggo, the pow module ( don't confuse it float pow primitive) it expects an input value in range 0.0..1.0 and has two main functions:

On the bottom out pin this number gets convertted into numsamples ( asuming a 44100 HZ sampling rate) to set the ADSR? lengths

On top out the input value is suposed to be a linera volume level and gets converted to a kind of exponential volume level to be used in poly multiply for example

Expect to eb clear enough

Anyway, talking about Pow module, malc, What means the small symbol on bottom left of it. Once you select the module if shows x12. What it exactly means?

malc ·

Yeah, the Pow module changes the behaviour of a slider so that the value increases exponentially instead of linearly from 0 to 1 . Usually when a slider is halfway up you'd get a value of 0.5. But with the Pow module attached you'd get a value close to 0.01. It allows you to have fine control closer to zero and coarse control closer to 1.

As unkargherth said the first output connector gives you a float in the range 0-1 and the second output multiplies this by 44100 to give you an integer number of samples (the ADSR component takes values in samples for attack, decay and release ).

unkargherth wrote: Anyway, talking about Pow module, malc, What means the small symbol on bottom left of it. Once you select the module if shows x12. What it exactly means?

The symbol means that the module is synced and the number shows that it is part of a collection of 12 synced modules. If you're not familiar with syncing I'll give a quick overview here, forgive me if I'm telling you something you already know.

Basically you can create copies of a module that stay synchronised with each other. Simply copy your module as normal but instead of pasting use the Paste Synchronise command (you can find this on the Edit or right-click menus). Once synced any changes to the structure of a module will instantly be reflected in all other modules that are synced with it. This is very handy for gui elements in particular because if you decide you don't like the colour of a knob say then you only have to make the change in one place.

unkargherth ·

malc wrote: The symbol means that the module is synced and the number shows that it is part of a collection of 12 synced modules. If you're not familiar with syncing I'll give a quick overview here, forgive me if I'm telling you something you already know.

Basically you can create copies of a module that stay synchronised with each other. Simply copy your module as normal but instead of pasting use the Paste Synchronise command (you can find this on the Edit or right-click menus). Once synced any changes to the structure of a module will instantly be reflected in all other modules that are synced with it. This is very handy for gui elements in particular because if you decide you don't like the colour of a knob say then you only have to make the change in one place.

Then i supose if i change anything inside thgis module it gets automatically changed in all the rest ?

Take this . I'm running KX asio drivers on my audigy and it forces me to 48000 SR. If i change the 441000 in one module for 480000, it gets automatically changed in ALL TWELVE pow modules- 4 in in each ADSR in exaample.osm

It's is correct ?????

( this shoulud be in BIG BOLD CAPS text in the documentation......)

Tom7777 ·

It may be static im not sure, i guess it depends if you are setting the values by floats or the settings module which probably auto updates, i think that in future versions of SM a schematic will use less cpu and file size if you use sync modules so it is probably best to start using them for certain things, i have started using them for any simple modules and a lot of Gui stuff like labels as they use the same font and color ect.

skOre ·

Yes, so it is!

If you want a workaround for different values in synced modules, just make an input for that value.

Tom7777 ·

yes and another tip is that you can use sync modules for maths ect and use a few to make up a higher level module then use floats and dont sync the outer module unless it requires so, i have coded basic mono maths modules and sync them in a load of different components as they are static things so they work well like this then i can have say 50 mono multiply modules in sync all part of different higher level modules such as custom filters and effects.

Wrote something here? To have a post removed or your name hidden, write to [email protected].

Before your first post

A few rules keep this a friendly place. You agree to them once.

Shown next to what you post, here and in the app. It doesn’t have to be your real name: 3–24 lower-case letters, digits or _ (capitals become lower case, spaces become _).

    Then your post goes up straight away.

    Delete this reply?

    Open it in SynthMaker?

    It goes on the track you’re editing there, in place of that track’s sound, and into My sounds. Your other tracks stay as they are.

    Want to keep that track’s sound? Start a new song in SynthMaker first (Song › New song), then open this.

    Report this reply?

    Only the developer reads reports. The person isn’t told who reported them.

    What’s wrong with it?

    Block this person?

    You won’t see their posts and replies here any more. They aren’t told, and you can unblock them at any time.

    People you’ve blocked

    Their posts and replies are hidden from you. Unblock someone to see them again.

    The community rules

    A few rules keep this a friendly place. Everyone agrees to them once, before their first post.