• ryan7585

    I was able to solve my issue by using the Firmata-Analog example script rather than the Firmata-Standard. Not sure if it will work in your case but it did for me!

    posted in technical issues read more
  • ryan7585

    I am running this on a Raspberry Pi 4 model B with 2G RAM (latest Rasbian OS installed), with a Teensy ++ 2. I installed arduino IDE and TeensyDuino, and loaded the StandardFirmata firmware to the teensy successfully.However when I open Pd-L2Ork, and load the arduino-test.pd file from the Pduino examples, nothing is working, and I get the following error on repeat:

    error: gatom_list: need float or symbol

    If I delete the subpatch that is above the analog input numberboxes, those errors stop. Then, I am able to use the patch to select a comport. the comport opens successfully:

    [comport] opened serial line device 1 (/dev/ttyAMA0)

    But then, if I try to do anything like enable an analog input or request the firmware version, nothing works, and I get the following error:

    error: [comport]: Write failed for 0 bytes, error is 2

    And then... after trying one thing or another a few times, pure data crashes entirely. I have searched google for a solution but am coming up short. Does anyone have any idea what might be happening?

    posted in technical issues read more
  • ryan7585

    And thanks again for taking a look guys... I can work on it from here but if anyone has any ideas I'm all ears!

    posted in technical issues read more
  • ryan7585

    test.pd

    here is a super-simplified version, with a waveform display and play/write head indicator sliders.. for diagnostic purposes

    posted in technical issues read more
  • ryan7585

    my god, you're right

    <facepalm>

    all day i've spent on this

    well sorry for wasting your time on a nonexistent issue!

    well with that figured out I'll ask a more general question..... does anyone have any suggestions for a way to make this so the echoes aren't interrupted when playback speed is less than 1?

    posted in technical issues read more
  • ryan7585

    And.... just as a side question, does anyone know why the buffer would clear just because of a read or write error? I could understand a click... but clearing the whole buffer?

    Is there a possibility that this isn't even the reason this is happening?

    posted in technical issues read more
  • ryan7585

    jameslo--- unfortunately that still has the same issue.... the echoes cut out when the heads pass
    Can I suggest a specific scenario to test---

    I am running it with the play speed at 0.7, feedback around 50%, with a live microphone on input 1. I snap my fingers near the microphone, and it begins echoing, with each echo at a slower speed and lower pitch... then every time the heads pass and the edge~ sends a bang, the echoes cease

    I should also mention, I am running this on a Raspberry 4 model B with 2G RAM, using pd-L2Ork.... Trying to create a physical device with it eventually. that shouldnt effect something like this though, right?

    posted in technical issues read more
  • ryan7585

    Lol thanks ingox

    oid---- I tried that method but unfortunately the buffer still clears when the heads pass each other :(

    tried negative 1 for no-read, no luck. tried flipping it so it sends -1 for no-write instead.... still happens. does anyone know if maybe there is another dummy index I could use, or an alternative way to prevent this issue?

    I keep trying different solutions that seem foolproof but the problem persists. I'm at a loss!

    posted in technical issues read more
  • ryan7585

    No problem... here it is simplified, with some comments. Thanks!

    #N canvas 678 92 1242 928 12;
    #X msg 273 196 resize $1;
    #X obj 527 71 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
    #fcfcfc #000000 #000000 1 256 0 0 1 0;
    #X obj 273 221 array define sampler1;
    #X obj 923 853 dac~;
    #X obj 152 352 phasor~ 1;
    #X obj 919 286 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
    #fcfcfc #000000 #000000 0.7 256 0 0 1 0;
    #X text 526 84 buffer size (s);
    #X obj 978 636 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 #fcfcfc
    #000000 #000000 0 1 0 1;
    #X obj 922 814 *~;
    #X obj 281 586 vsl 8 128 0 127 0 0 empty empty empty 0 -9 0 10 #fcfcfc
    #000000 #000000 0 1 0 1;
    #X obj 263 753 *~;
    #X text 997 719 volume;
    #X text 300 644 feedback;
    #X obj 107 803 +~, f 4;
    #X obj 410 39 loadbang;
    #X obj 472 38 bng 26 250 50 0 empty empty empty 17 7 0 10 #fcfcfc #000000
    #000000 1;
    #X obj 106 22 adc~;
    #X obj 920 327 phasor~ 1;
    #X obj 517 451 edge~;
    #X obj 517 482 bng 15 250 50 0 empty empty empty 17 7 0 10 #fcfcfc
    #000000 #000000 1;
    #X obj 152 374 *~ 44099;
    #X obj 545 267 - 1;
    #X obj 920 369 *~ 44099;
    #X obj 107 839 poke~ sampler1;
    #X text 500 14 this part up here just calculates the buffer size as 1
    second , based on the sample rate;
    #X text 575 226 sutracting 1 from buffer size for index range because
    index range starts at 0 , not 1;
    #X text 992 341 phasor for playhead pointer;
    #X text 226 356 phasor for write head pointer;
    #X text 566 445 this is here to indicate when the read and write index are
    the same (diagnostic);
    #X obj 970 557 s~ feedback;
    #X obj 188 725 r~ feedback;
    #X obj 20 63 s~ dry;
    #X obj 516 420 expr~ (abs($v1-$v2)< 1);
    #X obj 927 493 tabread~ sampler1;
    #X text 976 282 playback speed (try 0.7);
    #X obj 832 777 r~ dry;
    #N canvas 0 0 450 300 buff 0;
    #X obj 40 107 samplerate~;
    #X obj 40 130 * 1;
    #X msg 127 105 1;
    #X obj 40 80 t b b;
    #X obj 40 152 t f f;
    #X obj 13 26 inlet;
    #X obj 63 26 inlet;
    #X obj 13 225 outlet;
    #X obj 69 225 outlet;
    #X obj 125 225 outlet;
    #X connect 0 0 1 0;
    #X connect 1 0 4 0;
    #X connect 2 0 9 0;
    #X connect 3 0 0 0;
    #X connect 3 1 2 0;
    #X connect 4 0 7 0;
    #X connect 4 1 8 0;
    #X connect 5 0 3 0;
    #X connect 6 0 1 1;
    #X restore 472 68 pd buff;
    #X text 249 244 defines and sizes the buffer;
    #N canvas 0 0 450 300 line 0;
    #X obj 40 100 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
    #fcfcfc #000000 #000000 0 256 0 0 1 0;
    #X obj 40 80 / 127;
    #X obj 40 148 line~;
    #X msg 40 118 $1 100;
    #X obj 13 26 inlet;
    #X obj 13 221 outlet~;
    #X connect 0 0 3 0;
    #X connect 1 0 0 0;
    #X connect 2 0 5 0;
    #X connect 3 0 2 0;
    #X connect 4 0 1 0;
    #X restore 281 725 pd line;
    #N canvas 0 0 450 300 line 0;
    #X obj 40 103 line~;
    #X msg 40 80 $1 100;
    #X obj 13 26 inlet;
    #X obj 13 176 outlet~;
    #X connect 0 0 3 0;
    #X connect 1 0 0 0;
    #X connect 2 0 1 0;
    #X restore 920 304 pd line;
    #N canvas 0 0 450 300 line 0;
    #X obj 40 100 nbx 5 14 -1e+37 1e+37 0 0 empty empty empty 0 -8 0 10
    #fcfcfc #000000 #000000 0 256 0 0 1 0;
    #X obj 40 80 / 127;
    #X obj 40 148 line~;
    #X msg 43 118 $1 100;
    #X obj 13 26 inlet;
    #X obj 13 221 outlet~;
    #X connect 0 0 3 0;
    #X connect 1 0 0 0;
    #X connect 2 0 5 0;
    #X connect 3 0 2 0;
    #X connect 4 0 1 0;
    #X restore 978 774 pd line;
    #X connect 0 0 2 0;
    #X connect 1 0 36 1;
    #X connect 4 0 20 0;
    #X connect 5 0 39 0;
    #X connect 7 0 40 0;
    #X connect 8 0 3 0;
    #X connect 8 0 3 1;
    #X connect 9 0 38 0;
    #X connect 10 0 13 1;
    #X connect 13 0 23 0;
    #X connect 14 0 36 0;
    #X connect 15 0 36 0;
    #X connect 16 0 13 0;
    #X connect 16 0 31 0;
    #X connect 17 0 22 0;
    #X connect 18 0 19 0;
    #X connect 20 0 23 1;
    #X connect 20 0 32 0;
    #X connect 21 0 20 1;
    #X connect 21 0 22 1;
    #X connect 22 0 32 1;
    #X connect 22 0 33 0;
    #X connect 30 0 10 0;
    #X connect 32 0 18 0;
    #X connect 33 0 8 0;
    #X connect 33 0 29 0;
    #X connect 35 0 8 0;
    #X connect 36 0 0 0;
    #X connect 36 1 21 0;
    #X connect 36 2 1 0;
    #X connect 38 0 10 1;
    #X connect 39 0 17 0;
    #X connect 40 0 8 1;

    posted in technical issues read more
  • ryan7585

    Update--- still struggling with this. I treid a method the read and write head were swapping between two halves of the buffer so they wouldnt cross, but it ended up with some weird behavior on playback speeds other than 1x... So I scrapped that idea and am now back to square 1

    Any help you guys can provide would be greatly appreciated!

    posted in technical issues read more

Internal error.

Oops! Looks like something went wrong!