[Csnd] Distortion with deltapi (follow-up)
Date | 2013-12-02 18:56 |
From | Jim Aikin |
Subject | [Csnd] Distortion with deltapi (follow-up) |
This is the first time I've _ever_ been disappointed with Csound -- so I'd love to read an explanation from a DSP expert on exactly why varying the delay time introduces prominent new partials. The code to reproduce the issue is given at the end of this message. With this code, it's clear that there is a very slight improvement when deltapi is used, as opposed to deltap. The sidebands with deltap are a bit louder. So maybe the problem is not, after all, due to a bug in deltapi. Maybe this really is the best that can be expected when the delay time is varied -- at least, with an audio system that uses a constant-rate clock. (I'm guessing that using a hardware delay device with a variable clock rate might solve the problem.) Or maybe there are more recent developments in DSP-land that can ameliorate the effect, but those developments haven't been incorporated into the deltap/deltapi code. I'm very curious about this. Can anyone offer observations? Thanks in advance! --Jim Aikin P.S.: Note that I've set sr to 96000 and ksmps to 1 in order to remove a couple of possible sources of signal degradation. [code] |
Date | 2013-12-02 19:03 |
From | Rory Walsh |
Subject | Re: [Csnd] Distortion with deltapi (follow-up) |
Did Victor's response not help? "You are using a truncating oscillator. Try changing the delay time modulator by an oscili and the distortion will go away." |
Date | 2013-12-02 19:12 |
From | Steven Yi |
Subject | Re: [Csnd] Distortion with deltapi (follow-up) |
I tried using vdelay3 and got artifacts: instr 1 iamp = 0.5 ifreq = 300 ; generate a constant-frequency sine wave: asig oscil iamp, ifreq, giSine ; delay the sound of the oscillator by a ; slowly swept time interval: adel init 0 adelt oscil 0.5, 0.2, giSine adelt = (adelt + 1.5) * 1000 adel vdelay3 asig, adelt, 4000 outs adel, adel endin But I then ran the example for vdelay3 (http://csounds.com/manual/html/vdelay3.html) and it has no artifacts. Switching to poscil in your example + vdelay3: instr 1 iamp = 0.5 ifreq = 300 ; generate a constant-frequency sine wave: asig poscil iamp, ifreq, giSine ; delay the sound of the oscillator by a ; slowly swept time interval: adel init 0 adelt poscil 0.5, 0.2, giSine adelt = (adelt + 1.5) * 1000 adel vdelay3 asig, adelt, 4000 outs adel, adel endin produces no artifacts here. On Mon, Dec 2, 2013 at 1:56 PM, Jim Aikin |
Date | 2013-12-02 19:21 |
From | Victor Lazzarini |
Subject | Re: [Csnd] Distortion with deltapi (follow-up) |
The problem with your first example was that you were using oscil instead of oscili. Did you not get my response? On 2 Dec 2013, at 18:56, Jim Aikin wrote: > This is the first time I've _ever_ been disappointed with Csound -- so I'd > love to read an explanation from a DSP expert on exactly why varying the > delay time introduces prominent new partials. > > The code to reproduce the issue is given at the end of this message. > > With this code, it's clear that there is a very slight improvement when > deltapi is used, as opposed to deltap. The sidebands with deltap are a bit > louder. So maybe the problem is not, after all, due to a bug in deltapi. > > Maybe this really is the best that can be expected when the delay time is > varied -- at least, with an audio system that uses a constant-rate clock. > (I'm guessing that using a hardware delay device with a variable clock rate > might solve the problem.) Or maybe there are more recent developments in > DSP-land that can ameliorate the effect, but those developments haven't been > incorporated into the deltap/deltapi code. > > I'm very curious about this. Can anyone offer observations? Thanks in > advance! > > --Jim Aikin > > P.S.: Note that I've set sr to 96000 and ksmps to 1 in order to remove a > couple of possible sources of signal degradation. > > [code] > > |
Date | 2013-12-02 19:37 |
From | Rory Walsh |
Subject | Re: [Csnd] Distortion with deltapi (follow-up) |
Not according to the nabble page: http://csound.1045644.n5.nabble.com/Distortion-with-deltapi-td5730368.html#a5730382 On 2 December 2013 19:21, Victor Lazzarini |
Date | 2013-12-02 21:58 |
From | Jim Aikin |
Subject | [Csnd] Re: Distortion with deltapi (follow-up) |
> The problem with your first example was that you were using oscil instead of oscili. > Did you not get my response? Never received it, no. I don't read the digest email from the Csound mailing list ... in fact, my ISP screens it out, and I don't care, because it's impossible to sort through. (Way, way too much quoting of previous material, for one thing!) I rely entirely on the pseudo-forum interface on Nabble, and your response never appeared in that other thread. -- View this message in context: http://csound.1045644.n5.nabble.com/Distortion-with-deltapi-follow-up-tp5730483p5730503.html Sent from the Csound - General mailing list archive at Nabble.com. |
Date | 2013-12-02 22:08 |
From | Victor Lazzarini |
Subject | Re: [Csnd] Re: Distortion with deltapi (follow-up) |
yes, the reply went somewhere else. Anyway, if your delaytime modulator signal comes from an interpolating oscillator, then the distortion disappears. On 2 Dec 2013, at 21:58, Jim Aikin wrote: >> The problem with your first example was that you were using oscil instead > of oscili. >> Did you not get my response? > > Never received it, no. I don't read the digest email from the Csound mailing > list ... in fact, my ISP screens it out, and I don't care, because it's > impossible to sort through. (Way, way too much quoting of previous material, > for one thing!) I rely entirely on the pseudo-forum interface on Nabble, and > your response never appeared in that other thread. > > > > -- > View this message in context: http://csound.1045644.n5.nabble.com/Distortion-with-deltapi-follow-up-tp5730483p5730503.html > Sent from the Csound - General mailing list archive at Nabble.com. > > > Send bugs reports to the Sourceforge bug trackers > csound6: > https://sourceforge.net/p/csound/tickets/ > csound5: > https://sourceforge.net/p/csound/bugs/ > Discussions of bugs and features can be posted here > To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" > > Dr Victor Lazzarini Senior Lecturer Dept. of Music NUI Maynooth Ireland tel.: +353 1 708 3545 Victor dot Lazzarini AT nuim dot ie |
Date | 2013-12-03 00:58 |
From | Jim Aikin |
Subject | [Csnd] Re: Distortion with deltapi (follow-up) |
> Anyway, if your delaytime modulator signal comes from > an interpolating oscillator, then the distortion disappears. Indeed it does. Thanks for explaining this! There's always more for me to learn in Csound. I had gotten out of the habit of using oscili because, modern computers having so much memory, it's easy to use a large wavetable, which reduces the need for interpolation if the oscillator is intended for audio output. But also, modern CPUs are fast enough that there's little reason _not_ to use interpolation. This .csd was a mock-up to make sure I knew what I was doing before I tried modulating delay time from a MIDI slider. I know to use portk on the slider's data, but ... I guess I'll find out whether I get a similar artifact. If so, ksmps=1 may help. -- View this message in context: http://csound.1045644.n5.nabble.com/Distortion-with-deltapi-follow-up-tp5730483p5730507.html Sent from the Csound - General mailing list archive at Nabble.com. |
Date | 2013-12-03 07:38 |
From | Oeyvind Brandtsegg |
Subject | Re: [Csnd] Re: Distortion with deltapi (follow-up) |
Just my 2 cents, setting ksmps=1 will not do much in this case, it is only relevant if you're using feedback in the delay line and even so, for longer delay times the difference will be insignificant in most cases. But I think it will work fine controlled from a midi slider in any case, when you filter the control signal so it's real smooth. If you need an even smoother delay line interpolation, you can try vdelayx, which has a-rate delay time modulation and high enough precision in the interpolation to allow very fast changes in delay time without clicks (chorus, flanger, FM...) all best Oeyvind 2013/12/3 Jim Aikin |
Date | 2013-12-04 21:45 |
From | joachim heintz |
Subject | Re: [Csnd] Re: Distortion with deltapi (follow-up) |
these experiences are the reason that if anyone in the floss manual uses oscil, i hack the code and change it to poscil. please be on my side in the future ... =) joachim Am 03.12.2013 01:58, schrieb Jim Aikin: >> Anyway, if your delaytime modulator signal comes from >> an interpolating oscillator, then the distortion disappears. > > Indeed it does. Thanks for explaining this! There's always more for me to > learn in Csound. > > I had gotten out of the habit of using oscili because, modern computers > having so much memory, it's easy to use a large wavetable, which reduces the > need for interpolation if the oscillator is intended for audio output. But > also, modern CPUs are fast enough that there's little reason _not_ to use > interpolation. > > This .csd was a mock-up to make sure I knew what I was doing before I tried > modulating delay time from a MIDI slider. I know to use portk on the > slider's data, but ... I guess I'll find out whether I get a similar > artifact. If so, ksmps=1 may help. > > > > -- > View this message in context: http://csound.1045644.n5.nabble.com/Distortion-with-deltapi-follow-up-tp5730483p5730507.html > Sent from the Csound - General mailing list archive at Nabble.com. > > > Send bugs reports to the Sourceforge bug trackers > csound6: > https://sourceforge.net/p/csound/tickets/ > csound5: > https://sourceforge.net/p/csound/bugs/ > Discussions of bugs and features can be posted here > To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound" > > > |
Date | 2013-12-04 22:33 |
From | Rory Walsh |
Subject | Re: [Csnd] Re: Distortion with deltapi (follow-up) |
oscil was my first love. On 4 December 2013 21:45, joachim heintz |
Date | 2013-12-05 08:26 |
From | joachim heintz |
Subject | Re: [Csnd] Re: Distortion with deltapi (follow-up) |
=) Am 04.12.2013 23:33, schrieb Rory Walsh: > oscil was my first love. > > On 4 December 2013 21:45, joachim heintz |
Date | 2013-12-30 03:49 |
From | Adam Puckett |
Subject | Re: [Csnd] Re: Distortion with deltapi (follow-up) |
+1, Rory. oscil may be out of its mind, but it still has its uses. =) On 12/5/13, joachim heintz |