As far as I'm concerned, the 1938 Pygmalion starring Wendy Hiller and Leslie Howard is far better than the terrible 1964 My Fair Lady movie adaptation of the Lerner and Loewe Broadway smash musical. The movie got by on Rex Harrison and the great music, barely. It was one of those cases where Hollywood insisted on casting a star--Audrey Hepburn, who was voiced by Marnie Nixon--instead of Broadway sensation Julie Andrews, who went on to score in the blockbuster movie musicals Mary Poppins and The Sound of Music instead!
Cameron MacIntosh knows how to do a musical. But can Knightley sing? UPDATE: She sings in her next, The Edge of Love.
Hard to tell from this YouTube evidence (she sings better than Scarlett Johansson, at any rate):
Here's Hepburn's unadulterated real voice in a clip from My Fair Lady:
And here's Andrews in all her glory on Broadway: