Csound Csound-dev Csound-tekno Search About

[Csnd] Removal of VST host opcodes

Date2018-06-18 10:13
FromVictor Lazzarini
Subject[Csnd] Removal of VST host opcodes
Dear all,

last week we were served with a DMCA takedown notice from GitHub, requested by Steinberg to
remove the code relating to the VST4CS opcodes in the git repository. We were threatened with
a shutdown of the repository if we did not comply. So instead of asking any further questions we
removed the code from the repository and its history.

The current code for VST4CS appears to break a licence and thus it cannot be provided as 
Open Source/Free software together with Csound. 

I think the problem with VST4CS is that it was based on some re-engineered VST SDK
code. A cursory look indicated that one of the files had a notice saying that it was based on
a given VST SDK source file. 

I suspect that if the VST4CS server code was written to  depend on an external SDK it might have been OK, 
but I am not quite sure. In this case, I do not think there is a problem with providing it as a binary as long as 
its sources are not shared, therefore if any third-party  developers want to do this, it is a possibility. 
However this will not be part of the Csound project, which is fully based on Free/Open Source software 
anymore.

The VST4CS manual pages have also been removed as it does not make sense to have them there
as we will not provide these anymore. If a third party provides the opcode library, it should also provide
the documentation.

best regards
========================
Prof. Victor Lazzarini
Dean of Arts, Celtic Studies, and Philosophy,
Maynooth University,
Maynooth, Co Kildare, Ireland
Tel: 00 353 7086936
Fax: 00 353 1 7086952 

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

Date2018-06-18 19:11
FromMauro Giubileo
Subject[Csnd] Second order All-pass filter opcode

Hi, I would like to implement a second-order all-pass filter with the following transfer function:


H(z) =    a2 + a1 * z^-1 + z^-2
        --------------------------
         1 + a1 * z^-1 + a2 * z^-2


For now I wrote this, but I think it's very slow if used as a filter inside a digital waveguide loop:

opcode  allpass2, a, aii
    aXn,    \

    ia1,    \
    ia2     xin
            setksmps 1

    aYn_1   init    0
    aYn_2   init    0

    aXn_1   delay1  aXn
    aXn_2   delay1  aXn_1
    
    aYn     =       aXn_2 + ia1 * (aXn_1 - aYn_1) + ia2 * (aXn - aYn_2)
    
    aYn_1   delay1  aYn
    aYn_2   delay1  aYn_1

            xout    aYn
endop

I wonder if there is an opcode in Csound that already does something like the above code, so that I could improve the performance...

Best Regards,
Mauro


Date2018-06-18 20:33
FromVictor Lazzarini
SubjectRe: [Csnd] Second order All-pass filter opcode
did you try biquad?

https://csound.com/docs/manual/biquad.html

========================
Prof. 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 18 Jun 2018, at 19:11, Mauro Giubileo  wrote:
> 
> Hi, I would like to implement a second-order all-pass filter with the following transfer function:
> 
> 
> 
> H(z) =    a2 + a1 * z^-1 + z^-2
>         --------------------------
>          1 + a1 * z^-1 + a2 * z^-2
> 
> 
> 
> For now I wrote this, but I think it's very slow if used as a filter inside a digital waveguide loop:
> 
> opcode  allpass2, a, aii
>     aXn,    \
>     ia1,    \
>     ia2     xin
>             setksmps 1
> 
>     aYn_1   init    0
>     aYn_2   init    0
> 
>     aXn_1   delay1  aXn
>     aXn_2   delay1  aXn_1
>     
>     aYn     =       aXn_2 + ia1 * (aXn_1 - aYn_1) + ia2 * (aXn - aYn_2) 
>     
>     aYn_1   delay1  aYn
>     aYn_2   delay1  aYn_1
> 
>             xout    aYn
> endop
> 
> I wonder if there is an opcode in Csound that already does something like the above code, so that I could improve the performance...
> 
> Best Regards,
> Mauro
> 
> 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

Date2018-06-18 21:50
FromMauro Giubileo
SubjectRe: [Csnd] Second order All-pass filter opcode

It's exactly what I was looking for! Thank you very much! :-)

Best Regards,
Mauro


Il 2018-06-18 21:33 Victor Lazzarini ha scritto:

did you try biquad?

https://csound.com/docs/manual/biquad.html

========================
Prof. 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 18 Jun 2018, at 19:11, Mauro Giubileo <mgiubileo@COMPUTERALTAFED.IT> wrote:

Hi, I would like to implement a second-order all-pass filter with the following transfer function:



H(z) =    a2 + a1 * z^-1 + z^-2
        --------------------------
         1 + a1 * z^-1 + a2 * z^-2



For now I wrote this, but I think it's very slow if used as a filter inside a digital waveguide loop:

opcode  allpass2, a, aii
    aXn,    \
    ia1,    \
    ia2     xin
            setksmps 1

    aYn_1   init    0
    aYn_2   init    0

    aXn_1   delay1  aXn
    aXn_2   delay1  aXn_1
    
    aYn     =       aXn_2 + ia1 * (aXn_1 - aYn_1) + ia2 * (aXn - aYn_2)
    
    aYn_1   delay1  aYn
    aYn_2   delay1  aYn_1

            xout    aYn
endop

I wonder if there is an opcode in Csound that already does something like the above code, so that I could improve the performance...

Best Regards,
Mauro

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

Date2018-06-25 17:40
FromMauro Giubileo
Subject[Csnd] How to compensate the delay from (biquad) All-pass filters

Hi all,
being that I'm trying to simulate dispersion in a periodic signal, I'm cascading N "biquad" opcodes in a digital waveguide loop.

After an accurate choice of the biquad coefficients, I get a nice dispersion effect, but I get a huge amount of delay too in the output signal (so, now the signal is not tuned correctly). Of course, more biquad opcodes I cascade, more delay I get in the output signal.

I understand that I should reduce the delay line lenght of the digital waveguide loop to compensate the delay introduced by the all-pass filters. My problem is... How to calculate precisely how much I should reduce the delay line lenght, to get the original tuning of the periodic signal?

Sorry if this is not strictly related to Csound but I would be very happy if someone could point me to the right direction. Thanks!

Best Regards,
Mauro