> I see, I think a functional form like this:
>
> k1*(kline( ...) + k2)
>
> can solve your problem, where you calculate the value of k1 and k2
> at the start of the release envelope, based on both the current value
> of the envelope and the desired endpoint ... if not this function
> exactly, then something similiar. If not, you'll probably have to
> write k-rate code that computes the envelope from scratch for the
> release, instead of using kline() ...
>
John,
Thanks for the help. I got it pretty much figured out with making the
envelope, with only a couple of oddities.
The first is when I run this with sfront and saolc, then compare the two
output files, they are different. How much tolerance should be expected?
It appears the the sfront output is delayed by several samples.
The second problem is that at the end of the sound, there is a spike. I
imagine that this is caused by the 'kline' in the last segment is
finishing before the note is released, hence the reason for the spike
snapping back to the same level as the where the segment started. This
happens in both 'saolc' and 'sfront'.
I attached the files that I made. The *.saol file was created by merging
several different sources with gcc's preprocessor, hence the large gaps in
the code.
Thanks,
Mike
0 my_instr 10 440 96
12 end
This archive was generated by hypermail 2b29 : Mon Jan 28 2002 - 12:03:53 EST