Accessibility Scotland meetup, Glasgow April 2019
Léonie Watson, TetraLogical
https://decks.tink.uk/2019/a11yscot/transcripts.html
Recognises human speech and converts it into text
Statistical speech processing, leading to greater recognition accuracy
Takes text and converts it into structured data
Takes structured data, processes it, and returns structured data
Takes structured data and converts it into text
Takes text and converts it into synthetic speech
VXML is parsed in voice browsers to create voice interfaces
<prompt>
element
<menu>
element
LaunchRequestHandler
const LaunchRequestHandler = {
...
handle(handlerInput) {
const speechOutput = "Hello world!";
return handlerInput.responseBuilder
.speak(speechOutput)
.reprompt(speechOutput)
.getResponse();
},
};
Describe the characteristics of synthetic speech
const speechOutput =
"The terror, which would not end for another twenty-eight years – if it ever
did end – began, so far as I know or can tell, with a boat made from a sheet
of newspaper floating down a gutter swollen with rain.";
<voice>
& <emphasis>
elementsconst speechOutput =
"
The terror , which would
not end for another twenty-eight years – if it ever
did end – began,
so far as I know or can tell ,
with a boat made from a sheet of newspaper floating down a gutter
swollen with
rain .
";
<p>
elementconst speechOutput =
"Hello, my name is Inigo Montoya. You killed my father. Prepare to die.
";
<lang>
& <break>
elementsconst speechOutput =
"
Hello, my name is Inigo Montoya.
You killed my father. Prepare to die.
";
<s>
elementconst speechOutput =
"Piglet sidled up to Pooh from behind.
'Pooh!' he whispered.
'Yes, Piglet?'
'Nothing', said Piglet, taking Pooh's paw.
I just wanted to be sure of you.";
<prosody>
elementconst speechOutput =
"
Piglet sidled up to Pooh from behind.
'Pooh!' he whispered.
'Yes, Piglet?'
'Nothing', said Piglet, taking Pooh's paw.
I just wanted to be sure of you.
";
<amazon:effect>
elementconst speechOutput =
"Shush! Be very, very quiet. ";
<say-as>
elementconst speechOutput =
"Frankly my dear, I don't give-a
damn !
";
interpret-as="interjection"
attributeconst speechOutput = "Cha ching! ";
SSML elements are not rendered in the DOM
SpeechSynthesisUtterance
objectvar utterance = new SpeechSynthesisUtterance();
.text
attributeutterance.text = "Tequila!";
.speak()
methodwindow.speechSynthesis.speak(utterance);
.getVoices()
methodvar tts = speechSynthesis.getVoices();
.voice
attributeutterance.voice = "Microsoft Hazel desktop - English (Great Britain)";
Describe the characteristics of content when spoken by synthetic speech
speak:;
property.content {
speak: auto;
}
voice-volume:;
property.content {
voice-volume: loud;
}
voice-rate:;
property.content {
voice-rate: x-fast;
}
voice-pitch:;
property.content {
voice-pitch: x-low;
}
News headline: Nothing happened!
Reported on 1 April
Nothing happened today. Everybody went and had a cup of tea instead.
.headeline {
speak: auto;
voice-volume: x-loud;
voice-rate: fast;
voice-pitch: high;
}
.date {
speak: auto;
voice-volume: soft;
voice-rate: x-fast;
voice-pitch: low;
}
Léonie Watson, TetraLogical