### Equivalents

Hello there!

Just a simple question… Does anybody knows which are the

objects as the Pure Data’s rpole~ and rzero~ in max/MSP??

Thank u very much!

I’m having fun working through Andy Farnell’s "Designing Sound" book and have run into this as well. Farnell writes about using rzero~ for "differentiation" – the opposite of integrating a signal. I’ve gotten similar results using a hipass filter at 0.999 Hz. Is there a more exact equivalent for rzero~?

The pd help file says this about rzero~:

"rzero~ real one-zero (non-recursive) filter, raw

Rzero~ filters an audio signal (left inlet) via a one-zero real filter, whose coefficient is controlled by a creation argument or by an audio signal (right inlet).

The action of rzero~ is: y[n] = x[n] – a[n] * x[n-1]

where y[n] is the output, x[n] the input, and a[n] the filter coefficient. The filter is always stable.

The transfer function is H(Z) = 1 – aZ^-1."

Here’s an rzero~ abstraction based on the filter equation given in the PD help patch. Seems to work fine. rpole~ can’t be built as an abstraction since it’s a recursive filter. I tried wrapping it in a poly~ set to vs 1, but it didn’t work properly.

**all**of the following text. Then, in Max, select

*New From Clipboard*.

```
----------begin_max5_patcher----------
620.3ocyW0sbhBCE9Z7oHC6MZGoCITPYmYuXeN55rSDhsoCj3.gsX6Te1WxO
XwsXWTDs2Dlbxwy478c9IwWGYYujWRxsAeGbOvx50QVVJQRAVl8V1o3xnDbt
RM6HdZJgIrmpOSPJEJ4kiYSpERiUh3KexA5UKbEmIX3Th5nelQwI0mvJRorD
hP4.nQ35LRdkevBJm86LRjPGjvP2acmBBmIWcMKfEM7QN8EkOfnpS24.dgn1
C0RWiEQORYOzz5t9JqqL7cRC.PJ6K+EuMZjbYZ+IJGXqTE57RUHjBLv4tCBW
su4GHxBefpJ2yMUo.A5tAkpLl2yePnpMsSUyOQlp2sRgJX5EnwLrWXVEd0gq
1+hMqIZOYauKQ0rDA1J7ZGGvCiCOWE.loSZ6V24x5zgN0PVshFQq1CFmSefg
SlXeFSwYDbBfyHNuPx3fwLNyoJPKxxo+gLArhlHHYSAY3m+EaINmDWoKXcLH
Sp9VPEqHQkwnITFIhWnibuOxegWo5FCeCCzSW70SWlehENLxyUf4CD4MaAeC
dv5Iclq0ppYGIqfNFV4SpBMzQ8Djvd0Mc.RwY6ovHAWKFQWYXJW7P25ODyTu
ms.7CPo7iC.K+bibmCbQKiZ8uRsLn45dE2lsLm6piXRBdyVvI003cc6ZLOQw
OnW7h1ksj1QeZxs6WXZJn0WX9etow9BcI544NTCzBOVjoTPcS0+7WTT9PJee
3lyKxhpAT8i..u6mXRtfxTO9qgRUyzAvc57HMNlvZByTZ7ZNkILwvAJd5ZHE
zgHBsmNCcD0ENJ3hFQdcLqc4hnYcjifeoxZd8fip171n+lFB3JA
-----------end_max5_patcher-----------
```

rpole~ can be build as an abstraction, as its a special case of a biquad~ ( which is rzero~as well btw):

**all**of the following text. Then, in Max, select

*New From Clipboard*.

```
----------begin_max5_patcher----------
335.3ocwS0sSCCBE9Z5SAAusaAV0loOHdiYwPK3Fl1CyUZr5x7Y2xO0UM3rI
KYlz.gud378Cv9DDoP2IaH36vOfQn8IHjCxBfBqQjZdWYEuwUFQ2ZpjFRp+W
a4lxMJX8i6jkFeaX4z4zT7haBSCi3Ug8nD9FU77r7g9.s0JnuuNNXGA8r4Po
AzRccsDbjQHVnCII1gzIZ.GOmR+2tvJYVd1uneulLusU52.gDyZWG0ZznVic
orl+n4bsV1+f0.4q8TOPrQ14aUg5kVt3C7ULLct8aFyNMT2SZvznd24FFaN8
uu0RW5RnkgUmJaZTqAdUzDhMV..u1sEx8xcBNvild4wSuQIkiGRkB946Umar
3eO9Zzs6JGzZ3FI9ncDxFiB3FkFFUSuvwrupYiRHjv3C2ZkXqVAlfDvqhdTN
UEkMQEQuXJhMAEkeFJpewgjOAXH07LK
-----------end_max5_patcher-----------
```

Very helpful! biquad~ is the way to go. It’s been a good exercise for me to build these filters from the ground up (with delay~, +~, etc.). Now it makes perfect sense to me how zeroing a1, a2 and b2 causes biquad~ to function as a single pole filter. Thanks!