This demo uses the experimental Web Speech API, which is currently only supported by Blink-based browsers including Chrome 25+, Opera 27+, Samsung Internet, QQ Browser, and Baidu Browser.
This is how this web application works:
- Using the Web Speech API’s
SpeechRecognition
interface to listen your voice from a microphone - Send your message to API.ai (the natural language processing platform) as a text string
- Once the AI from the API.ai returns the reply text back, use the
SpeechSynthesis
interface to give it a synthetic voice.
Rename the .env.local
to .env
and fill the env vars:
APIAI_TOKEN=
APIAI_SESSION_ID=some_unique_session_id
The first one is an API.ai API key (Please get one by sign up with API.ai), and the second one is a session ID, which is an arbitrary string (we could make this unique within the app, but that's beyond the scope of this demo).