algorithmic chord progression generator that modulates between given start and end key