Kyma Forum
  Tips & Techniques
  band-specific pitch changing?

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

next newest topic | next oldest topic
Author Topic:   band-specific pitch changing?
taylor12k
Member
posted 30 July 2008 08:47         Edit/Delete Message   Reply w/Quote
this looks very cool: http://www.virsyn.com/en/E_Products/E_PRISM/e_prism.html

sort of like the new features in Melodyne... the ability to change pitches inside of a complex sound on a band-by-band basis

is it possible to build something like this in kyma? seems it would be.....

IP: Logged

pete
Member
posted 30 July 2008 15:18         Edit/Delete Message   Reply w/Quote
I don't think this is like the new features in melodyne.

The thing about a drum kit is that all the instruments overlap each other in the spectrum in a hugh way. The bass drum may have frequencies that most of the other instruments don't have but the bulk of the frequencies (and what we hear as a bass drum) is shared with the rest of the kit.

Melodyne is looking at the signal as a whole and uses hiensight and evaluation to separate the signals, but a drum kit is not one of the examples. It's for pitched sounds and pitches that remain pretty horizontal without swoops. It is an absolutely amassing algorithm but i wouldn't draw any similarities between it and the prism pitch designer.

We have been able to do what the prism is doing for ages. Just start with a non harmonic live analysis and oscillator bank pair. The input to the oscillator bank gets sequential levels on the left channel and sequential pitches on the right channel.

So by using a cannel split and join we can add to or subtract from the right hand signal with our controls coming into effect in the same sequential order, to adjust the pitches independently. But don't expect to have that much independent control over individual instruments in a mix, It's just a funky effect.


IP: Logged

taylor12k
Member
posted 30 July 2008 15:26         Edit/Delete Message   Reply w/Quote
thanks.. yeah, i'm looking at it more as a sound mangler.. not as a "correct" or clean process..

are there any examples in the kyma library that can serve as a starting point for my creation? or am i starting from scratch?



IP: Logged

SSC
Administrator
posted 30 July 2008 19:45         Edit/Delete Message   Reply w/Quote
Hi Taylor,

You might find some interesting spectral mangling tools in:

* In the Prototypes: "Spectral Processing-Live" category
* In the Kyma Sound Library>Effects Processing>Frequency & Time Scaling>SpectralProcessing-Live.kym

You could also try starting with a Live spectral analysis, routing it through one of the Sounds in the Spectral Modifiers category, and then into an OscillatorBank (or CloudBank or FilterBank) to resynthesize the modified spectrum.

If you make some discoveries or run into any questions, please let us know!


IP: Logged

cristian_vogel
Member
posted 31 July 2008 10:29         Edit/Delete Message   Reply w/Quote
.... I've been doing this stuff for a while too - I love spectral composition! Its all about the macrostructures from the microstructures... I been taking it all a step further by using customised oscillator banks ... it was an idea coming from another spectral composer I heard about, out there travelling and collecting analysis of instruments timbres , as well as tuning and even rhythmic qualities, and then resynthesise using the same timbres and harmonic/inharmonic qualities applied at the resynthesis stage as audio oscillators - a simple example being an analysis of a vocal melody, resynthesised using vocal samples or formant variable oscillators in banks... this aspect of spectral composition is really explorable since 4.8 using the power of the Replicator sound..... DSP hungry , of course!

[This message has been edited by cristian_vogel (edited 01 August 2008).]

IP: Logged

taylor12k
Member
posted 02 August 2008 08:47         Edit/Delete Message   Reply w/Quote
so how do i get control over specific bands or ranges of bands? i don't want to just take a sound, make a spectral analysis, and then process that oscillator bank.. i want to be able to, for example, pitch shift, or granularize specific frequencies within a sound while leaving others untouched...

IP: Logged

SSC
Administrator
posted 02 August 2008 09:10         Edit/Delete Message   Reply w/Quote
In the SpectrumModifier you can specify a low and high band to select and affect.

IP: Logged

robertjarvis
Member
posted 03 August 2008 18:16         Edit/Delete Message   Reply w/Quote
Here's a link to an old Sound of mine: http://www.symbolicsound.com/ubb/uploads/robertjarvis/freakygrannies.kym . It doesn't use Spectral Analysis but it does allow one to granulate frequencies within your input Sound. Perhaps it's too simple for what you have in mind, though maybe it can be a good starting point for investigation....

[This message has been edited by robertjarvis (edited 03 August 2008).]

IP: Logged

