From the original SynthMaker forum (2004–2014), with its members’ names and dates.
exonerate ·
The wavetable primitive automatically generates it's wavetable on plugin load, I'd like this to be optional please.
What I'm planning on doing is creating an oscillator that works like the standard SM ones, basically the very first time the plugin loads a large wavetable will be created and using the new save to wavefile features I'll save the wavetable to the hardrive, then the next time the user loads the plugin I'll check if the wavetable is next to the plugin on the hardrive, if it's not there then it will get generated, if it is then it doesn't need to be generated, reducing load times.
At the moment theres no way I can not generate the wavetable because it does so automatically, can you add a bool input that when set to true it won't get created automatically? please 😇
Oh and as a side note why not add optional wavetable sizes to the standard oscs? just an integer input for a few set sizes say 0 = 256 ,1 = 512 ,2 =1024 ect?
**EDIT** Actually I can see some issues to just the bool approach, basically I think there should be a string input to define a file path and name, so the checking and saving to hardrive is done internally in the wavetable create primitive, then have a bool input which will give the behaviour described.
Cheers 😉
Exo
Acrobat ·
That sounds very pro: +1
😀
xmidiman ·
+13
However I would also like the option have it somehow embed the wavetables inside the OSM/VST etc, vs the .dat files(?) that get generated...
This would be best for osc's that never change ie saw, square, tri, sine etc.
So a first time user experiences the same FAST loading every time.
I guess an installer could handle the extra files, but it just seems nice to only have a dll right where it needs to be.
To add, If we could already have 512, 1024, 2048 etc wavetables embed-ed for each OSC, you could easily set up a setting in your synth for like HQ mode or low cpu/memory mode etc... Might be useful for those old cpu folks.
You can do this kinda now, but it sucks waiting for them to generate the tables.
I hope this thread is taken into consideration! Thanks!
sunsynth ·
+1...
Thumbs up!
exonerate ·
xmidiman wrote: +13
However I would also like the option have it somehow embed the wavetables inside the OSM/VST etc, vs the .dat files(?) that get generated...
This would be best for osc's that never change ie saw, square, tri, sine etc.
So a first time user experiences the same FAST loading every time.
I guess an installer could handle the extra files, but it just seems nice to only have a dll right where it needs to be.
To add, If we could already have 512, 1024, 2048 etc wavetables embed-ed for each OSC, you could easily set up a setting in your synth for like HQ mode or low cpu/memory mode etc... Might be useful for those old cpu folks.
You can do this kinda now, but it sucks waiting for them to generate the tables.
I hope this thread is taken into consideration! Thanks!
well having them embeded in the osm/vst is already possible, generate the wavetables and store each in an index on the "wave array set"(an RnD primitive). Then use the "mem get at" to retrieve the wavetabe for use with the wavetable read.
Personnally I don't like this solution because it means adding a fair few megabyte to the overall file size, I'd prefer the method used by the standard osc's. Keeps file size down and improves load times.
Cheers 😉
Exo
matti ·
exonerate wrote:
xmidiman wrote: +13
However I would also like the option have it somehow embed the wavetables inside the OSM/VST etc, vs the .dat files(?) that get generated...
This would be best for osc's that never change ie saw, square, tri, sine etc.
So a first time user experiences the same FAST loading every time.
I guess an installer could handle the extra files, but it just seems nice to only have a dll right where it needs to be.
To add, If we could already have 512, 1024, 2048 etc wavetables embed-ed for each OSC, you could easily set up a setting in your synth for like HQ mode or low cpu/memory mode etc... Might be useful for those old cpu folks.
You can do this kinda now, but it sucks waiting for them to generate the tables.
I hope this thread is taken into consideration! Thanks!
well having them embeded in the osm/vst is already possible, generate the wavetables and store each in an index on the "wave array set"(an RnD primitive). Then use the "mem get at" to retrieve the wavetabe for use with the wavetable read.
Personnally I don't like this solution because it means adding a fair few megabyte to the overall file size, I'd prefer the method used by the standard osc's. Keeps file size down and improves load times.
Cheers 😉
Exo
Couldn't you just save the wavetables as wavs?(or raw binary data) Then load them at startup..
Acrobat ·
matti wrote: Couldn't you just save the wavetables as wavs?(or raw binary data) Then load them at startup..
mhh... a wav for every single key note?? 😀
matti ·
Acrobat wrote:
matti wrote: Couldn't you just save the wavetables as wavs?(or raw binary data) Then load them at startup..
mhh... a wav for every single key note?? 😀
Haha no 😀
I ment saving the wavetable.
But I dont know if it would work with the currently available 16 bit wave files..
Go try it..
exonerate ·
matti wrote: Couldn't you just save the wavetables as wavs?(or raw binary data) Then load them at startup..
Yes I could do that no problem, but I see that as no different to having them embeded in the schematic, it still means if you want a good selection of waveforms at large wavetable sizes, your going to have to ship a simple 1-2mb plugin with 20+mbs or so of waveforms. What I want is as small a download size as possible, as small a load time as possible and obviously as low CPU use. 🙂
I've come up with an idea though how I could do it using my little hack for delaying wavetable creation, basically that hack would only have to be performed the very first time the plugin loaded, then I can save the wavetable as a wav file, next time load that wav file and block the trigger for the wavetable creation. 🙂
Cheers 😉
Exo
Tzarls ·
You could include a check, so the plugin checks if the wavetable .wav exists, and if it doesn´t, then it ASKS the user if OK to create wavetables. That way, the user will know that the plugin is working and will gladly wait until the wavetables are done and saved.
Next time you load the plugin, it checks for the file, finds it, loads it and the user is happy.
xmidiman ·
Tzarls wrote: You could include a check, so the plugin checks if the wavetable .wav exists, and if it doesn´t, then it ASKS the user if OK to create wavetables. That way, the user will know that the plugin is working and will gladly wait until the wavetables are done and saved.
This could be a work around, but seriously should never be considered for a final product.
You have to look at retail plugins now, you never see this. We can't go back in time, lets move forward.
However, I could see an installer for your plugin, run a bundled exe that contains your "~wavetable generation~", and puts the tables somewhere that the dll knows to find... But I wouldnt really want to throw something at a customer that really doesn't know the back end of my synth.
matti wrote: Couldn't you just save the wavetables as wavs?(or raw binary data) Then load them at startup..
Main reason I wouldn't like this, would be anyone could use our tables, and you don't want anyone stealing your goodies.
I tried the wav save from a wavetable, and it was interesting to look at afterwards, because it didn't seem to use a full range of notes across the spectrum? Like it really wasn't showing the full wavetable.(making me think you can not do it this way?)
Maybe Malc can join in and maybe shed some light on our troubles...
matti ·
xmidiman wrote: Main reason I wouldn't like this, would be anyone could use our tables, and you don't want anyone stealing your goodies.
Well... Anyone could just play your synth to sample the "wavetables". Sample just one cycle and put it inside a wavedraw osc etc. So in that way i see no point of not saving the wavetable to disk. Ofcourse you could scramble the wavetable if you feel necessary.
All this would be great if SM would support ASCII files, or 24 bit wave files.
xmidiman ·
matti wrote: Well... Anyone could just play your synth to sample the "wavetables". Sample just one cycle and put it inside a wavedraw osc etc. So in that way i see no point of not saving the wavetable to disk.
When you sample something for that reason and create your own wavetable from it, it will not be the same quality as the original.
Mainly aliasing and such will vary...
If someone can already take your high quality "raw" wavetable, they don't need to do anything.
I would add that I'm not against having this option, I just don't want it to be the fix. 😮
matti wrote: Ofcourse you could scramble the wavetable if you feel necessary.
How can we do this? 🙂
matti ·
xmidiman wrote:
matti wrote: Ofcourse you could scramble the wavetable if you feel necessary.
How can we do this? 🙂
Well for example: write the data in some other order than the original one. Or calculate a sum with some key, etc. I'm sure you could even search for some decryption thing and implement it in SM.
Wrote something here? To have a post removed or your name hidden, write to [email protected].