• leopard86

    Hello,
    I was interested in a reference, possibly a scientific paper about the principle of operation for [sigmund~]. Does anyone have suggestions?
    Thanks

    posted in extra~ read more
  • leopard86

    Hello,
    I think I managed to solve this a long time ago but forgot the solution. In Pd apparently it is impossible to have a feedback with "zero" delay, i.e. if a delwrite~ and delread~ objects are in feedback the minimum delay is one block, thus the only option is to use [block] and reduce the blocksize.

    How can "zero" logical delay be achieved in feedback without resorting to reducing the block size?

    L

    Edit: just to be quick and clear: this is a trouble you stumble into when designing Karplus-Strong patches

    posted in technical issues read more
  • leopard86

    Hi all,
    in debugging some external code for Pd I happened to think about a thing I don't understand: each time the "perform" routine is called, the variables that are initialized are each time freshly initiated (they do not retain values from the past round) but they are always instantiated at the same memory address: is this for chance or is it by design?
    How much does it cost in terms of overhead to instantiate new variable at each dsp cycle? Here for instance: at every cycle some vars and arrays are instantiated:

    void foo_tilde_perform(t_int *w, const int offset)
    {
    t_foo_tilde *x = (t_foo_tilde*) (w[1]);
    int n = (int)(w[2]);
    t_float *out[DEFAULT_AUDIO_CHANNELS];
    const int channels;
    int i = 0;
    int j = 0;

    ...

    posted in extra~ read more
  • leopard86

    Hello,
    I wanted to share some doubts I have with the hope of them being solved.

    In writing tilde externals, I've seen that in and out buffer address (in the case of a 1inlet/1outlet external) are the same. I thought it was a problem of my initialization code, but then I checked on other externals and I have seen that this always happens... I can't understand how two buffers share the same starting memory address. I expected a ping-pong strategy, with 2 pointers and two allocated memory areas, with the pointers changing from location 1 to 2 to 1 and so forth.

    I digged into these details because the external I am writing crashes with a segmentation fault when I try to write to the out buffer.

    while (n--)
        {
            for (i = 0; i < x->x_noutlets; i++)
            {
                *(out[i]++) = 0.;
            }
        }
    This does not happen at first but after some few iterations of the perform routine. I suppose that this is due to a write in a forbidden memory area... Any suggestions?
    
    L[/i]

    posted in extra~ read more
  • leopard86

    As in the subject. I wanted to look at the [phasor~] source code but couldn't find nowhere in the tarball archive with Vanilla or Extended source code. I expected to find a phasor~.c file but even looking inside the codebase for something like phasor_tilde I did not succeed.
    Where should I look for vanilla blocks in general? I'm sure it's a dumb question!!!

    L

    posted in extra~ read more
  • leopard86

    Hello,
    the question is silly but I couldn't figure out from http://pdstatic.iem.at/externals-HOWTO/

    I am writing an externals that initializes netsend_tilde by sending a message of the type:
    [connect <IP> <port>(
    As I coded it now, my external sends out this:
    symbol connect 123.123.123.123 12345
    Within the patch I can put a [$1( between the outlet of my external and netsend, however I want to print out from the outlet a clean "connect <IP> <port>" message without "symbol" in front of it.

    My code:

    x->x_nsend_outlet = outlet_new(&x->x_obj, &s_symbol); // I tried also 0 as the first argument (message outlet-type) but did not work
    char nsend_message[MESSAGE_LEN];
    sprintf(nsend_msg,"connect %s %d",inet_ntoa(cli_addr.sin_addr),nsend_port); // create the message to send out "connect <IP> <port>"
    outlet_symbol(x->x_nsend_outlet, gensym((char*) nsend_msg)); // outlets the message
    

    Thanks, cheers

    Leopard

    posted in extra~ read more
  • leopard86

    Hello all,
    I've been looking for a tutorial about compiling your own externals on Mac, Linux, Win but I found none. It would be nice, especially to give it to students. Maybe it could also explain how to load patches with the new 0.43 release.
    Thanks

    posted in technical issues read more
  • leopard86

    Hello guys,
    I wanted to share with other Linux and/or Ubuntu users some technical questions and issues. My config: Pd-extended latest, Ubuntu 11.04

    1. Is it common that PD prevents any other non-jack audio applications? E.g. if PD is active all audio activity is stopped on the browser or the media players. This happens even if PD is not connected to jack nor to alsa nor oss. What happens is that the media player, e.g. rythmbox does not read the stream/file (the playback cursor stays still).

    2. It sometimes happens that after opening/closing several patches and playing around, PD disappears after a patch is closed.

    3. The CPU load is very high (as shown by the load meter applet in the Linux tray) but the load meter shows quite a low value. I have the impression most of the load is due to the control stuff (especially GUI objects) rather than the DSP stuff.

    4. Comments with line breaks are put in a single row after opening a previously saved patch.

    Hhm, I think that's all, just wanted to check whether it's me or not.

    Cheers
    Leo

    posted in technical issues read more
  • leopard86

    This is somewhat related to timestretching a interpolation, I read previous posts on similar topics and looked into the patches, but found no working solution.
    I have a table with a few coefficients, say 12, from a FIR impulse response. I want to slightly stretch them to make them 14 or 20 or so, and keep the shape of the impulse response.

    I tried [trabread] with a [line] as input, linear interpolate between two table numbers and then writing them to a new table with [tabwrite] with the same [line] object output multiplied by the rate for stretching, say 1.2, but I get ugly results.

    Any suggestions, or patches in the PD browser?
    Thanks

    Leopard

    posted in technical issues read more
  • leopard86

    Hi people,
    thanks to this community I had my first electro gig with PD which is now part of my rig.
    I'm needing more and more percussive sound, in a minimalistic way. I love very much Alva Noto works, so I'd like to find a drum machine with some preset clicks, pops, sines and so on.
    If not does anybody know a good and live-friendly drum machine where I can prepare drum scores and load samples or synthesize clicks, pops, sines and so on?
    Thanks

    posted in technical issues read more

Internal error.

Oops! Looks like something went wrong!