taylor12k
Member
posted 06 August 2008 11:43         Edit/Delete Message   Reply w/Quote
my idea was more like a direct copy of the above linked plug in..

something that gives you a row of sliders which correspond to bands.. and have those sliders be pitch shifters...

IP: Logged

taylor12k
Member
posted 06 August 2008 13:21         Edit/Delete Message   Reply w/Quote

partialselector.kym

 
ok.. so, just messing around quickly has gotten me this far.. (not too complicated)

i like the bands on switches.. but, as i said.. having SLIDERS that affect pitch is my ultimate goal.

on a tangent... what would i have to do to this sound to use the amplitude envelope of the source act as a trigger to randomize the selection of active bands?

like, if you click the dice to randomize this patch.. but to the rhythm of the envelope..

is there a way to have the amplitude trigger such a randomization?


IP: Logged

SSC
Administrator
posted 06 August 2008 19:55         Edit/Delete Message   Reply w/Quote
I found a spectral Sound on the tweaky that has a fader controlling amplitude of each partial in case it is useful:
http://www.symbolicsound.com/cgi-bin/bin/view/Share/Sounds#Spectral_processing

IP: Logged

taylor12k
Member
posted 06 August 2008 20:28         Edit/Delete Message   Reply w/Quote
hmmm.. this may be getting close! thanks carla

i downloaded that kym. file and copied the "AmpScale" expression into the FreqScale parameter... and changed !Amp to !Freq....

i'm a bit overwhelmed with faders now (128).. but it's definitely interesting.!

EDIT:
hmm.. ok, the !Freq faders don't seem to be doing anything....

EDIT 2:
ah-ha.. the Freq faders were going from 1-10000.. the parameter calls for a multiplier from 0-1.. so i changed the fader values in the VCS... and NOW it seems to be doing interesting things!

[This message has been edited by taylor12k (edited 06 August 2008).]

[This message has been edited by taylor12k (edited 06 August 2008).]

IP: Logged

