>>> Hi, everyone. My name is amberley, if you
Didn't hear me speak a moment ago, you might have wondered if
I could communicate verbally. And i am.
If you are also able to communicate verbally on a dily
Basis, just imagine if you're not.
Maybe you got laryngitis and you had to write notes on a piece of
Paper or just message on your phone. Or maybe even traveled abroad to
A place where you couldn't speak the language.
And perhaps you use books or physical
Gestures, this is where you are temporarily
Inconvenienced. But imagine if that is not a
Temporary problem any more. Does anyone here know anyone who
Communicates primarily nonverbally?
Visibility is not the state of being during our lives we are on
The spectrum of abilities. Aging is an experience we all
Have in common that will affect our abilities in different ways.
Some people are born with a particular physical or cognitive challenge.
Roduced myself to you is similar to the way my
Sister would introduce herself to you.
She can only say the word "momma." As we grew up together, i
Watched her move from moving from pointing to print id
Printed pictures to text-to-speech
Functionality. Both are alternative
Communication, or aac, which means all kinds of communication
That are nonverbal. Many aac software solutions are
Out of reach to users across the globe particularly in other
Countries where around 5 to 15 p people who need solutions have
Access to them. Some of the reasons to that
Include, of course, cost. Historically the cost of some
Available software can be prohibitive and you need
Hardware to run the software. Limited language support.
This is growing. But historically that's growing,
Particularly for speakers of other language other than
English. And ecosystem.
Many apps are tied into particular app stores or pry pro
Proprietary systems. Portability.
Say you have a system on ios device and you no longer have
Access to your ios device. So so you need to use it on a
Web browser in most cases. The first who first envisioned
The project did not grow up with a nonverbal relative like i did.
He saw a youtube video where a girl could not communicate
Verbally. She could communicate by typing
One key on a keyboard at a time. He found it difficult to believe
There is so much disparity between what is going on in
Someone's head and what they can express. Anguage is hebrew.
There was one app that supported hebrew and it cost several
Hundred dollars. First he was frustrated, then
Inspired. What if you could make a free
Web-based alternative. I use a version of cboard to
Introduce myself to you a few minutes ago. But taking advantage of the
Thriving system, modern browser api development and tieing it
All together with progressive web apps, we are trying to build
It free, multilang wall, open sourced, web based alternative
E and platform independent and all wifi ready.
First, basic dive into a couple of the web apis making it
Possible to sort of dream without this open aac
Experience. And we will tie it all together
With progressive web apps. The challenge of producing human
Speech is not new. Speech recognition is available
For some time and you are constantly improving from voice
Dictation software to screen-writer software.
A browser-based api, while still experimental and nonstandard
Makes it possible to look toward producing web services that have
A lower bearing entry to develop speech interfaces and products
And services. The web speech api provides and
Interface for speech to text and text-to-speech.
With cboard we are concerned primarily with text-to-speech.
Using the api we can retrieve information about available
Voices on a device that could be coming from the operating system
Or the browser. And use the api to start and
Pause speech and tell the device what to say and how to say it.
So we will do a little bit of introduction to the two, to each
Of the apis.
We will take a quick look first at interfacing with the
Speechless interface. First, check for access to api.
For conversational purposes here, we will assume that we do.
Synthesis. The machine will verbalize it
For us. This will use default voice
Because we haven't specified. Through api you can get voicees.
That can be through the operating system or browser.
And then we can start doing interesting things
Like getting voices tailored for english or
Tailored for spanish, depending on the language of the user.
You can modify the different udderrances here.
I'm lowering the pitch a little bit from default.
You can increase rate. Lower volume to tailor a speech
To how you want to come across. And the previous example,
Default is english. I put in a string of hello and
It will verbalize hello in an english voice.
Or in spanish, hola. Instead specify the english, or
Spanish, the spain locale. Oice
We want. That's the basic how we are
Providing text-to-speech. Let's talk about multilanguage
Support. We can vehiclallize and we need
To handle multiple languages and translations.
And translate into locale specific instances.
This is the internationalization api.
And this is the process of creating something that will
Work well or be easily adapted for users from different kul
Tiers and regions or people who speak in a different language.
The api provides functionality for three key areas.
Strength comparison. Number of formatting and date
And time formatting. I use the word locale.
Locale refers to and locales are defined by
Language tags that primary have a language code, like en for
English. Or have a country code, like
U.S. For u.S. English or ub for british english.
There is a date localization. Create a new date for today.
Assuming we have access to the ap i, we can use the daytime
D and ven jait a generate a locale for u.S. English.
And we can specify , 5/7/2018.
Question optionally provide different options like here,
Providing year and day and month and weekday as long.
So using the same option, we will receive monday, may 7th.
Using the exact same thing but supplying german locale, we will
Instead get the german
Translation. Sorry for german speakers.
The internationalization api is not the internationalization
Framework. We use the question of libraries
That build on the utilities provided by nationalization api.
Raising the reactions library. So first, i'm using the method
From reactor international to languages we are supporting.
This small demo. Earlier we said hello.
And we changed our options. >> Hello.
>> So you want to once again say hello in spanish instead, and we
Can have speech localized for spanish.
And again, publishing that. It is registering this locale
Data. That includes information like
Er. Then for each locale we support,
Providing different translations.
So for example, we saw, what would you like to say.
You like to say.
When we have locale sets to eses, it will tul pul from pull f
Rom ings on file.
Now we need locale settings to be accessible to our app.
The library has an international provider. Which provides the
Internationalization context and functionality that allows us to
Toggle back and forth between languages.
, In this case, formatted message
Component. Here we have app that today and
Default message of today. So there is no translation
Supplied. It will automatically return a
Default message of today. But in our translation files, if
We choose enen, this will be what we have today as we would
Exphect. And eses, will be deploy.
So now, if we provide these translations to the
International provider through specify
Today we will get oy as we suspect.
This is providing us this speech.
Days, dates, numbers, et cetera. But we will talk a little bit
About how progressive web apps are solving problems for us in
Providing an experience and access to some aac solutions.
As many of you know, progressive web apps take advantage of
Modern browser features to have a native experience similar to
Apps. This is the key puzzle piece in
Our attempt to solve something that solves the gaps as we
Talked about earlier. We can tie together the modern
Browser functionality and make it available cross-browser and
Cross-platform for users that don't necessarily have access to
A particular device that can use a particular app from the ios
App store, et cetera. It supports our goals of device
Agnostic because you need a device that can run a modern
Browser and it is not limited to a particular ios or brand of
Hardware. It provides reliable off line
Experience. If you think about it, if you
Your speech was limited to when you have wifi access or cell
Access, that would be frustrating.
And gracefully handling challenging connectivity
Situations. Good en, tying back to the stat
Earlier, 5 to 15 of people not having access to tech.
And operating under challenging conditions, whether that is
Internet speeds or unreliable internet conditions.
Again, with no need to any particular app store, all you
Find that to a ink there and ink and you're
Good go. Apps were for example, on-line
Ready and not necessarily tied to connectivity, those are
Things that we can take advantage of, tying together the
Web. And an experience using
Progressive web apps. So these concepts all move
Together to support our vision
Of communication solution as accessible as possible to as
Many people as possible. The future is open.
It might sound interesting, but a lot of these -- a lot of the
Functionality of the modern browser ap is weren't
Accessible for people to really use and develop on and opening
It up in the web browser is really exciting.
There is so much going on in the space i mentioned earlier that
The person you envision in this project is a 51 hebrew option a
Few years ago. There are so many solutions now.
Our project is one small part of that.
So yes, we're very excited about the concept. The idea of bringing solutions
To the other 75 of people around the world who maybe
Previously weren't able to communicate or
Access those solutions.