Complex Nonlinearities Episode 10: Gated Recurrent Distortion

GRU Architecture

A GRU is made up of two simple nonlinearities: the sigmoid and tanh nonlinearities, both shown below. While these curves look similar, note that the sigmoid function goes from 0 to 1, while the tanh function goes from -1 to 1.

Distortion Curve and Parameters

What makes this type of distortion so interesting, is its wonderful potential for parameterization. Specifically, the architecture we use here has 5 parameters: Wf, Wh, Uf, Uh, and bf. Below we show how these parameters can change the shape of the distortion curve.

Harmonic Response

As shown in the section above, GRU distortion can be very different depending on the parameters of the distortion. We show below how various parameters can get different types of harmonics responses.


As usual, we have implemented the above distortion unit as an open-source audio plugin (VST, AU). The source code is available on GitHub, and a video demo can be found on YouTube.



Jatin Chowdhury is a student.

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store