SSC
Administrator
posted 06 August 2008 21:06         Edit/Delete Message   Reply w/Quote
We must have been working on this in parallel I just posted a new Sound file at the same tweaky link ( http://www.symbolicsound.com/cgi-bin/bin/view/Share/Sounds#Spectral_processing ) with faders on frequencies, switches on amplitudes, and a random generator controlled by BPM.

IP: Logged

taylor12k
Member
posted 06 August 2008 22:31         Edit/Delete Message   Reply w/Quote
cool.. thanks!

so, how come these processes don't seem to work with a Live Spectral Analysis? when i try to replace the SpectrumInRAM with a live input analysis i just get some hard-to-hear junk that doesn't really work...

IP: Logged

SSC
Administrator
posted 07 August 2008 10:08         Edit/Delete Message   Reply w/Quote

spectrumfreqscalinglive.kym

 
Here's a live example...

IP: Logged

taylor12k
Member
posted 07 August 2008 10:20         Edit/Delete Message   Reply w/Quote
thanks..! i wonder what i was doing that was resulting in nothing...

IP: Logged

taylor12k
Member
posted 07 August 2008 10:26         Edit/Delete Message   Reply w/Quote
ok.. now, next challenge..

(WHEN ARE WE GOING TO GET A KYMA WORKSHOP NEAR THE EAST COAST!!)

is it possible to use multiple spectral analyses to run different bands off into different processes... for example, take these 16 or 64 bands and make separate chains in the Sound (processor power permitting of course).. so you could.. say... put a reverb on some bands, a granulator on another and a pitch shifter on others.. .etc.....

could you take your source sound and put it into multiple SpectralAnalysis each with a different band range?

seems possible.. but, how do you get one input going into a lot of destinations?

(wait, don't answer that! i'm trying it myself .. with my limited kyma chops...


IP: Logged

taylor12k
Member
posted 07 August 2008 10:29         Edit/Delete Message   Reply w/Quote

multibandspectralprocessing.kym

 
ok.. i may have done it...

here's a "2-band" example... 0hz-1000hz on one band.. going unprocessed. and a 1000hz-22000hz analysis going into a reverb...

look ok?

seems to work...

now to split into more bands...

of course.. say bye-bye to my processors!

[This message has been edited by taylor12k (edited 07 August 2008).]

IP: Logged

taylor12k
Member
posted 07 August 2008 10:57         Edit/Delete Message   Reply w/Quote

3-bandsplitspectralprocessing.kym

 
ok, here's a 3-band version..

i lowered the number oscillators on each bank to 64..

the live signal is being split into 3 spectral bands
0-600hz
601-3000hz
3001-44100hz

there's a reverb on the mid band

and each 3 sets have 8 sliders each for repitching each band and volume

pretty interesting stuff!

carla, i'll gladly upload this to the twiki if you think it's worthy at this stage...

oh, sorry.. haven't cleaned up the VCS yet!!

[This message has been edited by taylor12k (edited 07 August 2008).]

sorry.. sorry.. need to re-tweak all the FREQ knob ranges... this file is no good!

[This message has been edited by taylor12k (edited 07 August 2008).]

IP: Logged

taylor12k
Member
posted 07 August 2008 11:12         Edit/Delete Message   Reply w/Quote

3-bandsplitspectralprocessing2.kym

 
sorry for all the posts..

this file is more ready for prime time

try some musical samples.. i messed around with the preset Kyma "Guitar" sample.. with pretty wild results... or the Harp samples (ultimately of course, your own!).. but, you can REALLY change the characteristics of these instruments..

just roll the dice...!

[This message has been edited by taylor12k (edited 07 August 2008).]

IP: Logged

cristian_vogel
Member
posted 08 August 2008 06:31         Edit/Delete Message   Reply w/Quote
I'm still a little confused about the variable built into the spectral modifier - Tracknumber

How does Tracknumber relate to frequency?

In a live spectral analysis, how can the total trackcount be known?

as I understand it, more than splitting the bands according to frequency ranges, shouldn't they be split according to Tracknumber?

In Taylor's sound, he is changing the pitch of only 8 tracks in each band. But the frequency range of each band is different. For example in the first band, 0 - 600 hz , how many tracks are there? Is is the same track count as in the second band, 601 - 3000 hz?

Just using Tracknumber as the index to an array of 8 freqShift values, surely you can only ever change the first 8 tracks (or values) in the selected frequency range?

isn't it that you need to know the total number of tracks coming into the modifier, then divide this into 8 bands, so the 8 faders are modifying the whole range ( with the number of faders being the bandwidth )

IP: Logged

taylor12k
Member
posted 08 August 2008 07:40         Edit/Delete Message   Reply w/Quote
thanks for the insights, cristian..

yeah, i by no means possess the kyma chops to understand everything i'm doing.. but i AM quite happy with the results the sound is getting..

but i see what you're saying about the tracks... i just don't know how to implement it..

feel free to take a stab at making the patch more "correct"... maybe carla will chime in, too..

thanks!

IP: Logged

cristian_vogel
Member
posted 08 August 2008 08:25         Edit/Delete Message   Reply w/Quote
hey Taylor! Actually more than insights, they are problems and challenges and areas to explore - I like doing research like this, because along the way you hear many many far out sounds!

I wil post something later on...

__

we've had a discussion before about the difference between Track, Frequency and Amplitude - I still find it difficult to grasp how to think about Frames and Frequencies. A single track contains 2 envelopes, an amplitude envelope and a frequency envelope. Maybe SSC can point us to an explanation of how to work with spectral data in Kyma ... How does the frequency envelope of a track work, what defines its range? What is a frame exactly? How does track number relate to partials?

[This message has been edited by cristian_vogel (edited 08 August 2008).]

IP: Logged

SSC
Administrator
posted 08 August 2008 13:59         Edit/Delete Message   Reply w/Quote
quote:
"How does Tracknumber relate to frequency?
In a live spectral analysis, how can the total trackcount be known?

One way to think of the nonharmonic analysis is as a graphic equalizer with 512 bands. Each filter has a center frequency at a harmonic of the analysis frequency. For example, if you set the analysis frequency to 1 F (approximately 43 hz), you would get 512 bandpass filters; the first filter's center frequency is at DC (0 * 43 = 0 hz), the next one would be at 43 hz, the third one is at 2 * 43 = 86 hz, and the highest center frequency would be 43 * 511 = 21,973 hz.

Now imagine an amplitude follower at the output of each of these filters. If there is a lot of energy at 86 hz, the amplitude envelope corresponding to that filter output will go up. Next, imagine that you compare the center frequency of the filter with the actual frequency that you hear coming through that filter and, by measuring the beat frequency between the two, you compute a frequency deviation and by combining that with your knowledge of the center frequency of the filter, you can derive a frequency envelope.

Each 'track' of the nonharmonic analysis corresponds to a pair of envelopes (amplitude envelope & frequency envelope) derived from one of these analysis filters. In other words, the tracks correspond to fixed analysis filter frequencies (the harmonics of the analysis frequency). The number of tracks also depends on the analysis frequency (512 tracks for 1 F, 256 for 2 F, 128 for 3 F, 64 for 4 f, etc).

[This message has been edited by SSC (edited 08 August 2008).]

IP: Logged

pete
Member
posted 08 August 2008 14:41         Edit/Delete Message   Reply w/Quote

FallOffTheBottom.kym

 
Hi SSC

Thats a secret you've been keeping quiet. I never knew the spec modifier excepted arrays to allow independent control over individual partials without using multiple instances. I've been doing it with ramp generators and shapers.

Hi Taylor
I've just got my cappy back so I can join in.

Earlier you was talking about separating drums in a mix. The attached module makes the bass and bass drum fall off the bottom of the spectrum when you move the slider up. then the snare drum falls off as well leaving just the hi hat. This works on an entirely different technique (See how it works?). The 90degs modules are Hilbert transforms identical to the ones in the prototypes.

It's not mellodyne but is an interesting phenomena.

Pete



IP: Logged

cristian_vogel
Member
posted 10 August 2008 06:43         Edit/Delete Message   Reply w/Quote
thanks for the interesting post SSC - and also Pete's alternative approach...

I would like to ask about this part

quote:
Next, imagine that you compare the center frequency of the filter with the actual frequency that you hear coming through that filter and, by measuring the beat frequency between the two, you compute a frequency deviation

is there a frequency tracker after each band then? How can the beat frequency between two closely tuned/equal amplitude waves be calculated in Kyma?


IP: Logged

pete
Member
posted 10 August 2008 09:36         Edit/Delete Message   Reply w/Quote
Hi Cristian

The difference between the two frequencies is the beat frequency i.e. if the two frequencies are 500 hz and 501 hz the beat frequency is 1 hz and it will beat once a second. But 500hz and 499 hz would also beat at 1 hz so there is ambiguity.

But in this case there are both real and imaginary signals and both signals beat 90 deg out of phase with each other. The level of the two at any one time tells you the phase relationship of the input signals and the centre frequency of the filter. Then the beating is more like a changing phase detector which can rotate both clockwise or anti-clockwise.

If the centre frequency was 500 hz and the phase rotated 360 degs clockwise in one second, then the input signal frequency would be 501 hz and if it rotated anti-clockwise at the same rate then it would 499 hz. So it is like a pitch detector but covering a very small frequency band.

But it's not like the pitch detector module you get in Kyma or in something like Autotune.

If there were more than one sine wave in that band at the same time then you would get an erratically moving phase and an erratically moving frequency as a result. Have you seen the graphics in the analysis tool when you choose the wrong analysis pitch or a recording that is not clean.

hope this makes sense

Pete


IP: Logged

SSC
Administrator
posted 10 August 2008 12:42         Edit/Delete Message   Reply w/Quote
quote:
is there a frequency tracker after each band then?

Yes, in effect, there is a frequency tracker after each band. It works by comparing your signal against a Sine and a Cosine at the center frequency of that band. By measuring how similar the signal is to the Sine vs how similar it is to the Cosine (which is like a Sine shifted by 90 degrees), you can tell how the phase of the signal differs from the fixed center frequency of the band.

quote:
How can the beat frequency between two closely tuned/equal amplitude waves be calculated in Kyma?

One approach to measuring beat frequencies might be to put an AmplitudeFollower on the combined (beating) oscillators. Then feed that into a Threshold. Then use it in a SoundToGlobalController with one of the Capytalk expressions like durationBetweenTriggers to measure the time between beats.

IP: Logged

cristian_vogel
Member
posted 12 August 2008 16:48         Edit/Delete Message   Reply w/Quote
nice!

I had understood that phase relationships are critical in a succesful spectral analysis (and resynthesis of course) . So I had wondered how this 3rd parameter (alongside frequency and amp) could be measured for each analysis band and resynthesis oscillator ... although the maths is beyond me, it's good to hear a relatively straightforward approach ... thanks!

IP: Logged

photonal
Member
posted 13 August 2008 13:42         Edit/Delete Message   Reply w/Quote
having reverb on each band or other effects is certainly intriguing - perhaps if midi key on/off could be mapped to effect band bypass on/off and velocity/affect pressure to the send amount - it would allow for 'playing a send effect' on each band.

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