![]() |
![]() ![]() ![]() ![]() ![]()
|
next newest topic | next oldest topic |
Author | Topic: XenOsc preset switching |
KX Member |
![]() ![]() ![]() I'm trying to do a sound based on XenOsc in wich I can change complete "y" values "instantly" (once per cycle). There will be about 32 "y" values to change at once. Each "preset change" should reset the XenOsc. I'm not sure what approach to start with. IP: Logged |
pete Member |
![]() ![]() ![]() Hi KX I'm not sure if I've fully understood what you need, but I'm asuming you want to change the waveform that is being output at a rate that is faster than the 1 khz hot param rate. If this is the case then you must have some form of logic that will control the changes as direct human control works even slower than the 1 khz hot param rate. So without knowing the logic or the algorithym you require it's hard to comment. But you can control the new oscilator at rates faster than Hot param (I believe). I haven't yet fully played with it but I hope it works the way I think. The trick is to use the FM input which works at sample rate. This is more powerfull that it may first seem. It is actualy Phase modulation and not frequency modulation and hence feeding in a DC level into this input will cause an offset of the wave table being read rather than changing the rate at which it is being played. This would be of no use in the old oscilator as it would have just changed the start point of the wave table but still loopped around the whole thing, but in the new oscilater module we have a formant control that can allow the oscilator to loop read smaller parts of the wave form and hence this offset will move to a different chunk of waveform altogether. This is where my guess comes in. I'm hopeing that the FM offset will do this and not just change the phase and remain locked somewhere in the smaller loop. Only experimentation will show which way it works. If it does work the way I hoped, then feeding different DC values in the FM input will change wave forms coming out and this could be done at sample rate. Alternatively Pete's DSP modules can do the job at sample rate but it's more involved and more prossesor hungery. I hope this helps in some way ? Pete. IP: Logged |
SSC Administrator |
![]() ![]() ![]() Unfortunately, I don't think it is going to be possible to change the XenOscillator on every cycle (I've tried). The problem is that each Y value is involved in many expressions behind the scenes (derivatives, second derivatives, etc) in order to do the smoothing. Setting the Smoothing to a constant value of 0 or 0.5 would reduce the overhead a lot. This would allow you to change it faster but not quite once per cycle. To change on each cycle, you could try using *several* XenOscillators, each having a "cross-fading" envelope such that only one of them is heard on any one time. Then you could change a silent oscillator while the other one is audible. Of course, if it changes on every cycle, then it's not, strictly speaking, an oscillator anymore. IP: Logged |
KX Member |
![]() ![]() ![]() What would be the highest freq allowed to change y value at every cycle? I might downsample to max fundamental frequency to 499hz... so I could use 1khz control btw every cycle will be the exception; the average might be every 2 or 3 cycles. Even if it change at each cycle I see it as an oscillator because of the micro pattern within each cycle. [This message has been edited by KX (edited 08 April 2005).] IP: Logged |
SSC Administrator |
![]() ![]() ![]() Here's a twisted way to get what you are looking for! (Download the Sound called xenOscilchangeeverycycle.kym and take a look at the related Discussion link). http://www.symbolicsound.com/cgi-bin/bin/view/Share/Sounds#Synthesis IP: Logged |
KX Member |
![]() ![]() ![]() I think I am 99% pianist/1% synthesist ![]() I wish I was there on thoses Platypus days... 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.