• beep.beep

    @yealace Hi there, I believe I found this technique in one of @Maelstorm’s patches & adapted it, so I’m a bit fuzzy on the math.

    But yes, [cos~] plays a part in creating the window. It’s fed by the same [phasor~] that is driving [tabread4~] (the audio table playback), and generating a slice of the positive part of the sin function ([phasor~] -> [cos~] is equivalent to [sin~]) which is being amplified & clipped to shape the window.

    I made a quick attempt to add some calculations that make the length of the window consistent at any playback speed (for example, 25ms fade in / fade out at either end, regardless of whether you’re playing the loop at 0.5x speed or 4x speed). It kinda works but is definitely not accurate at all loop sizes & speeds, so anyone who wants to improve on it is most welcome to do so!

    Here's a vanilla version of the patch I posted earlier in this thread, which should be easier to get working if you're just interested in the windowing part:
    single_precision_looper.pd

    posted in technical issues read more
  • beep.beep

    @s.elliot.perez I'm not a coder, but I do get the sense that there will always be certain programming techniques that can be realized faster in code than in Pd.

    That said, I feel like my biggest breakthrough in Pd was in learning how to quickly build abstractions. Anytime that you're repeating similar calculations & connecting dozens of cables, you can likely create a new abstraction & realize the idea in a fraction of the time it would have taken you otherwise. I don't think it'll ever be quite as efficient as a few lines of code, but at least will get you much closer.

    You can also pull off some fairly advanced trickery with [expr], although I'm not the one to ask about that.

    posted in technical issues read more
  • beep.beep

    @paste I think I may have used @Maelstorm's windowing technique that @whale-av linked to above — it's been a long time so I can't remember for sure, but it does sound like the same approach (amplified/clipped cosine as crown window), which I find works pretty well!

    This was the looper patch I used it for:
    https://forum.pdpatchrepo.info/topic/11353/tabread4-example-or-alternative/3
    The full patch probably won't work for you as-is because the iem_dp library can be hard to get working, but you could certainly check out the [pd window] subpatch & modify it for your own sampler.

    posted in technical issues read more
  • beep.beep

    @liamorourke By the way, I find the [text] object to be much more useful than [textfile] in general. It might be a little more complicated to get the hang of at first, but it gives you many more options with its various functions ([text define], [text set], [text get], and the super useful [text sequence}). I use it for reading/writing presets as well as sequencing, and it pretty much makes both [textfile] and [qlist] obsolete.

    posted in technical issues read more
  • beep.beep

    @jjjjj Hi, welcome!

    I'm a Mac user running Catalina (10.15.4) and Pd vanilla 0.50-2. In general, I have noticed that the default security settings on recent Mac OSes are ultra-sensitive, and it doesn't take much for any non-Apple application to trigger lots of prompts requesting access permissions (sometimes rather random, such as the one you encountered).

    I find this rather annoying personally, but it hasn't led to any problems. It seems very unlikely that Pd itself could harm your system (or your calendar...) in any way. You might want to use a bit more caution in installing externals, as it's theoretically possible that someone could write malicious code & compile it as a Pd external, but I have yet to encounter this or hear of it happening anywhere before.

    By the way, you likely will want to grant certain access to Pd, such as microphone, network, documents/library folders, and possibly camera if you're using Gem.

    posted in technical issues read more
  • beep.beep

    Actually, the version on Deken ("Find externals") is 64 bit. Perhaps more likely, the library is not being declared, such as with:

    [declare -lib timbreID/timbreIDLib]

    See the INSTALL.txt that's included in the timbreID folder for instructions, you may have to adjust the path in order for Pd to find & load the timbreIDLib.pd_darwin file (which is where all of the objects live).

    posted in technical issues read more
  • beep.beep

    Hi there, I think in order to do this you may need to use $0 at the beginning of the send/receive name — i.e., $0_slider instead of slider_$0. I've encountered some other quirks with the GUI objects & name variables... I seem to remember reading somewhere on the Pd-list or Pd's Github that work is in progress to standardize/fix some of them.

    posted in technical issues read more
  • beep.beep

    randmodule2.0.png
    OK, here’s a new & improved randmodule version 2.0! Download the abstraction & help patch here:
    randmodule_2.0.zip

    Changes:
    -no longer requires a creation argument to use multiple instances (although you can still use one to enable remote input/output)
    -improved/simplified control message input formatting
    -added new modes (random ramps, binary output, rhythmic output), for sending output to different kinds of controls
    -ability to smooth transitions between ramps (big thanks to @whale-av and @LiamG for the excellent ideas on this subject!)
    -new & improved help patch
    -bug fixes & simplifications

    Enjoy! Please do feel free to post any audio/video here if you find a fun use for it… I’d be interested to see how other folks might work it in to their patches.

    posted in abstract~ read more
  • beep.beep

    @prandam Hi there, glad you found this abstraction useful! I've actually added a lot of stuff to it since this version that I uploaded 3 years ago... I might try to clean it up & upload a version 2.0 someday if folks are interested.

    I did mention in the help patch (and @whale-av is also correct in observing) that creation arguments are required for multiple instances, which also allow you to send the output remotely to any existing control in your patch via [s $1]. Sort of a built-in "wireless mode".

    But, it would be nice to have the argument be an option rather than a necessity. In the past few years I've seen a few approaches for supplying a default argument if none is given by the user, which I may try to incorporate. The just-released version of Pd vanilla (0.50) has a new [pdcontrol] object that can get an abstraction's arguments... I'm very curious to see if there might be a new, slicker way to have an abstraction default to $0 if there is no argument given.

    posted in abstract~ read more
  • beep.beep

    @ddw_music Thanks for sharing that audio! Very interesting timbres.

    And also interesting to hear that SC uses different precision for audio versus language-side math. As for Pd, I've seen plenty of discussion on the Pd-list about going full double precision in vanilla, but it sounds like a pretty daunting task, for various reasons.

    posted in technical issues read more

Internal error.

Oops! Looks like something went wrong!