I started assembling the parts for the Ed Cheung "No Hum" fan controller.
I'm going to use a UPB dimmer instead of the X-10 in the original design, and wire it as a module in a junction box in the ceiling rather than in the wall.
I have a couple of large caps from a manual fan controller I plan on using.
You could use one of the contact closure modules, like the SA UMI-32.
Wire it in a junction box to get the control signals to the module.
The 2 contact closure outputs could close relays that placed additional caps in series with the fan.
Caps in series reduces the overall capacitance and reduces the speed.
So you could use a wall switch in the on off mode for on off and the high speed and send UPB commands to the module to open or close the relays to modulate the speed.