The Google Assistant SDK makes it possible to integrate Google Assistant voice-capabilities into custom devices running on Raspberry Pi 3 and also on Linux, writes Google assistant product manager Chris Ramsdale. Licensing terms for commercial use are not yet clear, howver.
The Google Assistant SDK uses gRPC, an RPC framework originally developed at Google, to generate cross-platforms client and server bindings to its API for a variety of languages, including C++, Java, Python, Go, Node.js, and others. Among the reasons that led Google to choose gRPC, is it being suitable for bidirectional audio streaming. Specifically for the Raspberry Pi 3, Google provides a customizable Python sample that can record a voice query and play back the Google Assistant’s answer. The sample should also be usable on any platform where its dependencies can be installed.
The Google Assistant SDK allows developers to customize the interaction between the device and the Assistant, e.g., triggering the assistant when a button is pressed, getting the voice recognition transcript of a user request from the Assistant, and so forth. It is also possible to create custom commands with the aim to voice-control a device. This can be done either through IFTTT, or using Actions on Google for more advanced use cases. IFTTT is a free web-based service that allows end-users to create applets that are triggered by a change in some web service, e.g., Gmail, Facebook, etc., and carry through an action using another web service, e.g., sending an email, posting to Twitter, etc. Actions on Google are an API that allows developers to customize the conversations you can have with any Google Assistant devices. Actions on Google are similar to the Amazon Alexa SDK and Amazon Lex. Google, as Amazon also does, requires that Actions are submitted for review before they can become available.
The Google Assistant SDK is being offered as a developer preview, specifically so developers can prototype their hardware devices. Google is not disclosing licensing terms and suggests developers reach out if they are interested in commercial applications.