Kyma Forum
  Tips & Techniques
  partial panning using 2 oscillatorbanks

Post New Topic  Post A Reply
profile | register | preferences | faq | search

next newest topic | next oldest topic
Author Topic:   partial panning using 2 oscillatorbanks
johannes
Member
posted 07 April 2014 15:03         Edit/Delete Message   Reply w/Quote

partialPanning_v1.kym

 
hello,

based on the gustl´s very inspiring spectral smoothing thread here at the forum i experimented with partial panning using the wire between.
my goal is to place/move individual partials between the left and right channel. for now iam trying to do it by random without interpolation between successive values.

(to avoid any confusion i will use the term channel as a synonym for output or speaker while the term leg refers to the amp or freq part of a frame).


i made a patch using 2 oscbanks (one for the right and one for left channel) which is not working correctly at the moment.
the basic idea is create random amplitudes (left leg) for all partials in a frame of one channel by using scaled noise output (0-1), while simply take the inverse
of the noise output for the other channel.

the modulation signal (for the product with the left leg) needs to create 252 random samples each 252 samples with the option to hold these random samples for a longer period. iam doing this by feeding white noise into a memory writer (252 samp duration and set to silent mode) plus
a sample player that reads from the wavetable (frequency: 252 samp).

of course this is a very basic and maybe complicated way of doing it in kyma and iam very curious about your ideas and critics.
also maybe someone has an idea why the panning sounds blurry, with no sharp left or right panning and doesn't seems to change pannings when writing and reading new noise samples into/from the wavetable…

is this because the 2 oscbanks are not in sync?

thanks for your help,
jo

IP: Logged

pete
Member
posted 07 April 2014 17:26         Edit/Delete Message   Reply w/Quote

partialPanning_v2.kym

 
Hi Johannes

I've added two variations. I won't explain them but will let you ask questions, if you need to.

BTW the odd sound you are hearing is because SOS with missing partials do sound odd. You can tell that it is working because if you mono it up outside Kyma, it sounds normal.

Pete

IP: Logged

johannes
Member
posted 08 April 2014 05:03         Edit/Delete Message   Reply w/Quote
hi pete, thanks for your help.

both of your variations are straight forward. i specially like the second version with the smoothed noise, that let the partials move slowly (with feedback-values close to 1)

i made the panning by random just to hear how it sounds to do it on partial-basis instead of doing it on bin-basis.

from what i know there is no gui in kyma that let you manually control the pan position of muliple (e.g. 252) partials. something like the multislider object in max…
or did i miss it somewhere?
it would be great if you could simply draw into a wavetable and than read from it ...
this would be great for partial filtering as well-using a filtercurve drawn in the wavetable.

any suggestions are welcome.
thanks, johannes

IP: Logged

gustl
Member
posted 08 April 2014 05:53         Edit/Delete Message   Reply w/Quote
Hi Johannes,
Try the XenOsc for "drawing" wavetables. It's very flexible and works at samplerate.
I used it a lot in the examples I made in the Smooth Spectral thread.
Best,
Gustl

IP: Logged

johannes
Member
posted 08 April 2014 06:39         Edit/Delete Message   Reply w/Quote
hi gustl,

probably you are right.

but its definitely another horse to control parameter that effects the curve instead of drawing the curve directly. anyway, both have pros and cons.

thanks!
jo

IP: Logged

gustl
Member
posted 08 April 2014 08:03         Edit/Delete Message   Reply w/Quote
You can draw the waveform directly with a Wacom or iPad using KymaControl. There is a Sound in the library under pen examples or something like that (search for draw) to do exactly that. Let me know if you can find it, otherwise I can look it up tomorrow

IP: Logged

johannes
Member
posted 08 April 2014 11:31         Edit/Delete Message   Reply w/Quote
great hint, gustl, i think i have found it. its in the pen examples file and its name is:
gesture w/Pen KBD is transformed & repeated
(10s of gesture are recorded and will than be played, transformed etc)

or did you refer to something else? ciao, j

IP: Logged

gustl
Member
posted 09 April 2014 01:55         Edit/Delete Message   Reply w/Quote
No, I meant "PEN: Draw waveform w/Finger on Tablet" of the iPad examples archive you can download here: http://www.symbolicsound.com/zzz/pub/Learn/KymaControl/iPadExamplesArchive.zip

Hope it helps

IP: Logged

johannes
Member
posted 10 April 2014 15:14         Edit/Delete Message   Reply w/Quote

