![]() |
![]() ![]() ![]() ![]() ![]()
|
next newest topic | next oldest topic |
Author | Topic: self controller polyphony | |
Pieter Member |
![]() ![]() ![]()
I have a question about Midi-Scripts: I want to create an algorithmic score where a parameter is controlled by "self controller:" In my test-script self controller is changing the parameter for all voices and not only for every new voice. Is self controller not polyphon or am I doing something wrong. I attached my small Test-Script. Thanks for help. Pieter IP: Logged | |
Pieter Member |
![]() ![]() ![]() So I try it again as I havn't received an answer yet (please excuse if it is a RTFM question...). I want to create a polyphon FM-synth where the modulation-ratio receives with every new KeyDown a value from a script. | r t | t := 0. self I tried it this way but now !modRatio is changing for all playing voices and not only for the last triggered. Has anyone any advice for me please... Pieter IP: Logged | |
SSC Administrator |
![]() ![]() ![]()
Sorry for the delay (this slipped by me the first time; thanks for following up!) Yes, as you've already noticed, MIDI controllers have a global effect over all voices. In this case, since you are setting !modRatio to a fixed value at the start of each note event, you could sample and hold the value of this global controller when each individual key goes down. For example, you could use the global control in the Script: code: Then, in the parameter field with !modRatio is actually used (in this case the Frequency field of the Modulator Oscillator), you could use: code: Please give this a try and let us know how it goes. (An example is attached) IP: Logged | |
Pieter Member |
![]() ![]() ![]() Thank you for the help; I will experiment with the new possibilities. In this simple example it works fine but when I use different chaotic functions for different parameters it won't work as I only have the possibility to use "velocity:" for having polyphonic controller-values, right? As long as I have only one function for 'i' I have no problem but what will I do when I want for example 5 different random seeds for 5 different parameters changing with every voice?? Pieter [This message has been edited by Pieter (edited 18 December 2007).] IP: Logged | |
SSC Administrator |
![]() ![]() ![]() One approach would be to put the random functions in the parameter fields (rather than in the Script) and to use !KeyDown to trigger a new value. For example: code: IP: Logged | |
Pieter Member |
![]() ![]() ![]() ooh... sorry about these RTFM questions. This is the most simple solution. I was sure that using the Parameter Fields would always change the global sound. I should experiment more!! Thanks and... Happy Xmas! Pieter
quote: IP: Logged | |
SSC Administrator |
![]() ![]() ![]() quote: When you use a CapyTalk expression in a parameter field, there is a copy of the expression for each voice. For most expressions, (for example, a simple one like !modRatio), the copies are all the same so you wouldn't notice. But if the expression includes something that depends on the ?VoiceNumber (e.g. !KeyDown, !KeyPtich) or one that includes a random number generator, then you notice that the expressions are different. IP: Logged |
All times are CT (US) | next newest topic | next oldest topic |
![]() ![]() |
This forum is provided solely for the support and edification of the customers of Symbolic Sound Corporation.