here's the patch I'm using myself
table creator.axp (28.5 KB)
SirSickSik Contributions
Ok, so now I can hear the wvetable after creating it and I can also save it, both take pretty long time, but that is cool.
BUT
I still get no sound when loading the wavetable in sss/osc/simpleTable using this setup. I can only hear the build in sine wave:
Ps. in your patch, the table is set to 2097152 instead of 1048756 samples.... How come?
Man, sorry for all the questions. SOme of these things are a bit hard to figure out on your own...
have you set the file name to your own when creating the table?
maybe it's still on 0:/WAP in my patch?
also, it might be really needed to add the " 0:/ " part, otherwise it might put the wavetable in the directory made when creating a patch. So if you try to load it in another patch, it will try to look in it's own directory instead of the directory where the wavetable is saved
actually, I think the 0:/ is indeed needed, remember having the same problem when I did not add that
probably, if you added the wavetable creator in the other patch, it would work again, but you won't be able to use that wavetable in another patch as that would need yet another wavetable in it's own folder.
you could see it as if the wavetable is saved as a subpatch to your patch if you don't add the 0:/, telling the module that it has to save to a folder in the main drive, instead to the folder of the current patch
Hm ok... I will try it, but have made wavetables in other ways in Axoloti, that doesnt need the 0:/ .. That only needed /wt/sss/ cause i keep the wavetables in a shared folder called /wt and these specific ones goes into /sss folder so..... /Wt/sss/...
this works for every other wavetable I have for Axoloti, counting hundreds of them saved in /wt/262144/ no need for 0:/ in those cases
But if you say so, ill try it.... Thanks again
Sorry still not working with th 0:/
Have you tested the sss/osc/simpleTable yourself? I think it might have a little bit odd behaviour. For example when the mixSine is set to 0, you can hear the sine wave AND the table load BLIIIP, but not the wavetable. When you dial the mixSine to 64 you wont hear either the sine wave nor the BLIIIB or any wavetables... Which makes me think that mixSIne function might not have been implemented properly.. ANyway, just thinking loud here....
Also I am still wondering why the creator table is set to 2097152, when 1024 waveform of 1024 sample is 1048576 in total. Why are you using a creator table that is 2 times as big as the actual wavetable being created? I dont understand that.
Again... sorry for the question. You are doing a really good job in this forum
oh yeah, I made a little mistake with that, totally overlooked that fact whoops
I could also set the max amount of waveforms for the table creator to 2048...
have you tried using the rubisikTable oscillator or quadTable?
as I KNOW that these work..
just checked the simpleTable, it works overhere..
I just tried again after a small break and still get the same result using the setup i posted.
However, I now tried copying the creator table to the player patch and call the recorded wavetable file from the creator object itself and use sss/osc/simpleTable to playback the wavetable.. This works..
But if I try and load it form a regular table(table/alloc 16b sdram) and use sss/osc/simpleTable, it doesnt not work.
WORKS:
DONT WORK:
Are you using the creator object as table or a regular table object to load the wt?
(Btw, I made this one in .raw format and it works in the creator object so .raw files work too).
I'm not sure about that table/regular table.. what's the difference?
I just used the code of the native 32bit allocation module for the creator
maybe that's the problem? that you're trying to read it as 16bit?
NEW MODULE
OSC
"superTable"
super-wavetable-oscillator like a supersaw, but then using tables
loads wavetables created with the "TheCreator" module (32bit!).
Asks quite a bit of cpu, but I think the sonic possibilities and the extra editable settings of the wavetables make up for that.
Stackable up to 32 voices, though cpu use can reach 50% with 32 voices!! (though that's still less then 2% per voice!
With 7 voices, it asks about 12% (5% more then the 7-voice supersaw).
oh, it has been a day ago already again..
NEW MODULE
DELAY
"MultiRepeater"
repeating delay module with various settings
-set delay division time to host tempo using the output of the clock2timing module and the ratioVCAI (note the "I" at the end of ratioVCAI !!), and ratioMAXVCA modules
-the delay writing process can add it's own amount of repeats
-the delay reading process can add it's own amount of repeats
-the audible delays are a multiplication of writing and reading amount, though: (see next lines)
-the delay reading time can be offset according to the delay writing time, also in divisions.
-depending on the write offset, the repeat amounts get multiplied differently, resulting in different rhythms and different amount of repeats.
-a "freeze" feature stops the writing process and only allows the reading process
NEW MODULE
OSC
"tableMorph"
Allows you to morph through the tables made with the "TheCreator" table-generator module over 3 axes (x/y/z) with different stepsizes.
Mix can be controlled by a unipolar LFO and the amount of morphed waves per mix can be set by the quantize control.
The quantize outputs can be connected to the division input of the tempo-synced LFO's to keep the rate the same when adding more steps. (don't forget to subtract 1 if the division parameter on the LFO is set to 1)
Depending on the used waveforms, their frequencies, stepsize and quantification, the morph can take lots of different shapes and changing repetitions.
The mix-controls turn the linearly created 1024 waveform-table into a 3D-map.
The stepsize-controls function as "wormholes" to connect different parts of the table to each other.
So depending on the changerates, steps-per-mix and stepsizes, short repetions can be made which slowely alter over time, selecting different parts of the table to make the short repetitions in.
As the module is based on the simpleTable module, there's also a mix between a sine (octave can be set independently from the table-waves) and the tables and also features thru-zero frequency-indexed linear FM, exponential FM, phase modulation and sync.
If you want to remove anti-alliasing, don't forget the AA2 module (filter folder).
ps. just fixed a mistake with the waveform select, which caused it to jump even with triangle shaped mixing.
oeh, just found out that you can also send values to the internal parameters of an external module.
I thought you would only be able to call upon them and get the values over into the module you're working in...
but this is indeed very, very nice! No need for long modules, just some extra external control modules sending their values over to the actual process-module!
cool, I've created a count in the initiation process.
This enables me to make a single oscillator and add multiple control modules.
The amount of voices can then be set by the amount of control modules that you load into your project.
The control modules on their part get their "instance" number during initiation, so they're automatically connected to the right voice!
and just thinking.. this way I could write several different oscillator, envelope and filter types into the voice-module, which get selected according to which kind of control module you load...
aaaaand.... while taking a shit... I thought about adding the ability to add different control modules for different ways of combination eg. default way would be a simple mix of all oscillators, but modules could change this to amplitude modulation between voices, turning around the routing and turn certain voices into modulators, using a panning/quadrant mixer etc etc
This could also be used to make a desktop mixer. For every input, you just take an extra module and then then you take a seperate module which mixes them all together
got the phase generator, phase modulator and shape generator functions working
each still only has one mode, but I can add more modes/shapes/modifiers very easily
So depending on whether you load a module, a function can/will be used, otherwise it is skipped in the process
Sounds great, can't wait to see what you come up with, it's always interesting round here...