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