[sdiy] Digital pots for polyphonic portamento..

Tom Wiltshire tom at electricdruid.net
Thu Mar 5 16:15:29 CET 2009


Yes, another plus from me for this technique. Theoretically there is  
a small "kink" in the output where the straight line segments meet,  
but in practice this is never audible. The kinks are worse where the  
curve is steep, but for steep curves, you don't have enough time to  
hear it.

I've done a 65535 point envelope decay curve this way and used only  
256 data points, which means 255/256ths of the data was made up by  
the interpolation. You can't tell. The crucial thing seems to be  
output resolution and sample rate,

Jean-Pierre, you could probably use code from my PIC VCADSR project  
to generate the portamento. There's PIC 16F code there which  
generates RC curves with interpolation, and a routine for scaling  
them. In your case, you'd need to scale the curve to the difference  
between the two frequency numbers, and add an offset for the lowest  
frequency.
The VCADSR also offers the choice of the RC curve or the linear  
function, so you'd have two variations. It's up to you whether you  
think it's easier/more useful to do it yourself, but the code is  
there to be used if you want it.

T.

On 5 Mar 2009, at 14:29, Andrew Simper wrote:

> I can definitely vouch for calculating digital RC at control rate  
> and doing linear interpolation between those values. If you have a  
> slow moving signal this gives very good results with minimal cpu.  
> I've used this throughout the D-CAM: Synth Squad product and it is  
> very effective.
>
> Andy
>
>
> Antti Huovilainen wrote:
>> On Thu, 5 Mar 2009, Jean-Pierre Desrochers wrote:
>>
>>> i need these 2688 steps in a 5 sec portamento to hear
>>> a glide without staircase effect..
>>> But doing so,  the worst case in my example is min portamento  
>>> which is
>>> 2 msec overall glide time --> 2msec. / 2688 steps = 744nanosec.  
>>> per DAC steps!!!!
>>>
>>> Do you have a solution on that?
>>
>> Yes. You keep a constant update rate and stick an RC smoothing  
>> filter after the dac. The RC filter time constant should be about  
>> the same as your update rate. So for 1 kHz update rate the TC  
>> would be 1ms.
>>
>> If you don't have enough cpu to calculate RC glide at 1 kHz rate,  
>> you can lower that rate to say 1/10th and use linear interpolation  
>> in-between.
>>
>> Antti
>>
>> "No boom today. Boom tomorrow. There's always a boom tomorrow"
>>   -- Lt. Cmdr. Ivanova
>> _______________________________________________
>> Synth-diy mailing list
>> Synth-diy at dropmix.xs4all.nl
>> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>
> _______________________________________________
> Synth-diy mailing list
> Synth-diy at dropmix.xs4all.nl
> http://dropmix.xs4all.nl/mailman/listinfo/synth-diy
>





More information about the Synth-diy mailing list