• whale-av

    @Balwyn Personally I wouldn't bother with $0 as the clones and nested clones can have more arguments like this......
    this.zip

    Edit... I have not passed on an argument for the first clone.... so 20 messages received....obviously incorrect.... but no time to fix it now. But easily doable...

    David.
    Capture1.JPG

    posted in technical issues read more
  • whale-av

    @impression All clones are automatically assigned $1..... normally from 0 but here starting at 1.....
    Clone is [clone -s 1 6voices_part 800 800]
    Capture.JPG
    Put a [receive] inside the receiving abstraction and [route] your message to the correct abstraction using [route $1]

    The message will be e.g. [6 cutoff 0.378(
    Where "cutoff 0.378" will be received at the outlet of [route $1] by the abstraction number 6.
    Sent to [s curve] (in this case)......
    David.

    posted in technical issues read more
  • whale-av

    @impression Good news..!
    Yes, the MrPeach objects take care of string, float etc formats without us needing to get involved in such details.. They are very useful.
    David.

    posted in I/O hardware diyread more
  • whale-av

    @impression If it is definitely sending then tcp and udp should work if you have specified the same port and the same format (tcp or udp) for both the send and receive..
    If you put a [print] on the left outlet of [netreceive] you should see some data arrive.
    Assuming you are not trying to receive on another (second) RPI, in which case you will need to tell the GPIO RPI the IP address of the second RPI as well as the port.
    David.

    posted in I/O hardware diyread more
  • whale-av

    @atux You can try that....... pd2py_v2.pd
    Does it work?
    If not then post your Python code and someone will tell you why not.
    David.

    posted in technical issues read more
  • whale-av

    @willblackhurst If you look at the help file for [tabread4~] you will see that correct interpolation requires guard points added to the array so that interpolation is performed correctly as [phasor~] wraps around the end of the array.
    Your patch doesn't glitch between the array copies, but it does as [phasor~] wraps at the end of the 3rd copy, or where you chop into the array adjusting the clip length percentage.
    @lacuna made a handy patch to add guard points automatically.... https://forum.pdpatchrepo.info/topic/14301/add-delete-guard-points-of-an-array-for-4-point-interpolation-of-tabread4-ect
    I suppose that if you want to adjust the playback length then you would need to copy a percentage of the array to a new array, and then add the guard points.
    David.

    posted in patch~ read more
  • whale-av

    @jameslo Yes, it seems to work with the $0 inside or at the end of the name....:expressionless:
    David.

    posted in technical issues read more
  • whale-av

    @jameslo Can you make it work something like this?
    I would expect that $0 can be used in the name as they are both objects.... but I am so confident that I didn't check..... :relaxed:
    David.

    It seems to update [value me]....... maybe.pd
    maybe.JPG

    posted in technical issues read more
  • whale-av

    @Coalman Nearly...... see [sort-help] from the zexy library, which contains what could be a specified list randomiser if a $ argument is added to [pd randompackage].....
    No post sort routing though.
    David.

    posted in technical issues read more
  • whale-av

    @Coalman Probably the list-abs library....... maybe [list-wrandom]..?
    Although the list-abs library comprises vanilla abstractions.
    David.

    posted in technical issues read more
  • whale-av

    @avenir I agree with @alexandros , as it seems what you are trying to achieve is convolution but only for volume, in which case you could send [tabread4~] into [env~] and give [env~] a big enough window size to smooth the envelope which you will multiply by the output of [noise~].
    David.

    posted in patch~ read more
  • whale-av

    @jameslo Schrodinger would have a word with you...
    I think knowing the applied output of [phasor~] is enough, as it is the only "known" and is determinable. Capturing at audio rate timing also gives almost unfathomable precision given the bit depth at 64-bit. Go for 192kHz sample rate if you want. Although such timing is not really human relatable it could make a difference when multiplied in the signal domain.
    I know, I am setting myself up for some pushback....

    More ramblings.....
    It should be a new thread I suppose, but it would be good to establish exactly the data points reported by [snapshot~] and [print~] etc.
    I think it has been discussed before so I will try to dig it out.
    @lacuna [snapshot~] is continuously taking snapshots of the last value of a block. That is demonstrated by the fact that when banged with dsp off it reports a value. Not sure that it can be called a bug, but it needs to be widely known.
    When [print~] is banged with dsp off nothing is printed, and it will print the block following the bang with dsp on. Its first reported value is the next sample after the [snapshot~] value if they are banged at the same time.

    Yes, @porres for sample accurate timing we do have all the "v" objects but if the patch is controlled at block boundaries then repetition of actions is still accurate, simply the original command and the repeated command both occur at exactly the block boundary.
    Assuming that [phasor~] always starts at 0 when the patch is created the commands are repeatable.

    Using "v" objects is slightly more complicated as it is documented for example that [vline~] starts its ramp one sample early.
    Vanilla [vsnapshot~] is still documented.... "- mal-designed snapshot~ extension, best not to use this".

    So a time graph of samples over 2 blocks, with "v" and "non-v" objects overlaid showing their data points and trigger points would be a very useful reference document I think.
    I know I am making work for you, but somewhere I got the idea that you enjoy it... !
    David.

    posted in technical issues read more
  • whale-av

    @jameslo A very different approach (which seems to work) by suspending dsp processing in the sub-patch and re-starting when you wish to repeat the [phasor~] sequence (it should be accurate but could need better testing by external graphing..!!)....... phasor-store.pd
    In 32-bit Pd it seems to be accurate for value only to 1/1000 but in 64-bit 1/10000 or greater.

    This method does not restore the master [phasor~] so a switch to using the slave would be necessary as the sequence is restored.... and it is single use.

    I cannot fathom for now how the same accuracy could be saved and recalled for a future start of a patch, apart from saving an [array] of a [phasor~] output.
    David.

    Capture.JPG

    posted in technical issues read more
  • whale-av

    @avenir Thank you for testing.
    Should get there in the end..... cart-5-vanilla.zip
    David.

    posted in patch~ read more
  • whale-av

    @avenir Ah...! .. I missed one old 32-bit external.
    A track display error fixed too.
    Should be good now I hope........ cart-5-vanilla.zip
    David.

    posted in patch~ read more
  • whale-av

    @avenir This will give you a list of files in a folder and let you play them with [readsf~].
    You can replace the player part with [soundfiler] and arrays as above.
    cart-5-vanilla.zip
    David.

    posted in patch~ read more
  • whale-av

    @atux You should get the list-abs library. It is a library of abstractions.... so vanilla.... and a real swiss army knife for dealing with lists and other manipulations.
    The abstraction you want for that is [list-sieve]..... list-sieve.zip
    The library is a must... it saves constantly re-inventing the wheel.
    David.

    Capture.JPG

    posted in technical issues read more
  • whale-av

    @porres From one 5 year old to another....
    A Neural Net attempts to replicate a brain..... treats snippets of language and information as if they were stored in neurons.
    Starting with some instructions (rules) from a programmer it then looks for likely links between those "neurons" and builds new rules based on data matches and the probability that it will return the correct output. We don't know how the brain works, so the maths involved is somebody's best guess.
    Given the high percentage of garbage LLM's scour on the net they have a quite high failure rate, which gets worse as the model grows and feeds also on garbage outputs. For a while now its language construction is excellent, causing humans to believe that far more of its output is correct than is actually the case.
    Unfortunately newer models are also proving to be worse than their predecessors.

    A neural net trained on a smaller data set in Pd might be better, and the initial rules easier to fathom...?
    David.
    .

    posted in extra~ read more
Internal error.

Oops! Looks like something went wrong!