Finch Frontend, Edinburgh September 2019
Léonie Watson, TetraLogical
Recognises human speech and converts it into text
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
For millions of years mankind lived just like the animals. Then something happened that unleashed the power of our imagination: we learned to talk.
For millions of years mankind lived just like the animals. Then something happened that unleashed the power of our imagination: we learned to talk.
Never had much faith in love or miracles, never wanna put my heart on the line.
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();
},
};
Hey Jude, don't make it bad; take a sad song, and make it better.
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