Kyma Forum
  Kyma Support
  shifting partials

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

next newest topic | next oldest topic
Author Topic:   shifting partials
flo
Member
posted 04 November 2005 05:50         Edit/Delete Message   Reply w/Quote
Hi,
would it be possible to shift the partials of a sound
with kyma, in order to make a harmonic sound inharmonic
for example (and vice versa)?
Would be great if you would be able to control this per
partial, also in realtime.

Best,
Florian

IP: Logged

SSC
Administrator
posted 04 November 2005 09:33         Edit/Delete Message   Reply w/Quote
Yes, you can do this with the SpectrumModifier Sound.

IP: Logged

flo
Member
posted 04 November 2005 13:49         Edit/Delete Message   Reply w/Quote
Ah, I had this one in mind too, but because of circumstances
I haven't been able to try immediately (laptop-repair).
Looking forward to do this.

IP: Logged

pete
Member
posted 04 November 2005 17:49         Edit/Delete Message   Reply w/Quote
Note single side band ringmod pitch shifts partials and makes there relationship change, so if you ring mod pitch shifted up and used ordinary pitch shift to bring the lowest pitch of interest back to its original pitch you can make a sort of partial spreader module. Note that the single side band ring modulator needs a proper hilbert type 90 deg phase shifter and not the non unity gain one in the prototypes.

Pete

IP: Logged

flo
Member
posted 11 November 2005 14:52         Edit/Delete Message   Reply w/Quote
If you want to be able to do this per partial, you can't avoid to use
one modifier per partial, can you? Because only that allows you to
independently change the partials.

Is the same principle possible via the FFT-way?
And are there examples for this in the library or in the tweaky
(didn't find anything at first glance)


IP: Logged

SSC
Administrator
posted 13 November 2005 11:49         Edit/Delete Message   Reply w/Quote
One possibility is to come up with an expression that modifies each partial differently. By making the modification dependent on TrackNumber, you can use a single SpectrumModifier to modify each partial in a different way.

For example, in the FreqScale field, put the expression:

TrackNumber / 32

This scales the lower partials to a fraction of their original frequencies. The 32nd partial pass through unscaled. Partials higher than 32 would also be unscaled since the range of the FreqScale parameter is (0,1).

IP: Logged

SSC
Administrator
posted 13 November 2005 14:56         Edit/Delete Message   Reply w/Quote
This one is also very cool! (copy paste into the FreqScale field of SpectrumModifier)

{(1 to: 256) collect: [ :i | !Warp suffix2: i]} at: (TrackNumber min: 32)

Gives you 32 faders scaling frequencies of 1st 32 partials.

IP: Logged

flo
Member
posted 16 November 2005 02:26         Edit/Delete Message   Reply w/Quote
In other words: you can scale the amplitude of those partials individually
with faders? (or change the freqs of those partials?)



IP: Logged

SSC
Administrator
posted 16 November 2005 08:33         Edit/Delete Message   Reply w/Quote
Frequencies (if you paste that into the FreqScale field) and/or Amplitudes if you paste it into the AmpScale field)

IP: Logged

flo
Member
posted 16 November 2005 14:09         Edit/Delete Message   Reply w/Quote
ok, sorry if I'm a little-bit redundant, but at the moment I'm
not able to have feedback from the practice directly...
Is it possible to do something comparable the FFT-way?


IP: Logged

KX
Member
posted 22 November 2005 03:49         Edit/Delete Message   Reply w/Quote
quote:
Originally posted by SSC:
This one is also very cool! (copy paste into the FreqScale field of SpectrumModifier)

{(1 to: 256) collect: [ :i | !Warp suffix2: i]} at: (TrackNumber min: 32)

Gives you 32 faders scaling frequencies of 1st 32 partials.


Indeed this one is very cool!
Now I want to globaly change the !Warp range. I tried to multiply
!Warp with [ * 2 ] without success (of course!). I tried many variants
but it looks like my spelling is VERY bad when it comes to these
expressions
btw, what is the best ressource to learn this "grammar"?
(I'd prefer to know how to fish rather than asking whenever I'm hungry )

[This message has been edited by KX (edited 22 November 2005).]

IP: Logged

SSC
Administrator
posted 22 November 2005 08:47         Edit/Delete Message   Reply w/Quote
You could multiply the result of the entire expression by your scale factor:

({(1 to: 256) collect: [ :i | !Warp suffix2: i]} at: (TrackNumber min: 32)) * !Scale

Or you could select all of the !Warp faders in the VCS editor and change their ranges there.


IP: Logged

flo
Member
posted 24 November 2005 04:37         Edit/Delete Message   Reply w/Quote

Sorgenkind.kym

 
Hi Pete,
thanks for this tip. Because I first tried all the new techniques in
the spectral domain, it took me some time to try to implement this
idea.
I`m not sure I implemented the 'proper hilbert type 90 deg phase shift'
(what a beautiful term btw) in the right way.
Would you mind to take a look at the example in my attachment?
Best,
florian


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