the Max patch looks like feedback-FM to me. For PM the + would be placed between phasor and circle, if I'm not mistaken.
And with 1000 ms delay, as I read the Max patch? there would be no need for 1 sample-blocks.
A thread on this topic:
DC-blocking you can do with [hip~ 20] for example (I'd put it in the feedback-loop).
[cos~] ? Is a cosine-tabel, to get a sine you can drive it like this:
Offtopic: Pd's cosine has a slight DC-offset.
Creating a one-sample delay is achieved by placing your objects in a subpatch and putting a
[block~ 1] object in there. Then you have to use
[tabreceive~] instead of
[delread~] to achieve the one-sample delay.
Yes. And be aware of the importance of creating [tabsend~] beforehand of [tabreceive~] . You can read about in the Pd documentation 3.audio.example > G05.execution.order.pd
For feedback, I usually build subpatches with such a dummy-connection, save the patch, and delete the dummy cable lastly and save again, for perceving the execution order and avoiding a dsp-loop.
[delwrite~] and [delread~] can become as short as 1 sample, too.
In both [osc~] and [phasor~], the phase is set by control messages, but since you'll have a one-sample block size, that shouldn't be a problem, you can just set the phase to what ever you like and it will be reset at the next sample block (one sample later).
This is one of the biggest myths in Pd (at least for me), but unfortunately not true. (Vanilla 52.2)
See vphasor~-help : https://github.com/dotmmb/mmb
Still the same, if you put it in a subpatch with [block~ 1].
Documentation is lacking here. There are very few timing- sample- or phase-critical control-objects that are able to update (sub-)sample-accurately in-between block-boundaries of 64 samples minimum:
I only know of [bang~], [metro], [delay], [pipe], [vline~]