For the UI, we've looked at how other software does it. Usually there is a fixed string that is translated into the correct language and used for generating the sample.
Google Cloud TTS says: "With cloud machine learning, your application interprets images, texts, and more"
Siri says: "Hello. My name is Ralph (or whatever)"
Windows 11 says: "You have selected |voice name| as the default voice"
Sometimes, the sample text can be changed.
In the older SAPI interface (Windows 7 and before), Microsoft gives users a text box to specify the sample text.
The rate should affect the sample
We should try to handle the case where the user runs through the voices quickly in the "selected voices" table. The experience shouldn't be sluggish.
The approach we're going to try first is that the UI will fetch and cache audio files for some voices that are most likely to be requested next by the user. The user might get a “fetching previews” waiting message sometimes but it would speed up as the number of cached previews increased. For the case where the user inputs text to be generated as a preview, then it’s OK if they wait a second.
The web interface will be a link to a wav or mp3 file. The endpoint will be:
The message should probably be optional. If omitted, a stock message in the correct language will be played.
For the TTS engines that support changing the speech rate, the sample is affected by the org.daisy.pipeline.tts.speech-rate property. The "speech-rate" parameter is optional and can be one of the following:
x-slow, slow, medium, fast, x-fast, or default
a non-negative percentage, which acts as a multiplier of the default rate
a number that represents speaking rate in words per minute
We discussed the following:
For the UI, we've looked at how other software does it. Usually there is a fixed string that is translated into the correct language and used for generating the sample.
Sometimes, the sample text can be changed.
The rate should affect the sample
We should try to handle the case where the user runs through the voices quickly in the "selected voices" table. The experience shouldn't be sluggish.
The approach we're going to try first is that the UI will fetch and cache audio files for some voices that are most likely to be requested next by the user. The user might get a “fetching previews” waiting message sometimes but it would speed up as the number of cached previews increased. For the case where the user inputs text to be generated as a preview, then it’s OK if they wait a second.
The web interface will be a link to a wav or mp3 file. The endpoint will be:
http://localhost:8181/ws/voices/$ID/preview?message=foo+bar&speech-rate=120%
The ID of the voice will be included in the result of the
http://localhost:8181/ws/voices
endpoint, e.g.:The message should probably be optional. If omitted, a stock message in the correct language will be played.
For the TTS engines that support changing the speech rate, the sample is affected by the
org.daisy.pipeline.tts.speech-rate
property. The "speech-rate" parameter is optional and can be one of the following: