Nice suggestion, to use sound instead. We talked about it before. How are you going to do it? The duration of the sound should be variable, related to the set speed. With vibration it is easy to adjust the number of milliseconds to vibrate and similarly the waiting time between . and - and characters and words.
Everything is possible, but I really doubt if starting and stopping sounds really often is going to save you much battery power.
One approach I could think of is to allow only a limited set of speeds, like slow, normal and fast and have . and - sounds for each at exactly the required length.
Cheers, Ghica.