SynthMaker

wave draw output interpolation is an issue

Archive · 2011 6 old posts

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

dutchound ·

The wave draw could be used as an amazing drawable envelope to modulate LFO speed, LFO amplitude, FM, effects ... and literally sculpt sound pads.

But there is a major limitiation in the "wave table read" module, it averages and changes all the values in the array to adjust them between -1 and -1. it would be lovely to have a second output on "wave table read" module that bypasses the interpolation and just puts out the straight values that are in the array, and then it would be possible to use this wave draw as a modulation source.

I have a nice prototype synth that sculpts pads from many oscillators and effects using a drawable envelope i want to make it in SM!

cyto ·

Using the "wavetable read" primitive is probably not the best idea in this situation. Wavetables are special data tables that have the array represented for many different situations to handle anti-aliasing for different frequency values. They are not just simple data arrays.

Instead, try using the "wave read" primitive. You can load any arrays into a memory buffer and feed that to the "wave read" primitive. As far as I know (though I haven't tested this out), the "array to mem" primitive does not scale the data to -1to1 nor does the "wave read" primitive require -1to1 values. Test it out for yourself. You will need to construct some kind of "counter" module as well. If you need help, I can upload an example.

-cyto

dutchound ·

thanks! would i have to make a green signal counter because the input of the wave read is a green line? and so in that case would it be possible to have in polyphonic and sync'd to the midi input? i tried to see how to do as you say but i felt way out of my depth, i didnt really understand the wave read module's inputs.

also it might be easier to make a workaround by adding all the values of the array together, take the average value and add it to the "wave table read" module output to bring the signal back to it's original range? could you tell me how to find the average figure for all the values in a SM array?

The anti-aliasing effects could be unnoticeable as-is because it is for use as a LFO without HF's, although i dont know ???.

Thankyou!

dutchound ·

HOLD YOUR HORSES!

my mistake i found a solution!! it wasnt the wave table read module that was messing up the values from the array! no one said me that!

there cleverly is a green DC value on the Table module!!! it sais "preserve the DC instead of making it zero" and this is what was messing the array values! so i set it to true, and the stock Wave Read macro is totally useable as an LFO just by changing the table DC!

here is the example, i am so happy i have this draw envelope 🙂

cyto ·

dutchound wrote: HOLD YOUR HORSES!

Doh! the horses were already running while you were posting that 😉

Here's the promised example of how to use the wave read primitives...

Maybe you can glean some more insight from them. I also expanded the idea to show you how to implement envelopes using this technique (I seem to remember reading some posts of yours recently hinting at maybe doing that). These are not fully fleshed out solutions but should nudge you in the right direction.

You do need to keep in mind that "wavetables" are not the same thing as waves. I'm not 100% sure how SM handles wavetables, but traditionally they are literally tables of many individual single-cycle versions of the wave that are inter-modulated in response to the frequency requirements. To that end, if you continue to go down this path, you may find that they will not always work as would be expected if it were simply an array representation of the values of a single wave cycle.

-cyto

dutchound ·

Hey thanks Cyto!

That will really help me (and others!) to learn because it is a very well done example, i can understand that! Sorry i was kindof wrapped up in making my synth i didnt see it! thanks so much!

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.