• jameslo

    @waffles If the patch is still popping because it's missing real time audio deadlines, try staggering the bangs from [metro 50] by substituting different length delays (e.g. 2, 4, 6, 8...) for the [bang] objects. That will distribute the control rate processing more evenly. Another thing to try is to delete any UI element you don't need. The patch stopped locking up my machine once I removed the vertical sliders near the AR oscillators. Finally, I noticed that sometimes it triggers a chime a couple of 50 ms intervals in a row, which is kind of a waste, so I added a 1 second lockout to ARosc~ to enforce a minimum interval between triggers. You can change the lockout time by changing the delay. ARosc~.pd

    posted in technical issues read more
  • jameslo

    @waffles On Windows 10/Pd 0.55.2, this patch somehow prevents me from switching between windows or accessing the taskbar, except when task manager is open. I'm guessing it's related to the fact that all the bangs hanging off of the [sel 0]s are solidly on, suggesting that the patch is falling behind in the control domain and perhaps missing realtime audio deadlines in the audio processing. That would definitely cause clicks.

    I also notice that the connections coming from each of those same bangs are not explicitly sequenced with a trigger object. I'm assuming the author intended [line] to jump to 1 first, which could also be a source of noise due to the discontinuity. Even if you took @seb-harmonik.ar's suggestion to replace it with [line~], that discontinuity would still be there.

    If I could somehow get this patch to let me edit it, my first experiment would be to cut out most of the repetition to see how various subsets behave. I think that would give me a lot of information about why the patch is making so much noise.

    Edit: just learned about the -noloadbang flag. <other silly BS deleted :)>

    Another edit: Let me know if this works better for you--this version doesn't freeze my computer. calm-generative 4.zip I replaced the loadbang with a toggle so it wouldn't start immediately. I added abstractions for each LFO and each AR oscillator to help me see what was going on. The latter lengthens the attack to 20 ms (from 0) and also controls the final volume using the LFO signal itself, rather than the one sampled every 50 ms, in case that was the cause of the zipper noise you were hearing. I deleted the oscillators that weren't connected to the dac in case they were eating CPU. It should be easy to add them back in now that you have the abstractions. I combined all the metros into one in case it helps reduce the control rate processing, and in an earlier version I staggered the bangs by 2 ms, but that didn't seem to make a difference. Finally, I noticed some light, occasional clipping, mostly in the left channel, so I halved the signal.Screenshot 2025-07-25 183934.png

    posted in technical issues read more
  • jameslo

    FYI, an algorithm I was taught in school uses a heap-based priority queue for that B array. Makes it a bit faster in big-Oh terms.

    posted in abstract~ read more
  • jameslo

    @freq63 If you want to follow my suggestion, the issue is here in your Arduino code:
    Screenshot 2025-07-02 065908.png
    As @FFW was explaining, you are putting a single value on each line, but your Pd patch is looking for 4 values on one line. Try this instead:

    for (int i = 0; i < 4; i++) {
      Serial.print(myArray[i]);
      Serial.print(" ");
    }
    Serial.println();
    

    Serial.println() comes after the loop where it only outputs a line terminator once for all 4 values.

    posted in technical issues read more
  • jameslo

    @freq63 +1 to @FFW, but your patch as is suggests you are sending the data incorrectly. On the Arduino side, try printing 4 floats on a single line separated by spaces, then terminate the line with /n (i.e. use Serial.println to terminate the line). You can see an example for 2 floats here: https://forum.pdpatchrepo.info/topic/13086/arduino-to-pd-vanilla/8

    posted in technical issues read more
  • jameslo

    @H.H.-Alejandro In case you weren't aware, direct OSC messaging to/from Arduino is possible. This is the library I used https://forum.pdpatchrepo.info/topic/15621/iannix-open-sound-control-arduino. I've tested using an Uno with an ethernet shield but built my final version using a MKR1000, communicating with TouchOSC running on my phone over the phone's WiFi hotspot.

    posted in technical issues read more
  • jameslo

    @ddw_music Just for fun, while I'm waiting on marching orders from a choreographer:
    ULFNoise~ shift register version.pd Screenshot 2025-06-18 161444.png

    posted in technical issues read more
  • jameslo

    @ddw_music I didn't stare holes at your patch, but it looks to me like you are trying to generate ultra-low frequency noise. If I've guessed right, here's my solution: ULFNoise~.pd ULFNoise~-help.pd

    Instead of a shift register, I just maintain a 64 sample array of noise and refill it when I'm nearing the end, taking care to copy the samples relevant to the last read point to the beginning of the array so it can pick up where it left off.

    posted in technical issues read more
  • jameslo

    @ddw_music +1 to @alexandros' suggestion, but also--do you remember having this exchange? https://forum.pdpatchrepo.info/topic/14762/fidelity-of-tabread4/2
    tabread4c~ doesn't have those non-differentiable points if that matters to you.

    posted in technical issues read more
  • jameslo

    @Josef [append $1( is a message, not an object

    posted in technical issues read more

Internal error.

Oops! Looks like something went wrong!