I just did. I'm using a $3 Arduino Nano replica and some wires to independently control 4 PWM fans and measure their RPM.
The fan speeds are controlled dynamically based on CPU and
GPU temperatures measured by a PC software sending commands to the Arduino.
It requires maybe an afternoon to build and configure it yourself, and with three Scythe Slipstreams regulated down to 200 RPM in idle this finally gives me an inaudible computer. You can find everything you need to set it up on the link below.
https://github.com/szarvas/fanduino