An architecture is provided for sharing text-to-speech (TTS) resources. A TTS controller manages the allocation of the TTS resources. An application provides a conversion request which is provided to a first queue. An available TTS resource begins a conversion upon sentence boundaries and converts a predetermined minimum amount of text. Once a sufficient amount of text is converted, the digitized speech data is played to a user. The amount of converted data is monitored during the playback operation. As the totality of the converted data falls below a predetermined minimum the TTS controller is notified. If more text remains in a message being converted, the TTS controller places a request into a second queue. The second queue has a higher priority so that continuing conversions are completed before subsequent conversions begin. The user is able to cancel this conversion operation at any time. By cancelling this conversion operation, TTS resources are conserved by not unnecessarily converting the whole text message.