
Ge,
Thanks! ChucK is very young and needs a lot of work. Some of that is coming in the new release next week.
I look forward to downloading it and playing with it.
zerox might not help you in this case, since the signal doesn't actually cross zero.
? So what values does a sine wave move between? 0 and 1? Rather than -1 and 1?
1) go at close to sample rate (3::samp => now), and keep track of the last few samples (use .last to get the last sample computed), and test for the inflection when the signal "dips".
Yes, a good idea.
I put a quick and dirty version on the wiki:
http://wiki.cs.princeton.edu/index.php/ChucK_Program_Bad_VOSIM
Thanks, I'll have a look, to see if I can learn from it.
2) or: given the pulse width, keep this value and advance time by the same number of samp. (pw::samp => now), and that should put you at the right place both in time and the signal. You can move in this way to the end of each pulse, and modify the gain or width at this point, or set things to be silent and wait until the next series of pulse. This is probably the most robust way.
I agree, it sounds the most sensible way too.
3) or: do everything by hand, and calculate the signal without sinosc.
Scary prospect :-)
4) surely, other ways exist.
Probably, that¹s what I hope to find with 'chuck'.
Not natively. The idea is that it should be straightforward to implement sequencers in ChucK, tailored to the needs of the programmer. With the new release, this should be doable.
Great, thanks..
Also, related to VOSIM: FOF's - we hope to put up some examples soon.
Great!! I'll keep an eye out. Many thanks for you help. Paul