partial_panning_v4.kym

 
thanks, i will look at it, gustl…but iam about to get sucked into the XenOSc and Capytalk universe. just touching the surface…but i can already anticipate that there are a lot of great possibilities.

regarding my patch:
i used capytalk/ smalltalk to create the arrays for the xvalues and values parameters and change the their values on the fly. here i choose 12 xvalues, with a squared distribution. in my case the xvalues are placed at the following partials: 0, 1, 4, 9, 16, 25, 36, 49, 64, 81 etc.
to these fixed xvalues i add a random amount for variations on the x axis.

my problem:
i realized a strange jittering of the curve in the oscilloscope which also seems to effect the sound in the form of amplitude modulation. the best way to see and hear it is when you bring down the bpm speed to below 30 bpm. sometimes it also freezes the movement of the curve movement totally. but the cpu of my pacarana seems to be fine…
does anyone know why this happens?


thanks, johannes

IP: Logged

gustl
Member
posted 10 April 2014 16:35         Edit/Delete Message   Reply w/Quote
Hi johannes,
The next time I will be at my studio and in front of kyma will be monday so I can't tell you anything right now. But I'm just guessing: Did you make sure your xvalues don't leave the frame (e.g. 256 samp)? I always use some vmin and vmax values to limit the xvalues to -1, 1 to avoid them going into the neighbouring frame which will result in jumping values (in your case jumping panning) which could sound ugly. Doesn't explain the freezing though...

IP: Logged

johannes
Member
posted 12 April 2014 15:02         Edit/Delete Message   Reply w/Quote
hey gustl,

i tried it with vmin and vmax but it doesnt change anything.
i guess that it is a capytalk syntax thing that i don´t understand.

i made a simplified comparison between 2 kinds of YVallues array constructions,
while using -1, 0,1 for XValues:

version 1:

{|inter|
inter := !Speed bpm s.
(1 to: 3) collect: [: i | i inverse * ((inter tick) nextRandom) smooth: inter]}

version 2:

{ ((((!Speed bpm s tick) nextRandom) smooth: !Speed bpm s }
{ ((((!Speed bpm s tick) nextRandom) smooth: !Speed bpm s }
{ ((((!Speed bpm s tick) nextRandom) smooth: !Speed bpm s }

any ideas why the first version does that jittering and second doesn´t?


thanks!
ciao, johannes


IP: Logged

SSC
Administrator
posted 13 April 2014 12:37         Edit/Delete Message   Reply w/Quote
In the first version, each element is multiplied by i inverse. That appears to be the only difference between the two arrays.

IP: Logged

johannes
Member
posted 13 April 2014 13:54         Edit/Delete Message   Reply w/Quote

compare_XenOsc_randomDrawing.kym

 
thanks for the reply ssc.

i realized that, but forgot to change it... anyway, it doesnt seem to cause the jittering.
but guess what, after replacing nextRandom with nextRandomWithSeed the movement of the curve was nice and smooth. i append a patch that shows it.

so is it a nextRandom related behavior?

have nice sunday. thanks, johannes

IP: Logged

SSC
Administrator
posted 13 April 2014 19:01         Edit/Delete Message   Reply w/Quote
Yes, you can also send the message:

seeded

to any expression to force it to have its own unique starting seed value, without actually having to specify the seed.

IP: Logged

johannes
Member
posted 14 April 2014 02:10         Edit/Delete Message   Reply w/Quote
i see. is there a way to get it working using nextRandom instead of nextRandoWithSeed?

IP: Logged

SSC
Administrator
posted 14 April 2014 09:16         Edit/Delete Message   Reply w/Quote
nextRandom seeded

IP: Logged

johannes
Member
posted 14 April 2014 13:44         Edit/Delete Message   Reply w/Quote

partial_panning_v5.kym

 
jaaaaaaaaa!

i append two patches doing randomized partial panning.
one is using a squared and the other a fibonacci based mapping.
within both patches i tried to accomplish very slow changing partial pannings.
(try the presets)

i made the experience that partial panning will be best observed via headphones
or in acoustic treaded rooms.

feel free to criticize. iam very curious about your feedback.

thanks for all your help.
ciao, johannes


IP: Logged

All times are CT (US)

next newest topic | next oldest topic

Administrative Options: Close Topic | Archive/Move | Delete Topic
Post New Topic  Post A Reply

Contact Us | Symbolic Sound Home

This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.


Ultimate Bulletin Board 5.45c