Csound Csound-dev Csound-tekno Search About

[Csnd] Re: dynamic wavetables, was: phase shaping

Date2007-12-10 23:07
Fromvictor
Subject[Csnd] Re: dynamic wavetables, was: phase shaping
Well, that depends, because if the transfer functions differ
a lot, then you might get clicks, as the resulting waveform
might have a big jump between samples. If however you are
using well-behaved polynomials, then the difference between
the curves might be smooth enough. Also remember that
by just drawing transfer functions it is very easy to get
non-bandlimited signals. Polynomials are generally your
best bet.
 
Victor 
----- Original Message -----
Sent: Monday, December 10, 2007 10:19 PM
Subject: [Csnd] dynamic wavetables, was: phase shaping

All this talk about phase shaping and rewriting tables got me thinking.
Is there something hindering us from algorithmically rewriting wavetables on the fly ?
I figure, if the rewriting is happening at the exact same rate as the table reading, we would not get unwanted clicks or discontinuities.
Or ?
 
Oeyvind

Date2007-12-10 23:43
From"Oeyvind Brandtsegg"
Subject[Csnd] Re: Re: dynamic wavetables, was: phase shaping
AttachmentsNone  None  

Date2007-12-11 02:19
FromAnthony Kozar
Subject[Csnd] Re: Re: dynamic wavetables, was: phase shaping
If you are going to use Chebyshev polynomials (or even non-Chebyshev
polynomials) then I would guess it will be more efficient to use the new
opcode chebyshevpoly (or polynomial) that is now in CVS.  Calculating an
entire table every k-pass will compute a lot of unused values.

I have gotten very smooth results in my tests of chebyshevpoly so far (once
I realized that a k-rate de-clicking envelope was introducing
discontinuities).  The new opcode powershape is also quite nice for variable
x^y waveshaping/distortion.

Anthony Kozar
anthonykozar AT sbcglobal DOT net
http://anthonykozar.net/

victor wrote on 12/10/07 6:07 PM:

> Well, that depends, because if the transfer functions differ
> a lot, then you might get clicks, as the resulting waveform
> might have a big jump between samples. If however you are
> using well-behaved polynomials, then the difference between
> the curves might be smooth enough. Also remember that
> by just drawing transfer functions it is very easy to get
> non-bandlimited signals. Polynomials are generally your
> best bet.
> 
> Victor 
> ----- Original Message -----
> From: Oeyvind Brandtsegg
> To: Csound mailing list address
> Sent: Monday, December 10, 2007 10:19 PM
> Subject: [Csnd] dynamic wavetables, was: phase shaping
> 
> 
> All this talk about phase shaping and rewriting tables got me thinking.
> Is there something hindering us from algorithmically rewriting wavetables on
> the fly ?
> I figure, if the rewriting is happening at the exact same rate as the table
> reading, we would not get unwanted clicks or discontinuities.
> Or ?


Date2007-12-11 09:02
From"Oeyvind Brandtsegg"
Subject[Csnd] Re: Re: Re: dynamic wavetables, was: phase shaping
AttachmentsNone  None  

Date2007-12-11 11:10
FromDavid Worrall
Subject[Csnd] Re: Re: Re: Re: dynamic wavetables, was: phase shaping
I have an (I think) related question:
I one wants to change the waveform of a wavetable preceding the  
synthesis of every note, is it more efficient to write new values  
into an existing table or (re-)define another table?

David

On 11/12/2007, at 8:02 PM, Oeyvind Brandtsegg wrote:

> Good.
>
> But one more question about rewriting tables,
> why is writing so much more expensive (in terms of CPU usage) than  
> reading ?
> best
> Oeyvind
>
>
> 2007/12/11, Anthony Kozar : If you are  
> going to use Chebyshev polynomials (or even non-Chebyshev
> polynomials) then I would guess it will be more efficient to use  
> the new
> opcode chebyshevpoly (or polynomial) that is now in CVS.   
> Calculating an
> entire table every k-pass will compute a lot of unused values.
>
> I have gotten very smooth results in my tests of chebyshevpoly so  
> far (once
> I realized that a k-rate de-clicking envelope was introducing
> discontinuities).  The new opcode powershape is also quite nice for  
> variable
> x^y waveshaping/distortion.
>
> Anthony Kozar
> anthonykozar AT sbcglobal DOT net
> http://anthonykozar.net/
> ...