| Just to clarify: it’s not a Csound issue. Butterworth and any IIR filters will not be phase linear, anywhere.
There is no straightforward solution to this. If you want to adjust one specific frequency, then an allpass
might do it (at the expense of shifting others, as it is also non-linear), but there is no solution that I know
of that will correct the whole spectrum. This is why in many applications FIR filters are used, but of course
they don’t have the same flexibility and capabilities as the IIRs.
========================
Dr Victor Lazzarini
Dean of Arts, Celtic Studies and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952
> On 4 Apr 2016, at 10:21, Anton Kholomiov wrote:
>
> Can somebody please post a reference to guide on how to deal with phase distortion in csound.
> Victor mentions the allpass filters but it's good to know the details of the process.
> I've experienced those issues. Though I'm not sure that filters were causing the problems in my case.
> Maybe some other opcodes can shift the phase too.
>
> 2016-04-03 20:06 GMT+03:00 Victor Lazzarini :
> Butterworth filters are not linear phase, so you can’t count on the signal phase not being distorted. Nothing you
> can do, apart from working out what the phase response is and then trying to shift it with allpass filters if that is
> crucial for you.
> ========================
> Dr Victor Lazzarini
> Dean of Arts, Celtic Studies and Philosophy,
> Maynooth University,
> Maynooth, Co Kildare, Ireland
> Tel: 00 353 7086936
> Fax: 00 353 1 7086952
>
> > On 3 Apr 2016, at 17:51, Karin Daum wrote:
> >
> > just as an addendum. this is what you expect from physics, I forgot, but I’m not sure that everybody is aware of it
> >> On 3 Apr 2016, at 18:49, Karin Daum wrote:
> >>
> >> since I don't know if there is something equivalent to pvsbandp which works directly on a-rates I've made a small test with using butlp and buthp. For getting a more natural response for pitch shifting of the human voice I need to have a low pass filter to the fundamental and the first 2 or 3 harmonics which have to be shifted and the high frequency part which we do not produce by our resonators (especially mouth+ tongue +larynx) roughly everything above 1000-1500 Hz has to go to a high pass filter and remain unshifted. For testing the frequency response of the butlp+buthp I realised that there is no sound at f=kcut.
> >>
> >> This means there is a 180 degree phase shift between the output of buthp and butlp.
> >>
> >> The same problem appears when using butterlp/hp
> >>
> >> Attached is small program to verify the problem. It has two intruments: one adds both output signals of the filters and sends the sum to the left channel and the other sends butlp-buthp to the right channel. with increasing frequency you hear the sound moving from the centre to the right channel and after having passed kcut back to the centre
> >>
> >> I've also attached a screen shot of the visualisation with praat
> >>
> >> cheers,
> >>
> >> Karin
> >>
> >>
> >
> > Csound mailing list
> > Csound@listserv.heanet.ie
> > https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> > Send bugs reports to
> > https://github.com/csound/csound/issues
> > Discussions of bugs and features can be posted here
>
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
> https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here
>
> Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here |