I want to extend my Watson Assistant and have it fetch information from an external source (via an HTTP REST API service call) so that I could have richer interactions in my dialogs. For example, bring the weather forecast to my the chatbot conversation.
In March 2016 IBM announced an internal contest for IBMers. Contest goal was to create a fun IoT Gadget. At the time I had recently joined the company, so that contest was the perfect excuse to get hands-on experience with IBM cognitive technologies. It was a chance to build something with Artificial Intelligence, Cloud Computing, Internet of Things and whichever other technology I could find in IBM Bluemix (now called IBM Cloud). Continue reading “Cognitive Candy Project: a voice-enabled candy dispensing machine”
When using IBM Watson Speech to Text (STT) and Text to Speech (TTS) services for my Cognitive Candy project I started off using WAV file format. That was the easy choice since WAV is a raw audio format requiring no additional software for encoding. Continue reading “Comparison of WAV, FLAC and OGG audio formats: size and latency”
A lesson learned from my Cognitive Candy project is that Candy’s response time is a key factor for a great user experience. When people talked to Candy, they expected ‘her’ to respond in the same cadence a person would. People’s excitement and engagement level seemed to quickly drop off if response time were too long. Continue reading “Improve Watson Text to Speech latency by 99% with Caching”
IBM recently launched a service called OpenWhisk; a distributed compute service to execute application logic in response to events. The most notable advantages of such serverless framework is: Continue reading “Serverless Node-Red applications with OpenWhisk and Docker”
In this article, I describe how I implemented Wake-Up-Word Speech Recognition on a Raspberry Pi with PocketSphinx. Continue reading “Wake-Up-Word Speech Recognition on a Raspberry Pi with PocketSphinx”