From the original SynthMaker forum (2004–2014), with its members’ names and dates.
brok landers ·
hi all,
although i have synthmaker since a long time i never got around using it seriously ...
now i`m trying to set something up, and though i got more far than i thought, something
makes me go nuts as i can`t find a way to get rid of theproblem, so i thought maybe some
of you cracks can hep me out:
i`m using the buildt in wavedraw osc. but even if i use samplesize on 4096, they still loose
high frequency content when played from f minus 1 (the f below c1) downwards ...
you might laugh, but this is important to me ... i`d like to have the wavetable not loosing
high frequency content at least down to c-2 ... so here`s my question: how would i modify
the wavedraw osc in order to create tables that don`tloose high frequency content down to
at least c minus 2?
thanks in advance for your help! 🙂
stefan ·
How big is the drawing area? If it isn't, well, 4096 pixels wide (which I doubt that it is 🙂) one will have to figure out a way to get the high frequency content into the array... With a table size of 1024 you start loosing high frequency content when going below 43Hz, do you really need 4096 samples?
edit: And! Oh! Nice to see you here, welcome brok! Great work on the Helix patches!
brok landers ·
stefan wrote: How big is the drawing area? If it isn't, well, 4096 pixels wide (which I doubt that it is 🙂) one will have to figure out a way to get the high frequency content into the array... With a table size of 1024 you start loosing high frequency content when going below 43Hz, do you really need 4096 samples?
hey stefan, thanks for getting back to me so fast ... hmm, so do i understand that right:if the window is too small, there`s simply not enough pixels to draw the complete resolution? i never thought about the fact that the pixels are the reason why the high content could be lost ... but somehow it makes sense .. well, i`ll post a screenshot ... don`t expect something big or fancy, i`m just trying to learn ... it`s basically the example synth that comes with synthmaker, a bit modified, that`s all ...
stefan wrote: edit: And! Oh! Nice to see you here, welcome brok! Great work on the Helix patches!
😀 thanks! didn`t know you heard them! it especially means something to me if a pro like you likes my work ...
brok landers ·
is tha big enough?
well, here`s the .osm, so maybe, if you`d like to, you can have a look into it?
i might have other questions (well, i do have other questions 🙂 ), would you maybe be willing to help me a bit?
MegaHurtz ·
ouch.. i`d recommend a fixed highpass filter at about 12 to 22 hz.
For the love of your speakers 😉
MegaHurtz ·
cubic interpolation?
brok landers ·
MegaHurtz wrote: cubic interpolation?
how to ?
stefan ·
I don't see how cubic interpolation would introduce high frequency content into the signal?
Some sort of "smart" interpolation on the actual drawing could work, but would be fairly tricky to implement I think. If one would add zoom controls etc to the drawing area I guess one could solve this issue.
edit: And, oh, brok, me and Jonas are old friends from school 🙂
brok landers ·
stefan wrote: I don't see how cubic interpolation would introduce high frequency content into the signal?
stefan, i don`t want high content to be introduced (added), but i simply would want to prevent the high frequency from getting lost in the lower register, which, i believed, is caused by the fact that the wavetable isn`t big enough ...
but now i got another idea, that goes in conjunction with the size: is there a rootnote for the resulting wavetable,that is used when drawing the wave? because, if thatone is too high, then the higher harmonics wouldn`t be present, when playing very low, no matter how big the table is ... because the bandlimiting causes the cut at nyquist, and if you transpose down that note (if you play lower tones), this "border", where the high frequency is beeing cut, slips way down into the audible range ... and above that cut-point there simply is nothing, the ifft ignored it when calculating the tableat a higher pitch than actually played ... am i speaking out my arse here? 🙂
stefan wrote: Some sort of "smart" interpolation on the actual drawing could work, but would be fairly tricky to implement I think. If one would add zoom controls etc to the drawing area I guess one could solve this issue.
hmm, i am really wiggly on that ... i don`t think it`s the interpolation, as, when playing i.e. c3, all the frequency is there, and without any artefacts ... the more i think of it, i come to the comclusion that the above described is the problem ... soo ... am i able to change that rootnote to , say, c minus2? so that the drawn table is created on that pitch?
cause, if the table is big enough, it should create the high frequency as it sould be, and if played above, the ifft cuts at nyquist anyway ... correct? please someone enlight me ...
stefan wrote: edit: And, oh, brok, me and Jonas are old friends from school 🙂
really? so you`re swedish, too? or are you in california?
stefan ·
The problem isn't high frequency content "getting lost" in your case. It was never entered into the waveform. Basically, the width of the drawing area sets the "root note" in your case. If the drawing area is just 256 pixels, for instance, you can draw a waveform with up to 128 partials. Which means that if you go below about 172hz you will start to notice the lack of high frequency content, no matter how big the table actually is. This is all a bit simplified, but basically this is what probably happens in your case.
For what it's worth, there's really no concept of a "root note" when dealing with the array and generating the wavetable from it. The iFFT/FFT doesn't care about such things, it only cares about the size of the table and what's been put in it. You're problem is that you're not putting enough harmonics into the array.
Yeah we're both from Sweden, went to the same schools for a total of about 7 years I think. And went on snowboarding vacations together 🙂 I used to share an apartment with his younger brother when going to the university.
brok landers ·
stefan wrote: The problem isn't high frequency content "getting lost" in your case. It was never entered into the waveform. Basically, the width of the drawing area sets the "root note" in your case. If the drawing area is just 256 pixels, for instance, you can draw a waveform with up to 128 partials. Which means that if you go below about 172hz you will start to notice the lack of high frequency content, no matter how big the table actually is. This is all a bit simplified, but basically this is what probably happens in your case.
For what it's worth, there's really no concept of a "root note" when dealing with the array and generating the wavetable from it. The iFFT/FFT doesn't care about such things, it only cares about the size of the table and what's been put in it. You're problem is that you're not putting enough harmonics into the array.
wait, i don`t understand this ... i draw a saw with all it`s necessary high frequency content ... but whatever table size i use, the high frequency content gets cut off from f minus1 downwards, it`s not in the table ... so what can i do about that loss? please, help me out there ...
stefan wrote: Yeah we're both from Sweden, went to the same schools for a total of about 7 years I think. And went on snowboarding vacations together 🙂 I used to share an apartment with his younger brother when going to the university.
heh, the world`s a village ...🙂
stefan ·
brok landers wrote:
stefan wrote: The problem isn't high frequency content "getting lost" in your case. It was never entered into the waveform. Basically, the width of the drawing area sets the "root note" in your case. If the drawing area is just 256 pixels, for instance, you can draw a waveform with up to 128 partials. Which means that if you go below about 172hz you will start to notice the lack of high frequency content, no matter how big the table actually is. This is all a bit simplified, but basically this is what probably happens in your case.
For what it's worth, there's really no concept of a "root note" when dealing with the array and generating the wavetable from it. The iFFT/FFT doesn't care about such things, it only cares about the size of the table and what's been put in it. You're problem is that you're not putting enough harmonics into the array.
wait, i don`t understand this ... i draw a saw with all it`s necessary high frequency content ... but whatever table size i use, the high frequency content gets cut off from f minus1 downwards, it`s not in the table ... so what can i do about that loss? please, help me out there ...
The issue is that unless your drawing area is as wide as the array is long, you won't be able to draw it with all its necessary high frequency content.
brok landers ·
stefan wrote: The issue is that unless your drawing area is as wide as the array is long, you won't be able to draw it with all its necessary high frequency content.
i tried this, and i made that window really big ... it did not make any difference here ... so how big do i have to make it, in order to have a wavetable that is accurate to c minus 2?
stefan ·
Hm. With a wave array size of 1024 samples the drawing area would have to be 1024 pixels wide. Unfortunately I'm not in Windows right now so I can't have a look. I will as soon as I get a chance to.
brok landers ·
stefan wrote: Hm. With a wave array size of 1024 samples the drawing area would have to be 1024 pixels wide. Unfortunately I'm not in Windows right now so I can't have a look. I will as soon as I get a chance to.
heh, so in my case the drawing window would horizontally have to fill nearly all screen space (i`m on 1280>1024)??
and the vertical size of that window doesn`t matter?
edit:
just tried it again. made the green osc window reaching over both 19" monitors, set the wavetable size to 4096, drawing a saw ... still no difference ... the osc audibly looses high frequency content from f minus1 downwards ...
stefan ·
brok landers wrote:
stefan wrote: Hm. With a wave array size of 1024 samples the drawing area would have to be 1024 pixels wide. Unfortunately I'm not in Windows right now so I can't have a look. I will as soon as I get a chance to.
heh, so in my case the drawing window would horizontally have to fill nearly all screen space (i`m on 1280>1024)??
and the vertical size of that window doesn`t matter?
Indeed. Which isn't a "very" good solution 🙂 Zoom/scroll controls on the drawing area could work, or some magic tricks that tries to "fill the gaps" between the drawing points.
brok landers ·
hmm ... just tried it again. made the green osc window reaching over both 19" monitors, set the wavetable size to 4096, drawing a saw ... still no difference ... the osc audibly looses high frequency content from f minus1 downwards ... are you sure that this causes the problem? i mean, the window is now waaay bigger than 1024 pixels horizontally ... still, the loss of high frequency is there ...
stefan ·
brok landers wrote: hmm ... just tried it again. made the green osc window reaching over both 19" monitors, set the wavetable size to 4096, drawing a saw ... still no difference ... the osc audibly looses high frequency content from f minus1 downwards ... are you sure that this causes the problem? i mean, the window is now waaay bigger than 1024 pixels horizontally ... still, the loss of high frequency is there ...
I think I'd need to give it a go myself 🙂 I'm probably missing something...
brok landers ·
grab the osm i posted above ... you probably need to set the wavetable size correctly again in thatone ...
i really need to solve this problem ...
stefan ·
This is going to seem strange. But there's something odd with the table create/read. I get the best results using a wave length of 512 samples (will give me a full spectra down to 86Hz). At 1024 or higher something goes wrong. I'll let malc know.
brok landers ·
just realized that here, too ... however, i found an osc (in the new analog stuff) that seems to not suffer from that and lets you draw the wave even more the way i like it ... but now there`s another problem ... i can`t save that wave as a wavetable from that osc modul ... could you possibly show me how to do that? i`ll upload the new .osm with that new osc module later, sou you could then check this in there, as i made some modifications to the module ...
stefan ·
I'll have a look when I get a chance to (might not be until after the weekend). If anyone else feels like chiming in, by all means do! 😉
brok landers ·
ahhh, stefan, don`t feel forced, i`m just asking ...take your time ... 🙂
stefan ·
FWIW we have found what's wrong (not enough tables gets generated when using larger arrays).
brok landers ·
heh ... 🙂 well, when do you think it`s fixed?
stefan ·
brok landers wrote: heh ... 🙂 well, when do you think it`s fixed?
Don't know 🙂 The issue has been left in Malc's gentle hands.
brok landers ·
okeiii ... let`s see how long it takes ... 😀
Wrote something here? To have a post removed or your name hidden, write to [email protected].