• synergie7

    Hi,

    I'm new to PD but I'm interested in creating an iPad or iPhone app that uses PD as its underlying synth.

    I'd using libpd wrapper etc for iOS, and patches I create in PD Extended (on the Mac)
    seem to play OK if I load the files into the app.

    However, I'd like to generate polyphonic sound.

    So far I've accomplished by duplicating the oscillator in my basic patch, loads of times,(in the same patch) and summing their output before feeding to the DAC.

    This works but seems like overkill.

    But I've also got some sequencer example code that seems to send a sub-patch to a main patch to act as an "instrument". (seeing the pitch and duration as message arguments)
    Unfortunately this "instrument" method causes PD to generate loud clicks when each "instrument" patch is sent.

    I've included the example patches below.

    Can some one tell me which is the best approach? ie is the "instrument" method always likely to fail, or is there possibly a fault in the patches.
    Or is the multiple duplicate items in one big patch the best way to go, and in which case is there a preferred way to reduce CPU loading at most probably only 3 or 4 of the 12 osc's I have would be in use at any one time.??

    Thanks

    An example of the "instrument" patch is
    #N canvas 431 461 531 368 10;
    #X obj 102 140 classicsub~;
    #X obj 99 20 inlet;
    #X obj 99 54 unpack f f;
    #X obj 102 92 / 127;
    #X obj 79 207 outlet~;
    #X obj 161 206 outlet~;
    #X obj 227 20 inlet;
    #X obj 165 92 mtof;
    #X connect 0 0 4 0;
    #X connect 0 0 5 0;
    #X connect 1 0 2 0;
    #X connect 2 0 7 0;
    #X connect 2 1 3 0;
    #X connect 3 0 0 0;
    #X connect 7 0 0 1;

    The host / sequencer patch is

    #N canvas 61 161 965 670 10;
    #X obj 202 103 r note;
    #X text 37 142 Split the note;
    #X text 22 184 Discard "note" string;
    #X obj 200 417 *~;
    #X obj 337 417 *~;
    #X text 248 104 Receive note message: <instrument> <pitch> <velocity>
    ;
    #X obj 201 328 +~;
    #X obj 337 325 +~;
    #X obj 26 373 r master_vol;
    #X obj 259 470 dac~;
    #X obj 202 251 polypoly 6 1 classicsub_instr;
    #X obj 202 161 route classicsub_instr saw_instr;
    #X obj 407 251 polypoly 6 1 saw_instr;
    #X connect 0 0 11 0;
    #X connect 3 0 9 0;
    #X connect 4 0 9 1;
    #X connect 6 0 3 0;
    #X connect 7 0 4 0;
    #X connect 8 0 3 1;
    #X connect 8 0 4 1;
    #X connect 10 0 6 0;
    #X connect 10 1 7 0;
    #X connect 11 0 10 0;
    #X connect 11 1 12 0;
    #X connect 12 0 6 1;
    #X connect 12 1 7 1;

    posted in technical issues read more
  • synergie7

    Thanks I'll try that

    posted in technical issues read more
Internal error.

Oops! Looks like something went wrong!