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].