Hi,
Say I have 4+ wavetables that have hand-drawn waveforms. Now I want to blend between them using a slider.
Whats the best way to go about this?
cheers
Blending/Crossfading wavetables
Hi,
Say I have 4+ wavetables that have hand-drawn waveforms. Now I want to blend between them using a slider.
Whats the best way to go about this?
cheers
boonier
How do you plan on blending between 4+ wavetables with one slider?
Ok, let S be the value of the slider going from 0 to 1.
To crossfade I'd assume you'd multiply the amplitudes of one signal by S and the amplitude of the other by (1 - S)?
Just guessing..
do you want the output signal to be blended between the waveforms? then polygate~ could be what you want (with a fixed transition time) or you could do something like i did in the following thread for quadrophonic mixing:
http://puredata.hurleur.com/sujet-3133-channels-surround-pan
but i guess you want something like a visual blending, a 5th array to visualize the blended waveform, or something, right?
you can either mix the output of the tabosc4~ object (I'm assuming you're using that to playback the wavetable) or you can mix them with a tabplay~ and write that onto a new array making a new wavetable.
As far as the mixing Vixus' comment explains it.
i've been playing around with a solution for two tables, should be easy to get it working for more tables.
@saturno said:
you can either mix the output of the tabosc4~ object (I'm assuming you're using that to playback the wavetable) or you can mix them with a tabplay~ and write that onto a new array making a new wavetable.
As far as the mixing Vixus' comment explains it.
Well yes, kind off...
I'm trying to get the result output into an array called 'blend' and the synth is using using that table to derive its waveform. The table has to be updated realtime...I think [tabsend~] is the way to go, but I need to figure the correct rate to drive the [tabosc4~] feeding it. Or, maybe there is a better way ??
cheers
boonier
@toxonic said:
i've been playing around with a solution for two tables, should be easy to get it working for more tables.
ha! thats it. I did something like this last night with [until] but found it a little sluggish and abandoned the idea. Maybe it was my shite slow laptop and redrawing arrays that did it
thanks
boonier
tabsend~ won't do since it works at the rate of the patch's blocksize. For tabosc4~ the table size has to be 2^x+3. That plus 3 gets in the way.
You can try using a blocksize that is larger than the table size but I'm not sure if that will work.
should be easy to get it working for more tables
ok i'm getting a bit stuck with the math on this....could someone give me a gentle nudge pls?
boonier
did you look up the link i posted some comments above?
http://puredata.hurleur.com/sujet-3133-channels-surround-pan
check this out, in this patch i built a 360 degrees panning for a quadrophonic speaker system. with a little work, it should be possible to adopt that technique for your table blender.
Cheers Toxonic
Well here it is - my only beef with it now is that its all happening at message rate. For true smoothness i'd like it to run at audio rate...shame there's no [tabwrite~ ] with index input
It would need a rethink - getting the calculations done at audio rate and updating the table....delay buffers, tabsend~, bang~
hmmm any ideas?
boonier
what? i guess, you don't want to have the disturbing clicks, while morphing the waveform, right? i have no idea at the moment, but what you mean with audio rate? the kalshnikov and tabwrite write the values as fast as your machine can manage it, if you worked in audio rate you would only be able to process 44100 calculations per second (at a given sample rate..).
if this here was reaktor, where the control rate was by default 200 hz i would understand what you mean, but in pd there are not such limitations.... or did i get something wrong?
but instead of the kalashnikov approach you could use 515 tabwrites.......
Sorry I never did get round to posting the fruits of my labours!....Probably could be improved with different fade tables, but fundamentally its working at audio rate
Its quite nice to do sequences and modulate the crossfade sequentially also
cheers
boonier
I just downloaded your patch and I'm very impressed - great work, no clicks!
Did you ever use Absynth? It is basically a waveform based thing and it morphs waveforms all over the place. Of course one can't draw his/her own waves but one can construct them from scratch or based on sampled audio AND there are literally 100s of waves supplied - some are so radically different that the morph can produce breathtaking results. If you're interested, there are a few tuts on NI's site, just to give you an idea.
I want to construct something that works in a similar way and your patch is just great. I'll keep it in a safe dry place for later use
Macbook Pro OS X.9 | Metric Halo | Sound + Visuals | on Borneo :: http://www.mata-telinga.net
Say I have 4+ wavetables that have hand-drawn waveforms. Now I want to blend between them using a slider.
Whats the best way to go about this?
I do something like this for files using vline~ & *~ and a bang for each wav file. The bang fades up its corresponding file and fades down all the others by triggering message boxes.
Oops! Looks like something went wrong!