• seb-harmonik.ar

    @jameslo said:

    It looks like the second ramp (jump in this case) is still timed relative to halfway through the block though.

    yes that one doesn't have negative delay and the first message cleared the queue already so that one gets processed normally
    edit: it isn't relative to the start of the block, but if you're trying to sync with block-synced objects that would be an issue regardless

    posted in technical issues read more
  • seb-harmonik.ar

    @jameslo I just discovered that if you give vline~ negative delay time value it clears the scheduled ramps and immediately jumps to the value

    so if you use a negative delay time in a vline~ message it will start at the same time as a sig~ one, at the beginning of the block
    it will only work for jumps and not ramps I think, but sig~ only does jumps..
    edit: created a pddp issue to add to the docs: https://github.com/pure-data/pddp/issues/267

    posted in technical issues read more
  • seb-harmonik.ar

    @jameslo this is getting a bit off-topic but it looks like portmidi does have timestamp info on received messages, but afaict PD doesn't use it

    posted in technical issues read more
  • seb-harmonik.ar

    @jameslo midi messages don't have timing info themselves afaik (except for realtime/clock?)
    Therefore they would have to be processed at block boundaries, just as graphical bangs are.
    Not sure how REAPER does it, maybe they store timing info in the queue when they're received on a separate thread or something
    or maybe portmidi supports it and pd just doesn't use the timing info, have to check. But maybe even with that it would be preferable to have the midi events start ASAP on block boundaries since most things in PD are synced at block boundaries

    posted in technical issues read more
  • seb-harmonik.ar

    @jameslo yes it looks like you would have to delay the sig~ one to the next block as well.. (but you could do so by delaying it by a constant 64 samples I think)
    image.png
    (repost, my first test I forgot to resize array2)

    posted in technical issues read more
  • seb-harmonik.ar

    not sure if there's a better way, but I made an object [pib~] a while ago to get the position in the current signal block in ms, using that you could delay a bang to the end of the current block:
    image.png
    https://github.com/sebshader/shadylib/blob/master/pib~.c
    Iirc the bigger issue with vline~ is that it starts the ramp on the value after the 1st value you give it
    If I want to sync on blocks I usually just use line~ unless I need something really precise like reading an audio buffer or karplus strong or something like that.

    posted in technical issues read more
  • seb-harmonik.ar

    @ddw_music I'm pretty sure there's an option to display all of the searched paths that get failed trying to load a certain class, if you run pd at higher verbosity. It will be like "tried xxx and failed" or something.
    Anyways you could use that to see which paths are being tried

    posted in technical issues read more
  • seb-harmonik.ar

    @flextUser when I tried to download it windows flagged it as a virus..
    I would just host the source on the repo host, and wait for deken to upload the release/artifacts
    uploading the .zip file in the repo in the meantime rather than uploading the source and just waiting for deken to upload the package seems like an odd choice

    posted in news read more
  • seb-harmonik.ar

    @BetaRiffs you mean add them together?bp_add.PNG

    posted in technical issues read more
  • seb-harmonik.ar

    @hmp did you try opening the zip file I attached? it shows how to use the [text get]

    posted in technical issues read more
  • seb-harmonik.ar

    @hmp you could hypothetically parse the csv in pd, but it's probably easier to just store the text file in the pd native format, which is just separated by spaces with semicolons at the end of lines
    file_example.zip

    posted in technical issues read more
  • seb-harmonik.ar

    @manuels hmm yeah I guess it doesn't quite work due to the phase discontinuities..
    maybe have to do a bit more tinkering with the offset/phase reset part
    I wonder if it would work to just discard the wrapped around part somehow, and set the limit based on the 'non-fractional' part of the period

    posted in technical issues read more
  • seb-harmonik.ar

    @porres that's quite a philosophical question.. what are the positive ones for?
    edit: as a serious answer, I guess anything that's polarity-specific. you could maybe combine multiple generators in different ways?
    I guess you could always multiply by -1 but to me it seems more natural to have it go from 1 to -1 since that's the output range of digital audio and it would take extra objects.. easier just to allow negative values

    posted in technical issues read more
  • seb-harmonik.ar

    @porres it's mentioned in the valimaki one I posted above: https://www.researchgate.net/publication/260701331_A_Perceptual_Study_on_Velvet_Noise_and_Its_Variants_at_Different_Pulse_Densities
    (novel variants on page 7)
    edit: it mentions the 'regularity' but not bias.. I can't remember where that came from, maybe that one wasn't in a paper but it's necessary to make it into a pulse train
    or it may have come from a different paper on 'extended velvet noise'.. been a few years

    posted in technical issues read more
  • seb-harmonik.ar

    @porres here's what I mean about adding parameters for bias/regularity
    if you set regularity to max and polarity one extreme or the other it's an aliased pulse train
    velvet-controls.zip

    some of the papers were mentioning it, you can get some cool effects

    posted in technical issues read more
  • seb-harmonik.ar

    I do think @manuels original idea of having a sample-increment offset still works without missing periods?
    Why don't you think it works with non-integer period lengths?

    a phasor~ is always guaranteed to have its last sample be within the last sample increment regardless of whether an integer-period or not, and [wrap~] will pretty much perfectly wrap the phasor~'s phase..

    posted in technical issues read more
  • seb-harmonik.ar

    @porres in my version I added controls for period regularity and polarity bias.
    Setting period regularity to '0' constrains the random phase range and polarity bias controls the offset of the noise that chooses the polarity (copysign)
    so if you set the regularity to 0 and polarity bias to 1 you get a (aliased) regular pulse train

    posted in technical issues read more
  • seb-harmonik.ar

    @whale-av the version in the paper that this is based on has one impulse every period, randomly distributed somewhere within it.

    posted in technical issues read more
Internal error.

Oops! Looks like something went wrong!