SynthMaker

WaveTable File Array possible?

Archive · 2008 13 old posts

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

Neptune ·

Hi,

i try to load different wavetable (txt) files into an array from which they can be easily switched by a pushbutton.

But i haven´t found a way to store all those files in my project yet besides the possibility to work with a multiplexer and tons of "Text" and "Load"...

Is there maybe a WaveTABLEarray module available or is there a way to build such a module please?

Thanks in advance! Neptune

oddson ·

There's no way to get them into Memory Arrays from the Wave Table component. So you'd have to store them while they are still in array format.

Since there's no Array of Arrays you would need to build one and use the Float Array Section primitive to extract the relevant parts for each wave.

Might be a bit tricky and I don't know what the maximum size of the float array is.

oddson ·

arrayarray.osm

I've not adequately tested this but it gives the idea... an array of arrays.

rl ·

How about the "WaveFileArray" module?

Neptune ·

oddson wrote: arrayarray.osm an array of arrays.

rl wrote: How about the "WaveFileArray" module?

Thanks a lot Oddson for your scheme. I learned something again. Thanks a lot RL. All my tries with the wavefile array module failed.

I did it the old way now. I added a selector inside of the Wavedraw OSC behind the Text primitive and several Text primitives which are connected only to this selector.

So there is still the possibility to load a custom wavetable file into the first slot and the possibility to switch between the predefined waveforms loaded from the text primitives.

The only thing i need to solve is the delay of new waveforms being displayed after switching. The Wave is not updated automatically on the OSC display, but it is already loaded.

How can this be improved please?

Here is the .osm Wavedraw OSC with with preloaded waves

Thanks for your help again!

Cheers, Neptune

oddson ·

Neptune wrote: ...The Wave is not updated automatically on the OSC display, but it is already loaded...

Go inside the 'Draw Graph' module and connect the float array to the 'do it' trigger input of the Redraw primitive.

oddson ·

Here is an example of what you can do...

Wavedraw_Osc_Odd.osm

Drawn alterations are saved, the stock shapes can be restored by right-clicking on the 'Load' button (not the best UI choice but I didn't want to reconfigure the GUI).

Any of the five waves can be overwritten from a file.

The 'trick' to how it works is to use Sample & Hold primitives and make sure they are only triggered when they need to be.

The 'Array of arrays' idea above was based on the assumption you wanted an arbitrary number of possible waves (and of potentially different sizes). The problem with a solution based on it is having a 'delete wave' option that didn't clear the whole thing. It's possible but trickier still.

infuzion ·

oddson wrote: arrayarray.osm I've not adequately tested this but it gives the idea... an array of arrays.

Cool; I've been hoping for an and array of arrays with arbitrary lengths 🙂 thank you

BTW, to get a the number of rows of a green array, simply connect an Int from an array output... it is a SM ninja trick 😉 So, inside your Array Array module, you can delete the size module, & directly connect the Float-array In to the Int Size input.

oddson ·

...to get a the number of rows of a green array, simply connect an Int from an array output...

Very cool... 🙂 I've been known to use sort and max to find the size before the Float Array primitive was given an assign input... I had no idea there was such a simple solution.

rl ·

infuzion wrote: it is a SM ninja trick 😉

Infuzion-sempai, who is your sensei and when did he/she teach you that?

infuzion ·

rl wrote: infuzion wrote: it is a SM ninja trick

Infuzion-sempai, who is your sensei and when did he/she teach you that?

Either the Great Spirit told me to experiment, or malc, I forget which.

Andrew J ·

infuzion wrote: Either the Great Spirit told me to experiment, or malc, I forget which.

Are they not one and the same? 🙂

Neptune ·

oddson wrote: Here is an example of what you can do...

Wavedraw_Osc_Odd.osm

Drawn alterations are saved, the stock shapes can be restored by right-clicking on the 'Load' button (not the best UI choice but I didn't want to reconfigure the GUI).

Any of the five waves can be overwritten from a file.

Thanks Oddson, this is great.

I made a small UI mod based on the "Restore Wave" function. I added a pushbotton which triggers a pop-up to confirm/deny the restore of the default wave.

WaveDrawOSC w/confirmReset

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.