I've tried this (or similar, own implementation), but got stock on weird requirements that some services imposed. In about 50% of cases, I had to modify generated password anyway (usually make it shorter). So instead of remembering password, I had to remember what restriction which service had.
Services should publish, in a computer-readable format, what the password requirements are.
Unfortunately many places consider this information sensitive and protect it fiercely.