Hello world. I wanna know how to create a delay object in C programming. I'm creating my original spatializer system in Pure-data. The system is used by Pure-data externals. However I don't know how to reproduce delay in C language. Pure-data limits block size to 64, so I tried to reproduce the delay with the buffer stuffed with 0, but it didn't work. If you have a sample code, could you show it to me? Help me.
-
[Pure-data externals] Let me know how to create a delay object using C programming.
-
If you want to have a delay shorter than one block size, put the [delwrite~] object in a subpatch, the [delread~] in another subpatch, and connect a dummy outlet of the subpatch with [delwrite~] to a dummy inlet of the subpatch with [delread~].
-
@Itsuki usually delay lines are implemented with a ringbuffer. You can find an example in the source for
[delwrite~]
and[delread~]
:
https://github.com/pure-data/pure-data/blob/master/src/d_delay.cin short, constantly write to an array every sample and wrap at the end of the array. Then you read 'behind' by however many samples you want the delay to be
-
Thank you for teaching the git-hub. I try to create my spatializer again using a ring buffer.