Kyma Forum
  Tips & Techniques
  Modulation Matrix problems

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

next newest topic | next oldest topic
Author Topic:   Modulation Matrix problems
SeanFlannery
Member
posted 16 January 2011 02:54         Edit/Delete Message   Reply w/Quote
Hi All,

I need some help with this cos I'm stumped

I'm trying to use the idea (from the previous post) of selecting an object in an array to enable a choice of modulation sources in the Formant field of an Oscilator module but not having much success yet.

The path I have taken so far looks as follows.

1st step - not too far from the suggestion in the help text, works fine.

(((!Duty2 + !GroupDuty smoothed) vmax: 0.001) inverse vmin: (SignalProcessor halfSampleRate /!KeyPitch hz removeUnits)) vmin: 511

2nd step - added the code in the Frequency field of the Oscilator module as suggested in the helptext and also added some controls to enable an LFO (called OscWilde2) to modulate the duty and a control for the amount of modulation. This all works fine.

(((!Duty2 +

"this is the switch, source and amount of duty modulation"
( !Ow2On_2dt * (!OscWilde2 * !Ow2Amt_2dt))

+ (!GroupDuty smoothed)) vmax: 0.001) inverse vmin: (SignalProcessor halfSampleRate /

"this is the Frequency Field code insterted"
(

!KeyPitch + !Coarse2 + !Fine2

+ (!AR1_Osc2POn*( L* (((!AR1_Osc2PAmt+!AR1_Osc2PAmtF)*2)
-(!AR1_Osc2PAmt+!AR1_Osc2PAmtF)) nn))
+ (!ModulationWheel1 * (!SineLFO1 * !ModAmt nn))
+ ( !Ow1On_2 * (!OscWilde1 * (!Ow1Amt_2 + !Ow1AmtF_2 nn)))
+ ( !Ow2On_2 * (!OscWilde2 * (!Ow2Amt_2 + !Ow2AmtF_2 nn)))
+ ( !Ow3On_2 * (!OscWilde3 * (!Ow3Amt_2 + !Ow3AmtF_2 nn)))

)

hz removeUnits)) vmin: 511

When I attempt the use the following expression:
(!OwX_Dt02 into: #({!OscWilde1}{!OscWilde2}{!OscWilde3})*!Ow_DtAmt2)


in place of
( !Ow2On_2dt * (!OscWilde2 * !Ow2Amt_2dt))

I get Error: The Message #vmax:, sent to nil, an instance of class UndefinedObject, was not understood.

There is a stack trace available which I can provide and I can also provide an Archive file of the sound so far if needed.

I have tried a few different ways of encapsulating the code in brackets but have been unuccesfull.

Is there a limit to the amount of brackets that can be used in a field?

Clutching at straws here

Thanks in advance.
Sean

IP: Logged

Denis Goekdag
Member
posted 16 January 2011 04:55         Edit/Delete Message   Reply w/Quote
I'm by no means an expert, and not near my Kyma to test, but maybe the #(...) shortcut method of creating an array does not like hot values in the array expression, I've run into a situation where I was trying to use loop variables inside the #(...) and that didn't work.

You could try ( Array with: (!OscWilde1) with: (!OscWilde2) with: (!OscWilde3) ).

IP: Logged

pete
Member
posted 16 January 2011 12:35         Edit/Delete Message   Reply w/Quote
Hi Sean/Denis

The #(xxx) doesn't have a problem with hot elements but "into:" does.
As a get round you could used two #(xxx) arrays and two "x of:" and "x+1 of:" messages (which does allow hot elements) and interpolate between the two with the fractional part of index x.

Don't know if this is what's giving you the error message but it would need to be resolved anyway.

IP: Logged

pete
Member
posted 16 January 2011 16:48         Edit/Delete Message   Reply w/Quote
Hi Again
looking again at what I think you are trying to achieve you don't need to interpolate or have two arrays. You just need to replace the "into:" with "of:" which is what you need in any case.

IP: Logged

SeanFlannery
Member
posted 16 January 2011 18:33         Edit/Delete Message   Reply w/Quote
Thanks Pete!

I'm at work at the moment but will give this a try when I get home.

best regards

IP: Logged

SeanFlannery
Member
posted 17 January 2011 01:38         Edit/Delete Message   Reply w/Quote
Joy

((!OwX_Dt02 of: #({!OscWilde1}{!OscWilde2}{!OscWilde3}{!LfOscWildePOS}{ L}{!AR2}))*!OwDutAmt)

IP: Logged

SeanFlannery
Member
posted 17 January 2011 01:45         Edit/Delete Message   Reply w/Quote
I can see now, part of the problem was I had another hot value enclosed at the same level as the index - (!Index of:#({!A}{!B})* !Amount)

Changed it to
((!Index of:#({!A}{!B}))* !Amount)

= very big smiles
Thanks for your help Pete

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