The Mac OS speech synthesizer has a set of embedded commands that let you do things like change the pitch, speech rate, level of emphasis, etc. For example, you might use
That is [[emph +]]not[[emph -]] my dog!
To add emphasis to the word "not" in the phrase
That is not my dog!
Is there any such support in the iOS speech synthesizer? It looks like there is not, but I'm hoping against hope somebody knows of a way to do this.
As a follow-on question, is there a way to make global changes to the "Stock" voice you get for a given locale?" In the settings for Siri you can select the Language and country as well as the gender. The AVSpeechSynthesizer appears to only give you a single, semi-random gender for each language/country however. (For example the voice for en-US is female, en-GB is male, en-AU is female, with no apparent way to change it.)
I agree that it doesn't seem possible. From the docs, it seems Apple intends that you would create separate utterances and manually adjust the pitch/rate:
Because an utterance can control speech parameters, you can split text into sections that require different parameters. For example, you can emphasize a sentence by increasing the pitch and decreasing the rate of that utterance relative to others, or you can introduce pauses between sentences by putting each one into an utterance with a leading or trailing delay. Because the speech synthesizer sends messages to its delegate as it starts or finishes speaking an utterance, you can create an utterance for each meaningful unit in a longer text in order to be notified as its speech progresses.
I'm thinking to create a category extension to AVSpeechUtterance to parse embedded commands (as in your example) and automatically create separate utterances. If someone else has done this, or wants to help, please let me know. I'll update here.