On 02/01, Dario Sanfilippo wrote:
>
> I have a network with several modules and nested feedback loops. I need to
> inspect some of the signals which are not part of the main output to make
> sure that their behaviour is correct.

Well, if you compile .dsp to c/c++ perhaps you can try fpp, at least for 
debugging
purposes. See https://sourceforge.net/p/faudiostream/mailman/message/36437475/

To simplify, suppose you have

        process = _ <: sin, cos : +;

and now you want to inspect the result of sin() and cos(). You can do

        W = FPP(i,x) {
        loop:   float temp_$i;
        exec:   temp_$i = $x;
        };

        R = FPP(i) { temp_$i };

        process = _ <: sin, cos : W(0),W(1) : +, R(0),R(1);
or
        process = _ <: W(0,sin), W(1, cos) : +, R(0), R(1);

this compiles to

        virtual void compute(int count, FAUSTFLOAT** inputs, FAUSTFLOAT** 
outputs) {
                FAUSTFLOAT* input0 = inputs[0];
                FAUSTFLOAT* output0 = outputs[0];
                FAUSTFLOAT* output1 = outputs[1];
                FAUSTFLOAT* output2 = outputs[2];
                for (int i = 0; (i < count); i = (i + 1)) {
                        float temp_1;
                        float temp_0;

                        float fTemp1 = float(input0[i]);
                        output0[i] = FAUSTFLOAT((float(({ temp_1 = 
std::cos(fTemp1); })) + float(({ temp_0 = std::sin(fTemp1); }))));
                        output1[i] = FAUSTFLOAT(float(({ temp_0; })));
                        output2[i] = FAUSTFLOAT(float(({ temp_1; })));
                        
                }
                
        }


Or you can do

        P = FPP(x) {
        FILE:   #include <stdio.h>
        DECL:   FILE *debug;
        INIT:   debug = fopen("/tmp/DEBUG.txt", "w");
        exec:
                float x = $x;
                fprintf(debug, "%f\t", x);
                x;

        POST:   fprintf(debug, "\n");
        };

        process = _ <: P(sin), P(cos) : +;

this way you can dump the values you want to inspect into /tmp/DEBUG.txt.

Oleg.



_______________________________________________
Faudiostream-users mailing list
Faudiostream-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/faudiostream-users

Reply via email to