6. A computer-implemented method comprising: receiving, by a computing device comprising one or more processors, a first request to generate a first audio representation of a first text; determining, based at least on a first characteristic of the computing device, to use a local text-to-speech module to generate the first audio representation; generating the first audio representation using the local text-to-speech module; receiving a second request to generate a second audio representation of a second text; determining, based at least on a second characteristic of the computing device, to use a remote text-to-speech system to generate the second audio representation; sending the second text to the remote text-to-speech system; and receiving the second audio representation from the remote text-to-speech system.
6. A computer-implemented method comprising: receiving, by a computing device comprising one or more processors, a first request to generate a first audio representation of a first text; determining, based at least on a first characteristic of the computing device, to use a local text-to-speech module to generate the first audio representation; generating the first audio representation using the local text-to-speech module; receiving a second request to generate a second audio representation of a second text; determining, based at least on a second characteristic of the computing device, to use a remote text-to-speech system to generate the second audio representation; sending the second text to the remote text-to-speech system; and receiving the second audio representation from the remote text-to-speech system. 14. The computer-implemented method of claim 6 , further comprising: determining to store second voice data on the computing device based at least on usage data regarding previous requests for audio representations, the second voice data corresponding to the second voice; and receiving the second voice data from a server for storage on the computing device.