google speech kit

  • Electronics
  • Computers & Accessories
  • Computer Components
  • Single Board Computers

No featured offers available

  • Quality Price,
  • Reliable delivery option, and
  • Seller who offers good customer service

Sorry, there was a problem.

google speech kit

Image Unavailable

Google AIY Voice Kit

  • To view this video download Flash Player

Google AIY Voice Kit

Brand in this category on amazon.

google speech kit

Top Brand: Google

Product information.

Product Dimensions 12.2 x 8.66 x 5.12 inches
Item Weight 1.05 pounds
ASIN B075SFLWKX
Item model number GOOGLEAIY V1
Customer Reviews
4.2 out of 5 stars
Best Sellers Rank #1,102 in
Is Discontinued By Manufacturer No
Date First Available October 29, 2017

Fields with an asterisk * are required

: : : Enter the store name where you found this product : Please select province : to provide feedback. \n' + ' ' ); } function getThankYouDiv(thankMsg) { return ( ' \n' + '

' ); } function getLoadingGifDiv() { return '

Looking for specific info?

Videos for this product.

Video Widget Card

Click to play video

Video Widget Video Title Section

Rasim Muratovic

google speech kit

Product Description

Google AIY Projects brings do-it-yourself artificial intelligence to your maker projects. With this AIY Voice Kit from Google, you can build a standalone voice recognition system using the Google Assistant or add voice recognition and natural language processing to your Raspberry Pi based projects. The kit includes all of the components needed to assemble the basic kit that works with the Google Assistant SDK as well as on-device voice recognition with TensorFlow. To incorporate Google AIY into your Raspberry Pi projects, you will need a Raspberry Pi 3 Board, Micro SD Card, a size 00 Phillips screwdriver, and Scotch tape.

Brands in this category on Amazon

google speech kit

Customer reviews

  • 5 star 4 star 3 star 2 star 1 star 5 star 60% 18% 6% 10% 6% 60%
  • 5 star 4 star 3 star 2 star 1 star 4 star 60% 18% 6% 10% 6% 18%
  • 5 star 4 star 3 star 2 star 1 star 3 star 60% 18% 6% 10% 6% 6%
  • 5 star 4 star 3 star 2 star 1 star 2 star 60% 18% 6% 10% 6% 10%
  • 5 star 4 star 3 star 2 star 1 star 1 star 60% 18% 6% 10% 6% 6%

Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.

To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.

Customers say

Customers like the ease of use, value, and learning with the computer add on. For example, they mention the instructions are easy to follow, the kit is really nice for the price, and it's worth it for the components. That said, opinions are mixed on performance and quality.

AI-generated from the text of customer reviews

Customers find the computer add-on easy to use. They say the instructions are easy to follow, and the product is simple enough to program if you know a little about Linux. They also say it's fun to build and set up, and kids love putting it together. Customers also say the documentation provided is great but not up to date.

"...Those instructions look easy too follow as well.The additional items list is wrong in the description here...." Read more

"...all this in a cardboard box at this low price and programming it yourself is simply outrageous ...." Read more

"...The documentation it is provided with is great but not up to date. Still worth it for the components alone though!" Read more

"...But for the price it's worth it. Easy instructions and I was able to build this in about an 1-2 hours." Read more

Customers like the value of the computer add on. They say it's worth it for the components alone. Some mention that the cardboard box is a nice low cost solution. Overall, most are satisfied with their purchase and recommend it to others.

"... Excellent purchase . Will definitely be purchasing more. A rather impressive device once built, and kids love asking it questions...." Read more

"...To have all this in a cardboard box at this low price and programming it yourself is simply outrageous...." Read more

"...Only said “be sure the microphone is plugged in” Phooey! Returning a busted kit is costly and a waste of time...." Read more

"Kit is really nice for the price - but I struggled with the provided image for the sd card...." Read more

Customers find the computer add-on educational and fun to work on. They also say it's a great idea to build an interesting project along with their child and share a good moment. Customers also mention that kids love asking it questions.

"...A rather impressive device once built, and kids love asking it questions . Google AI seems to work better than the Amazon Echo AI...." Read more

"...It is a lot of fun to use . Try "Hey Google, can you play a game?"" Read more

"The Google AIY Voice kit is a fun weekend project . It's simple enough if you know a little about Linux...." Read more

"A great idea to build an interesting project along with your child and share a good moment, my daughter really loves it." Read more

Customers are mixed about the performance of the computer add on. Some mention that it works very well, while others say that it doesn't function with a Raspberry Pi 3 B+.

"... It doesnt seem to want to boot properly meaning i cant get it setup - so I'll need to tinker with it more...." Read more

"... Google AI seems to work better than the Amazon Echo AI. It seems to do pretty well understanding a 4 year old." Read more

"...AVOID. Most kits (like mine) will probably not work - ever! My “ Pi-hat” didn’t work - no audio out or in...." Read more

"...Otherwise speaker and mic seems to work OK . Playback part of test was not very loud." Read more

Customers are mixed about the quality of the computer add on. Some mention it's a great overall kit, impressive device once built, and awesome, while others say it'll waste time and money. The instructions are online and not as useful as YouTube videos.

"This is an excellent kit when put together properly and carefully. The instructions are VERY clear on how to make and program it...." Read more

"There is not enough information about compatibility or software configuration. I checked all the blogs including the developers git...." Read more

"This is a fascinating kit ! If you follow all the directions, you will have a Google Assistant up and working...." Read more

"Amateurish. Waste of time and money . AVOID. Most kits (like mine) will probably not work - ever! My “Pi-hat” didn’t work - no audio out or in...." Read more

Customers are dissatisfied with the image quality of the computer add-on. They mention that it doesn't work without modifications and that the card requires a Google AIY image.

"...Overall, the case looks like crap and I would be glad to pay a little more to get a decent plastic case...." Read more

"...and the image doesn't work without modifications to get the sound and demos working...." Read more

"The card requires Google AIY image . You can't just install a media center image..." Read more

Reviews with images

Customer Image

The cardboard is damn sturdy.

Customer Image

  • Sort reviews by Top reviews Most recent Top reviews

Top reviews from the United States

There was a problem filtering reviews right now. please try again later..

google speech kit

Top reviews from other countries

google speech kit

  • About Amazon
  • Investor Relations
  • Amazon Devices
  • Amazon Science
  • Sell products on Amazon
  • Sell on Amazon Business
  • Sell apps on Amazon
  • Become an Affiliate
  • Advertise Your Products
  • Self-Publish with Us
  • Host an Amazon Hub
  • › See More Make Money with Us
  • Amazon Business Card
  • Shop with Points
  • Reload Your Balance
  • Amazon Currency Converter
  • Amazon and COVID-19
  • Your Account
  • Your Orders
  • Shipping Rates & Policies
  • Returns & Replacements
  • Manage Your Content and Devices
 
 
 
 
  • Conditions of Use
  • Privacy Notice
  • Consumer Health Data Privacy Disclosure
  • Your Ads Privacy Choices

google speech kit

AIY Voice Kit: Inspiring the maker community

Aug 29, 2017

[[read-time]] min read

Article's hero media

Recently, we launched AIY Voice Kit , a do-it-yourself voice recognition kit for Raspberry Pi-based maker projects. Our initial offering sold out globally in just a few hours, so today, we’re happy to announce that more AIY Voice Kits will be available for purchase in stores and online in the coming weeks. You can pre-order your kit today with Micro Center.

The Voice Kit includes the same VoiceHAT (Hardware Accessory on Top), mic board, speaker, components, connectors and cardboard form for easy assembly that we first made available in the initial offering of Voice Kit with MagPi #57 in May. (Creative makers have since responded with their own recipes while waiting for more inventory.)  

The Google Assistant SDK is configured by default to bring hotword detection, voice control, natural language understanding, Google’s smarts and more to your Voice Kit. You can extend the project further with local vocabularies using TensorFlow , Google’s open source machine learning framework for custom voice user interfaces.  

Our goal with AIY Projects has always been to make artificial intelligence open and accessible for makers of all ages. Makers often strive to solve real world problems in creative ways, and we're already seeing makers do some cool things with their Voice Kits. Here are a few examples:

Cool things makers are doing with Voice Kit 

Martin Mander created a retro-inspired intercom that he calls 1986 Google Pi Intercom . He describes it as “a wall-mounted Google voice assistant using a Raspberry Pi 3 and the AIY Voice Kit.” He used a mid-80s intercom that he bought on sale for £4. It cleaned up well!

aiy-projects-2

Get the full story from Martin and see what Slashgear had to say about the project.

(This one’s for Dr. Who fans) Tom Minnich created a Dalek-voiced assistant.

Maker using AiY Voice Kit

He offers a tutorial on how you can modify the Voice Kit to do something similar — perhaps create a Drogon-voiced assistant?

aiy-projects-4

The Voice Kit is currently available in the U.S. We’ll be expanding globally by the end of this year. Stay tuned here, where we’ll share the latest updates.

The positive reception to Voice Kit has encouraged us to keep the momentum going with more AIY Projects. We’ll soon bring makers the “eyes,” “ears,” “voice” and sense of “balance” to allow simple, powerful device interfaces.

Your input is critical to helping us plan our next releases, so let us know how AI can improve your projects, and solve real problems. Join the conversation at hackster.io , and share what you’re working on using the #AIYprojects hashtag. We can’t wait to see what you make.

Related stories

Hero_1_A

This AI model is helping researchers detect disease based on coughs

Zordi

15 startups using AI to tackle big issues in infrastructure

Hero Image_Frame 2

New reporting and genAI tools to boost creative results

wildfires emea hero B

Wildfire boundary maps expand to new countries in Europe and Africa

How google uses ai to reduce stop-and-go traffic on your route — and fight fuel emissions.

education-keyword-hero

3 things parents and students told us about how generative AI can support learning

Let’s stay in touch. Get the latest news from Google in your inbox.

  • Español (Latam)
  • Bahasa Indonesia
  • Português (Brasil)

AIY Projects: Do-it-yourself AI for Makers

  • Replace physical buttons and digital displays (those are so 90's) on household appliances and consumer electronics (imagine a coffee machine with no buttons or screen -- just talk to it)
  • Replace smartphone apps to control devices (those are so 2000's) on connected devices (imagine a connected light bulb or thermostat -- just talk to them)
  • Add voice recognition to assistive robotics (e.g. for accessibility) -- just talk to the robot as a simplified programming interface, e.g. "tell me what's in this room or "tell me when you see the mail-carrier come to the door"

google speech kit

  • Android Things
  • AIYProjects
  • Artificial Intelligence
  • Rasberry Pi
  • google assistant sdk
  • AIY Projects

Gemma explained: What’s new in Gemma 2

Gemma explained: What’s new in Gemma 2

Gemma explained: RecurrentGemma architecture

Gemma explained: RecurrentGemma architecture

  • Docs »
  • Voice Kit overview
  • Edit on GitHub

Voice Kit overview ¶

google speech kit

The AIY Voice Kit is a do-it-yourself intelligent speaker built with a Raspberry Pi and the Voice Bonnet (or Voice HAT if using the V1 Voice Kit).

After you assemble the kit and run the included demos, you can extend the kit with your own software and hardware.

Also see the Voice Kit assembly guide .

To interact with the Google Assistant, convert speech to text, and perform other actions with the Voice Kit, the system image includes Python library with the following modules:

  • aiy.assistant : A collection of modules that simplify interaction with the Google Assistant API.
  • aiy.cloudspeech : APIs to simplify interaction with the Google Cloud Speech-to-Text service.
  • aiy.voice.audio : APIs to record and play audio files.
  • aiy.voice.tts : An API that performs text-to-speech.
  • aiy.board : APIs to use the button that’s attached to the Voice Bonnet’s button connector.
  • aiy.leds : APIs to control certain LEDs, such as the LEDs in the button and the privacy LED.
  • aiy.pins : Pin definitions for the bonnet’s extra GPIO pins, for use with gpiozero.

Voice Bonnet (Voice Kit V2) ¶

  • Audio Codec: ALC5645 [I²C address: 0x1A ]
  • MCU: ATSAMD09D14 [I²C address: 0x52 ]
  • LED Driver: KTD2027B [I²C address: 0x31 ]
  • Crypto (optional): ATECC608A [I²C address: 0x62 ]
  • Microphone: SPH1642HT5H-1 x 2
  • MCU driver: modinfo aiy-io-i2c
  • MCU PWM driver: modinfo pwm-aiy-io
  • MCU GPIO driver: modinfo gpio-aiy-io
  • MCU ADC driver: modinfo aiy-adc
  • LED driver: modinfo leds-ktd202x
  • Software PWM driver for buzzer: modinfo pwm-soft
  • Sound drivers: modinfo rl6231 rt5645 snd_aiy_voicebonnet

Pinout (40-pin header) ¶

Also see the Voice Bonnet on pinout.xyz .

Voice HAT (Voice Kit V1) ¶

  • Audio Amplifier: MAX98357A
  • Microphone: ICS-43432 x 2

Schematics ¶

  • Microphone Board
  • googlevoicehat-codec.c
  • googlevoicehat-soundcard.c
  • googlevoicehat-soundcard-overlay.dts

Manual overlay load:

Load overlay on each boot:

Also see the Voice HAT on pinout.xyz .

Troubleshooting ¶

See the Voice Kit help .

Navigation Menu

Search code, repositories, users, issues, pull requests..., provide feedback.

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly.

To see all available qualifiers, see our documentation .

  • Notifications You must be signed in to change notification settings

Latest commit

File metadata and controls, voice kit overview.

google speech kit

The AIY Voice Kit is a do-it-yourself intelligent speaker built with a Raspberry Pi and the Voice Bonnet (or Voice HAT if using the V1 Voice Kit).

After you assemble the kit and run the included demos, you can extend the kit with your own software and hardware.

Also see the Voice Kit assembly guide .

To interact with the Google Assistant, convert speech to text, and perform other actions with the Voice Kit, the system image includes Python library with the following modules:

  • aiy.assistant : A collection of modules that simplify interaction with the Google Assistant API.
  • aiy.cloudspeech : APIs to simplify interaction with the Google Cloud Speech-to-Text service.
  • aiy.voice.audio : APIs to record and play audio files.
  • aiy.voice.tts : An API that performs text-to-speech.
  • aiy.board : APIs to use the button that’s attached to the Voice Bonnet’s button connector.
  • aiy.leds : APIs to control certain LEDs, such as the LEDs in the button and the privacy LED.
  • aiy.pins : Pin definitions for the bonnet's extra GPIO pins, for use with gpiozero.

Voice Bonnet (Voice Kit V2)

  • Audio Codec: ALC5645 [I²C address: 0x1A ]
  • MCU: ATSAMD09D14 [I²C address: 0x52 ]
  • LED Driver: KTD2027B [I²C address: 0x31 ]
  • Crypto (optional): ATECC608A [I²C address: 0x62 ]
  • Microphone: SPH1642HT5H-1 x 2
  • MCU driver: modinfo aiy-io-i2c
  • MCU PWM driver: modinfo pwm-aiy-io
  • MCU GPIO driver: modinfo gpio-aiy-io
  • MCU ADC driver: modinfo aiy-adc
  • LED driver: modinfo leds-ktd202x
  • Software PWM driver for buzzer: modinfo pwm-soft
  • Sound drivers: modinfo rl6231 rt5645 snd_aiy_voicebonnet

Pinout (40-pin header)

Also see the Voice Bonnet on pinout.xyz .

Voice HAT (Voice Kit V1)

  • Audio Amplifier: MAX98357A
  • Microphone: ICS-43432 x 2
  • Microphone Board
  • googlevoicehat-codec.c
  • googlevoicehat-soundcard.c
  • googlevoicehat-soundcard-overlay.dts

Manual overlay load:

Load overlay on each boot:

Also see the Voice HAT on pinout.xyz .

Troubleshooting

See the Voice Kit help .

Google

A smarter phone number

A Voice number works on smartphones and the web so you can place and receive calls from anywhere

Save time, stay connected

From simple navigation to voicemail transcription, Voice makes it easier than ever to save time while staying connected

Image showing Google Voice's calls page and voicemail page.

Take control of your calls

Forward calls to any device and have spam calls silently blocked. With Voice, you decide who can reach you and when.

Image showing Google Voice's spam page, showing a list of calls that were marked as spam

Apple, the Apple logo, and iPhone are trademarks of Apple Inc., registered in the U.S. and other countries.

google speech kit

DroneBot Workshop

DroneBot Workshop

Arduino, ESP32, Electronics, IoT, Raspberry Pi and Robotics – Welcome to the Workshop!

Hacking the Google AIY Voice Kit – Part 2- Voice Control

Table of Contents

  • 1 Introduction
  • 2.1 New AIY Raspbian Build
  • 2.2 Updating the AIY Raspbian Build
  • 3.1 HAT Functionality
  • 3.2 HAT Connections
  • 3.3 Alternatives to the AIY Voice HAT
  • 4.1 Setting up a Billing Account
  • 4.2 Google Cloud Speech API Setup
  • 5.1 Cloud Speech Demo
  • 5.2 Speech Triggers
  • 5.3 Assistant Library with Local Commands
  • 6.1 LED “Traffic Light” Hookup
  • 6.2 LED “Traffic Light” Code
  • 6.3 Testing the LED “Traffic Light”
  • 7.1 Controlling DC Motors with PWM
  • 7.2 Motor Control Hookup
  • 7.3 Motor Control Code
  • 7.4 Testing the Motor
  • 8.1 Resources

Introduction

The Google AIY Voice Kit is a package that consists of a custom Raspberry Pi HAT (Hardware Attached on Top) board, a stereo microphone board, a push button switch with integrated LED, a small speaker and an assortment of cables and hardware to attach everything to a Raspberry Pi 3.  Everything fits together in a cute little cardboard box.

For instructions on putting the AIY Voice Kit together please see the first article and video in this series “ Hacking the Google AIY Voice Kit – Part 1 – Putting it Together ”.

In addition to the Raspberry Pi 3 you’ll also need to supply a micro-SD card to hold the Raspbian operating system and a USB power supply to provide power for your creation.  The custom version of Raspbian can be downloaded from the Google AIY website.

Once you have it all assembled you can run a couple of Python programs supplied by Google to turn your cardboard box into what is essentially a version of the Google Home Mini.  Talking to a cardboard box was never as fun as this!

But the real power of the AIY Voice Kit lies in its ability to integrate with the Raspberry Pi and control devices attached to your microcomputer.  Using the Google AIY Voice Kit you can construct custom projects with a powerful voice interface

In this article I’ll show you how I took my AIY Voice Kit out of the box and used it to build a (somewhat silly) LED-based “Traffic Light” and control the speed of a DC Motor.  I’ll also show you how to setup the Google Cloud Speech API and how to modify some of the sample Python code to control your projects by simply speaking to them

So let’s get started!

The Google AIY Voice Kit

As we discussed in the original article the Google AIY Voice Kit is the first in Googles AIY series of projects . The term “AIY” is a “sort of” acronym for “Artificial Intelligence Do It Yourself”, an initiative of Google’s to provide low cost development environments for experimenting with cutting edge artificial intelligence technologies.

Hacking the Google AYI Voice Kit Part 2

Google has also released the AIY Vision Kit which uses a Raspberry Pi Zero and a Pi Camera to experiment with computer vision. As soon as I can get my hands on one (as of this writing they are very hard to obtain) I’ll definitely get working with that as well.

With the Voice Kit Google has made it possible for experimenters to easily add speech recognition and voice feedback to their projects.

Of course Google is not the only company that has opened up their voice control technology to experimenters. Amazon has also done this with their Alexa API which they provide to allow you to work with their Alexa voice assistant.

It seems like in the future we’ll be doing a lot of talking to out little electronics projects!

New AIY Raspbian Build

If you followed along with the first article and video there is something you need to be aware of before you embark upon this latest voice control adventure.

The original article (and video) were made in December 2017 and for them I used what was the latest AIY Raspbian build. Since then Google has released a new build of AIY Raspbian and it has some significant changes. This article and video use the latest build (January 2018)  so if you are still on the hold build you need to be aware of the changes. I’ll go over them now.

The principle change with the new AIY Raspbian build is that it is not just designed for the AIY Voice Kit, it also has code for the AIY Vision Kit.  Because of this Google has changed the file structure for the sample code and demo files, so if you attempt to run the commands that worked perfectly in the older build you’ll be greeted with a “file not found” error.

In the old build the sample code was all in the home/pi/AIY-voice-kit-python/src/ directory.  As the Dev Terminal (the development command-line terminal on the AIY Raspbian Desktop) opens up in the home/pi/AIY-voice-kit-python/ directory you only needed to type src/ plus the name of the python file you wanted to run. For example the Assistant Library Demo was run with the command src/assistant_library_demo.py .

In the new build the some code is now held in the home/pi/AIY-voice-kit-python/src/examples/voice/ directory,. As the Dev Terminal still opens up in the home/pi/AIY-voice-kit-python/ directory you now need to type src/examples/voice/ before the file name. So the Assistant Library Demo is now run by typing   src/examples/voice/assistant_library_demo.py at the command line.

Updating the AIY Raspbian Build

Because of the file structure change you can’t just type sudo apt-get update and sudo apt-get upgrade in a command line to update your build. You actually need to install a brand new build by downloading the image from the Google AIY website and using it to burn a new micro-SD card.

Before you install your new micro-SD card you’ll need to get a copy of the assistant.json file that you created in the original build (this is the file that you downloaded from the Google Cloud Console and renamed). You’ll find that in the root of your home directory, which is the “pi” folder.

Copy that file to a safe place before you do your upgrade. I used a file server on my local area network but an easier method might be to simply use a USB thumb drive that you plug into one of the Raspberry Pi 3 USB ports.  However you do it make sure you save the file in a safe place, as you’ll need to reinstall it on the new build.

If you created any other custom files on the original micro-SD card you’ll want to copy those as well.

Now burn the image to a new micro-SD card – I’d advise not overwriting the old one just in case something goes wrong, it’s nice to have a backup.

Remove the old micro-sd card from your Raspberry Pi and install the new one. Power it up.

After it powers up and you arrive at the Raspberry Pi desktop copy the assistant.json file into the “pi” directory.  You’ll also want to setup your WiFi connection and set the correct locale for your keyboard, time zone and wireless network.  You can do that from the Preferences application, a reboot is required to make it all take effect.

Now that you’ve brought your software up to the latest version it’s time to begin controlling the world (or at least your little piece of it) with your voice.

AIY Voice HAT for Raspberry Pi

The main hardware component in the Google AIY Voice Kit is the AIY Voice HAT. Like any other HAT this is a board that attaches to the Raspberry Pi via the 40-pin GPIO.

The HAT is where you’ll be attaching external devices that you can then control with your voice.  As such you may find it easier to work with if you remove the whole Raspberry Pi and HAT combination from the confines of it’s cardboard prison.  It will make the wiring a lot easier.

In my case I went to extremes here. Not only did I remove the Raspberry Pi, HAT, microphone board and push button from the cardboard box, I also mounted everything onto a custom-built experimenters board of my own design.  I piggybacked the HAT with a “Pi Cobbler”, a device that lets you bring out all 40 pins of the GPIO to a solderless breadboard. This will provide me with a lot of flexibility in designing custom voice-controlled projects, as well as with experimenting with the Raspberry Pi in general.

Raspberry Pi Experimenters Platform

Now I certainly don’t expect that everyone will follow my lead and build a custom experimenters platform, but it is a good idea to at least remove the Raspberry Pi and the HAT from the cardboard box so it is easier to work with it. You can always put it back into its cardboard home when you are done!

HAT Functionality

As the HAT is the main hardware component in the AIY Voice Kit we should take a closer look at it.

In many respects the AIY Voice HAT is really a fancy sound card. It takes input from the microphone board and digitizes it to send up to the Google Cloud. It does NOT recognize or interpret the voice by itself.

When the response is returned by Google the AIY Voice HAT takes that response and converts it into sound. Its built-in audio amplifier is used to drive the speaker.  The AIY Voice HAT is actually capable of stereo output but by default it just drives the left speaker in monophonic mode.

The AIY Voice HAT also has connections to the Raspberry Pi GPIO exposed on a number of pins for convenience in attaching external devices. Let’s look at these pins now.

HAT Connections

In addition to the 40-pin Raspberry Pi GPIO connector the Google AIY Voice HAT has the following connections:

AIY Voice HAT Connections

  • Microphone – A 5-pin connector to attach the stereo microphone board.
  • Pushbutton – A 4-pin connector for the pushbutton with integrated LED.
  • Driver Outputs (4) – Each of these is a 3-pin connection. One pin goes to ground, one goes directly to a GPIO pin and the other one is the same GPIO output with a driver transistor for handling up to 500 ma of current.
  • Mono/Stereo Jumper – Shorting this will enable the Right audio channel for Stereo output.
  • 2nd Speaker – A connection for the Right speaker when operating in Stereo mode.
  • External Power Supply – Connections for an external power supply, used when driving high-current devices that would be too taxing on the Raspberry Pi 5-volt power supply.
  • External Power Jumper – This pad needs to be cut (broken) to use the External Power supply.
  • Servo Motors (6) – Each of these 3-pin connections can be used to drive a servo motor. They can also be used to drive LEDs and other low current devices.
  • I2C Bus – A connection to the Raspberry Pi I2C bus for attaching external I2C devices.
  • Serial RX & TX – A connection to the Raspberry Pi serial receive and transmit lines.
  • SPI Bus – A connection to the Raspberry Pi SPI bus for connecting SPI peripherals.

The AIY Voice HAT does not come with pins soldered for these connections, instead they are just empty holes on the printed circuit board. You can solder pins into the holes as you require them, solder in all of them (which is what I did) or just solder wires directly into them.

AIY Voice HAT Pins Top View

You’ll notice form this image that I also soldered a 2.1 mm barrel connector into the External Power Supply connections, the board is laid out to accept this type of connector. This is the same type of power connector used on most Arduino boards.

I found that the holes on the AIY Voice HAT board were a bit too small for my barrel connector to fit flush with the board so I “squeezed” the pins a bit to make them fit! This resulted in the connector being mounted a bit elevated from the board. A quick test with a multimeter confirmed that the connections were sound.

AIY Power Connector Side View

The above image is a side view of the power connector.

Now that I had my pins soldered I was ready to connect things to my Google AIY Voice Kit.

Alternatives to the AIY Voice HAT

Some people have found it difficult to obtain a Google AIY Voice Kit, although the availability seems to be improving. I had listed four sources for the kit in the original article, there are more now (I noticed that DigiKey now seems to stock them for example) .

If you can’t find an AIY Voice Kit and really don’t need the cardboard box there are other alternatives.

One of them is the ReSpeaker series of microphone HATs made by Seeed Studio. There are a number of different models of these, some of them retailing for under 20 US dollars.  These HAT’s include multiple microphones, connections for both speakers and headphones and also connections to some of the Raspberry Pi GPIO ports.

These boards can be used with both the Google Cloud Speech API and the Amazon Alexa Voice Services API. Many of them are of a smaller form factor (sometimes called a P-HAT) that are ideal for use with the lower powered Raspberry Pi Zero.

So if you can’t get a hold of a genuine Google AIY Voice Kit you can still experiment with voice control using one of these alternative HATs.

Google Cloud Speech API

In order to build your own voice controlled projects you’ll need to write code to interface with the Google Cloud Speech API .  This API is the heart of all of the Google voice services that we know and love (at least I love them, I don’t know about you).

The Google Cloud Speech API converts spoken audio into text. It can “speak” 110 languages and variants so it is by no means limited to English, or even to American English.

Google has provided this API to developers around the world so that they can integrate it into their projects and designs.  However, before you nominate the Google design team for sainthood for providing this wonderful gift to the world you should be aware of something – the Google Cloud Speech API is not free.

In order to use the Cloud Speech API you’ll need to pay for the services. Don’t panic, the experiments you are about to perform won’t cost you a penny. But you will need to setup a billing account, and we will look at doing that now.

Setting up a Billing Account

In order to make use of the Google Cloud Speech API you’ll need to have a billing account so that Google can be paid for their services. It is very unlikely that you will ever be charged however as Google provides a very generous free allotment of Cloud services (Speech and other services).

You’ll get a credit for 300 US dollars worth of Cloud Services when you setup your billing account. This free allotment is valid for one year from the date you setup your account, parceled out as 60 minutes of use per month.  If you about to exceed the free amount Google will warn you so that you don’t have any surprises on your next credit card statement.

Performing all of the experiments in this article and video will likely use up about a minute of your allotment.  You can monitor your usage through the Google Cloud Console.

If you reside in Europe you should be aware that you’ll probably need to set up a Business billing account instead of a personal one. The Cloud Speech API is only available to business accounts in certain European countries. You can check with Google for more information if this applies to you.

To setup a billing account go to the Google Cloud Platform Console at https://console.cloud.google.com/home/dashboard . If you followed along with the first article and video you will already have an account here, otherwise set one up using your Google (i.e. GMail) credentials.

Open the left-side menu by clicking the menu icon in the top left corner. Select the Billing item in the menu.

Click the prompt to Manage Billing Accounts. You’ll then get to a screen where you have an option to setup a new billing account.

The payment options for the billing account will depend upon which country you reside in. Unfortunately PayPal is not an option, only credit and (some) debit cards are valid payment options.

Enter your payment method information as required. You’ll need to agree to Google’s license agreement and will also have the option to subscribe to a Cloud Services newsletter.

Once you have set up billing successfully you are ready to setup the Cloud Speech API to use with your Google AIY Voice Kit.

Google Cloud Speech API Setup

There are several steps required to setup the Google Cloud Speech API.  You’ll need to attach the billing account you created to the project you are using (the same project you setup in the original article and video) , you will create a Service Account and download a JSON file with it’s credentials and you’ll need to enable the Cloud Speech API itself.

Here is a step-by-step breakdown of what you need to do. You can also follow along in the video associated with this article.

  • Login to Google Cloud Platform on Pi – console.cloud.google.com
  • Go to drop-down at top (if more than one project)
  • Select required project from list
  • Select Billing (left-side menu)
  • If you have already created an account you want to use select “Link a Billing account” and select the account from the list
  • Otherwise select “Manage Billing Accounts” and select “Create a Billing Account” to create a new account.  Agree to the Terms of Service You will need a valid payment method such as a credit card. You are provided with $300 USD of free credits and will be informed if you are about to exceed them
  • Go to APIs and Services (on left side menu)
  • Select Credentials from sub-menu
  • Click Create Credentials
  • Select Service Account Key from drop-down menu
  • Select New Service Account from “Select” drop-down list (only item available)
  • Give account a name (i.e. My_Pi_AIY_Services)
  • Select Project under “Role”
  • Leave JSON radio button selected
  • Click “Create”. A download dialog box will display
  • Download file to default location on Pi (/home/Pi/Downloads)
  • After download a confirmation box will display. Close the box
  • Open File explorer. Navigate to Downloads folder
  • Rename (right-click on file and choose “Rename”) to “cloud_speech.json (case-sensitive, all lowercase)
  • Copy or move file to Home directory (/home/pi). This is the same folder as the “assistant.json” file made in last article/video
  • Return to Menu on left side
  • Select APIs and Services
  • Select Library sub-menu. API Library page will open
  • Search for “Speech API”. Select “Google Cloud Speech API”
  • Enable the API. Select Enable Billing when prompted and then click Enable to enable the Speech API
  • This completes the Speech API setup on the Google Cloud Platform

You are now ready to use the Google Cloud Speech API. The next step is to test everything to be sure that it’s working correctly.

Testing the Cloud Speech API

Minimize the web browser and search the AIY Raspbian desktop for an icon that says “Check Cloud”. Click on that icon.

If everything is working well a terminal window will open up and some text saying that the connection to the Google Cloud is being checked.  That should be followed by a message saying that the connection to the cloud was successful.

If this works give yourself a pat on the back – you’ve got the most difficult part of the job finished!

On the off chance that the test fails make sure your Internet connection is good. Keep in mind that while the Google AIY Voice Kit instructions specify WiFi as a connection method everything will also work with an Ethernet cable plugged into the Raspberry Pi. In some cases this may be a more reliable method of connecting to the Internet.

Assuming you have successfully connected to the cloud you can proceed with the following demonstrations, which actually use the Cloud Speech API.

Cloud Speech Demo

The first demonstration that you should try is the Cloud Speech Demo. This script will test all of the essential voice recognition functions, it will capture and interpret your commands and use them to control the LED embedded inside the push button switch.

Here is the Cloud Speech Demo code, which like all of these examples is written in Python.

"A demo of the Google CloudSpeech recognizer.""" aiy.audio aiy.cloudspeech aiy.voicehat main(): recognizer = aiy.cloudspeech.get_recognizer() recognizer.expect_phrase('turn off the light') recognizer.expect_phrase('turn on the light') recognizer.expect_phrase('blink') button = aiy.voicehat.get_button() led = aiy.voicehat.get_led() aiy.audio.get_recorder().start() while True: print('Press the button and speak') button.wait_for_press() print('Listening...') text = recognizer.recognize() if not text: print('Sorry, I did not hear you.') else: print('You said "', text, '"') if 'turn on the light' in text: led.set_state(aiy.voicehat.LED.ON) elif 'turn off the light' in text: led.set_state(aiy.voicehat.LED.OFF) elif 'blink' in text: led.set_state(aiy.voicehat.LED.BLINK) elif 'goodbye' in text: break __name__ == '__main__': main()

Run the script by opening the Dev Terminal and then typing the following at the command prompt: /src/examples/voice/cloudspeech_demo.py .

After the script loads you will be prompted to push the button and give a command. The following commands are recognized by the demo:

  • Turn on the light . This turns on the light inside the push button. There is also an LED on the Voice HAT that will turn on as well.
  • Turn off the light . As you might expect this will turn off the light!
  • Blink. This will blink both the push button light and the onboard LED.
  • Goodbye. This will end the script and return the Dev Terminal to the command prompt.

You’ll notice that this script does not require you to issue an “OK Google” prompt before each instruction. It also won’t accept any commands other than the ones listed above.

The reason that “OK Google is not required is that this script uses the push button as a “trigger”.  If you wish you could replace the push button with a relay or another type of momentary contact switch (say a pressure switch on a doormat for example).  The trigger prompts the device to go into listen mode where it waits for a command it understands and then takes the required action.

Speech Triggers

All voice activation systems require a trigger before they will start listening for commands, they don’t process voice until the trigger is received. This Is true of systems like the Amazon Alexa, Apple Sir and Microsoft Cortana as well.

In most common applications the trigger is a preset phrase or “Wake Word”, such as “Alexa”. “Siri” or “OK Google”. This is the way most of us are used to interacting with voice control systems.

The previous example used a press of the push button as its trigger. It was just a demonstration of course as in “real life” it would not really be all that useful.  After all if we really wanted to turn on the light and we have a push button we could just wire it directly to the LED and eliminate the voice recognition (and the Raspberry Pi and the Internet and the Google Cloud) altogether!  It’s an excellent example of a design overkill.

Now there are some applications where using a switch or other hardware device such like a motion sensor as a trigger would make sense. You could have the voice system respond to your commands when you enter a room, in this case “turn on the light” would be a very useful command and not having to precede each command with a wake word would be convenient.

But in most cases we will want to trigger our voice controlled device using a wake word.  So in the next example we will do exactly that.

Assistant Library with Local Commands

The next example you’ll want to try is the Assistant Library with Local Commands script. This python script will respond to the OK Google wake word trigger instead of requiring you to press the push button.

This python script, which is reproduced here for your convenience, is an important script to understand as it can be used as the basis for writing your own custom scripts that work on the “OK Google” wake word.

"Run a recognizer using the Google Assistant Library. OK, Google" is supported. "" logging subprocess sys aiy.assistant.auth_helpers aiy.audio aiy.voicehat google.assistant.library import Assistant google.assistant.library.event import EventType .basicConfig( level=logging.INFO, format="[%(asctime)s] %(levelname)s:%(name)s:%(message)s" power_off_pi(): aiy.audio.say('Good bye!') subprocess.call('sudo shutdown now', shell=True) reboot_pi(): aiy.audio.say('See you in a bit!') subprocess.call('sudo reboot', shell=True) say_ip(): ip_address = subprocess.check_output("hostname -I | cut -d' ' -f1", shell=True) aiy.audio.say('My IP address is %s' % ip_address.decode('utf-8')) process_event(assistant, event): status_ui = aiy.voicehat.get_status_ui() if event.type == EventType.ON_START_FINISHED: status_ui.status('ready') if sys.stdout.isatty(): print('Say "OK, Google" then speak, or press Ctrl+C to quit...') elif event.type == EventType.ON_CONVERSATION_TURN_STARTED: status_ui.status('listening') elif event.type == EventType.ON_RECOGNIZING_SPEECH_FINISHED and event.args: print('You said:', event.args['text']) text = event.args['text'].lower() if text == 'power off': assistant.stop_conversation() power_off_pi() elif text == 'reboot': assistant.stop_conversation() reboot_pi() elif text == 'ip address': assistant.stop_conversation() say_ip() elif event.type == EventType.ON_END_OF_UTTERANCE: status_ui.status('thinking') elif event.type == EventType.ON_CONVERSATION_TURN_FINISHED: status_ui.status('ready') elif event.type == EventType.ON_ASSISTANT_ERROR and event.args and event.args['is_fatal']: sys.exit(1) main(): credentials = aiy.assistant.auth_helpers.get_assistant_credentials() with Assistant(credentials) as assistant: for event in assistant.start(): process_event(assistant, event) __name__ == '__main__': main()

You can run the script from the Dev Terminal by typing /src/examples/voice/assistant_library_with_local_commands_demo.py .

The script has three commands that it will accept, all of them activated by preceding them with the “OK Google” wake word:

  • Power Off. This will actually shut down and power off the Raspberry Pi.
  • Reboot. Yes this will reboot the Raspberry Pi.
  • IP Address. This will read back the local IP address of your Raspberry Pi.

You can also say “OK Google” and give it a “normal” question, such as “OK Google, what is the capital city of France?”.  It will respond with the “regular” Google voice, informing you that the answer is Paris.  

Custom commands will not use the standard “Lady Google” voice but instead use a voice synthesized tone that reminds me of many 1990’s speech synthesizers.

To understand the script you really only need to understand two concepts.

  • For every defined action there is a custom function.
  • Each function is called by a “if” or “elif” statement that evaluates the text that the API returns when you speak.

For example, let’s look at the “power off” command.

You’ll see a custom function called “ power_off_pi() ” beginning on line 43. It does two things:

  • It uses an “ aiy.audio.say ” command to speak to you. In this case it says “Good bye”.
  • It performs the desired action. In this case it issues a “sudo shutdown now” command in the shell to shutdown the Raspberry Pi.

You will also notice an “if” statement that evaluates a variable called “text”. The “text” variable is assigned to the response text you get from the Google Cloud Speech API, this text is the interpretation of the voice it decoded. You’ll see that starting on line 68, on line 71 it runs an “if” statement that is satisfied when the text equals “power off”. If then does two things:

  • It runs an “ assistant.stop_conversation() ” command. This stops the unit from listening for additional voice commands while it processes the current one.
  • It calls the function we defined earlier, in this case “ power_off_pi() ”.

Once you get the grasp of that it’s actually pretty simple. And you should realize that you can start adding your own commands by (a) defining a function to execute the command and (b) adding the text to interpret as another “elif” statement evaluation.

Let’s do exactly that and write some code to control our own devices.

Controlling LEDs with Voice

Our first example will be controlling three LEDs using voice commands. Now while you’ll find an example to control LEDs on the Google AIY Voice website this one differs in that we will use the “OK Google” wake word as opposed to pushing a button.

To do this we will just modify the Assistant Library with Local Commands script that we dissected earlier.

Note that the Google code samples are all licensed under the Apache License Version 2.0.  The license terms state that you can modify and reuse the code to your heart’s intent but you need to leave the original license agreement intact plus add a few lines to state that you were the one who did the modifications. In all of the following examples I will respect this license and you should do the same if/when you modify this code for your own purposes.

As the example uses three LEDs I suggest we have some fun with it and use a red, yellow and green LED (although you could really use any colors you like) and make our own traffic light!  We can then give it commands to stop, go and proceed with caution.

LED “Traffic Light” Hookup

First we’ll need to hook the LEDs up to the AIY Voice HAT. We will use the Servo outputs for that as they provide enough current for an LED but by changing the GPIO pins defined in the code we could also use the Drivers outputs if we had wanted to.

AIY LED Hookup

Each LED is hooked to the output pin on the servo connectors through a dropping resistor, I used three 330 ohm resistors but any value from 220 to 470 ohms would work.

The Servo outputs are connected to the Raspberry Pi GPIO pins as follows:

  • Servo 0 – Connected to GPIO #26. This is the Red LED.
  • Servo 1 – Connected to GPIO #6. This is the Yellow LED.
  • Servo 2 – Connected to GPIO #13. This is the Green LED.

The cathode leads of all of the LEDs are connected to ground, any of the servo ground connections will work.

Now that we have our LEDs hooked up lets take a look at the Python code we will use to control our “traffic light”.

LED “Traffic Light” Code

To control our little “traffic light” we will modify the Assistant Library with Local Commands script by adding several extra functions. We also need to import a library to interact with the Raspberry Pi GPIO.

"Run a recognizer using the Google Assistant Library. OK, Google" is supported. "" logging subprocess sys aiy.assistant.auth_helpers aiy.audio aiy.voicehat google.assistant.library import Assistant google.assistant.library.event import EventType RPi.GPIO as GPIO .setmode(GPIO.BCM) .setwarnings(False) .setup(26,GPIO.OUT) .setup(6,GPIO.OUT) .setup(13,GPIO.OUT) .basicConfig( level=logging.INFO, format="[%(asctime)s] %(levelname)s:%(name)s:%(message)s" red_led_on(): aiy.audio.say('Red light on') GPIO.output(26,True) red_led_off(): aiy.audio.say('Red light off') GPIO.output(26,False) yellow_led_on(): aiy.audio.say('Yellow light on') GPIO.output(6,True) yellow_led_off(): aiy.audio.say('Yellow light off') GPIO.output(6,False) green_led_on(): aiy.audio.say('Green light on') GPIO.output(13,True) green_led_off(): aiy.audio.say('Green light off') GPIO.output(13,False) all_led_on(): aiy.audio.say('Turning all lights on') GPIO.output(26,True) GPIO.output(6,True) GPIO.output(13,True) all_led_off(): aiy.audio.say('Turning all lights off') GPIO.output(26,False) GPIO.output(6,False) GPIO.output(13,False) traffic_go(): aiy.audio.say('Green light. You can go') GPIO.output(26,False) GPIO.output(6,False) GPIO.output(13,True) traffic_stop(): aiy.audio.say('Red light. You must stop') GPIO.output(26,True) GPIO.output(6,False) GPIO.output(13,False) traffic_caution(): aiy.audio.say('Yellow light. Be careful') GPIO.output(26,False) GPIO.output(6,True) GPIO.output(13,False) power_off_pi(): aiy.audio.say('Good bye!') subprocess.call('sudo shutdown now', shell=True) reboot_pi(): aiy.audio.say('See you in a bit!') subprocess.call('sudo reboot', shell=True) say_ip(): ip_address = subprocess.check_output("hostname -I | cut -d' ' -f1", shell=True) aiy.audio.say('My IP address is %s' % ip_address.decode('utf-8')) process_event(assistant, event): status_ui = aiy.voicehat.get_status_ui() if event.type == EventType.ON_START_FINISHED: status_ui.status('ready') if sys.stdout.isatty(): print('Say "OK, Google" then speak, or press Ctrl+C to quit...') elif event.type == EventType.ON_CONVERSATION_TURN_STARTED: status_ui.status('listening') elif event.type == EventType.ON_RECOGNIZING_SPEECH_FINISHED and event.args: print('You said:', event.args['text']) text = event.args['text'].lower() if text == 'power off': assistant.stop_conversation() power_off_pi() elif text == 'reboot': assistant.stop_conversation() reboot_pi() elif text == 'ip address': assistant.stop_conversation() say_ip() elif text == 'red light on': assistant.stop_conversation() red_led_on() elif text == 'red light off': assistant.stop_conversation() red_led_off() elif text == 'yellow light on': assistant.stop_conversation() yellow_led_on() elif text == 'yellow light off': assistant.stop_conversation() yellow_led_off() elif text == 'green light on': assistant.stop_conversation() green_led_on() elif text == 'green light off': assistant.stop_conversation() green_led_off() elif text == 'traffic go': assistant.stop_conversation() traffic_go() elif text == 'traffic stop': assistant.stop_conversation() traffic_stop() elif text == 'traffic caution': assistant.stop_conversation() traffic_caution() elif text == 'all lights on': assistant.stop_conversation() all_led_on() elif text == 'all lights off': assistant.stop_conversation() all_led_off() elif event.type == EventType.ON_END_OF_UTTERANCE: status_ui.status('thinking') elif event.type == EventType.ON_CONVERSATION_TURN_FINISHED: status_ui.status('ready') elif event.type == EventType.ON_ASSISTANT_ERROR and event.args and event.args['is_fatal']: sys.exit(1) main(): credentials = aiy.assistant.auth_helpers.get_assistant_credentials() with Assistant(credentials) as assistant: for event in assistant.start(): process_event(assistant, event) __name__ == '__main__': main()

You’ll notice that I left the original functions from the Assistant Library with Local Commands script intact. If you wish you can remove them.

The GPIO library is imported on line 43.  The lines following that setup the GPIO pins as outputs.

Line number 45 has a statement “ GPIO.setmode(GPIO.BCM) ” . This tells the code to use the Broadcom numbers for the GPIO pins, this is the standard method of addressing GPIO pins when working with the Raspberry Pi.  The Broadcom pin numbers are the internal processor numbers, they don’t match the physical pin numbers on the 40-pin GPIO connector. If we had wanted to use the physical pin numbers instead we could have used the statement “ GPIO.setmode(GPIO.BOARD) ”.

The next line, “ GPIO.setwarnings(False) ” is optional, it just suppresses the error messages you will receive when the GPIO pins have already been defined by another script. Experiment by taking it out to see what I am talking about.

The next three lines set GPIO numbers 26 (Red LED), 6 (Yellow LED)and 13 (Green LED) as outputs.

Starting at line 57 you’ll see several functions, each one written to control an LED. As with the functions we examined previously they perform two tasks:

  • They each use an “ aiy.audio.say ” command to say something.
  • They then use a “ GPIO.output ” command to control the respective LED (or LEDs in some cases). A “false” will turn off the LED while a “True” will turn it on.  

You can change the aiy.audio.say command to make it say your own phrase if you wish.

You should also note that the way I wrote it the voice will FIRST say the text and THEN perform the action. You can reverse the order of the statements if you wish so that the text is spoken AFTER the action takes place.

Moving down to line number 149 you will see the start of several “elif” statements, each one to interpret some text and to then call one of our custom functions. Again you can change the text that you wish interpreted if you wish.

You should place the python script into the same folder as the examples Google provided. Also, if you get the script form the Resources box at the end of this article you will need to give it the correct permission to run.  You can do that at the command line but it’s easier to use the Raspbian File Manager:

  • Copy the script into the home/pi/AIY-voice-kit-python/src/examples/voice/ folder.
  • Right click on the python file you just copied. A menu will appear.
  • Select “ Properties ” from the menu.
  • Select the “ Permissions ” tab in the dialog box that displays.
  • Change the “ Execute ” permission to “ Anyone ”.
  • Click OK to save the changes.

If you don’t do that you’ll receive an error when you attempt to run the script from the Dev Terminal.

Testing the LED “Traffic Light”

Open up the Dev Terminal and type src/examples/voice/dbws_trafficlight.py (if you wrote your own script substitute the script name for dbws_trafficlight.py , which is the name of the script in the ZIP file).  After it loads you’ll be prompted to say “OK Google” followed by a command.

The script has several commands:

  • Red light on – Turns on the Red LED,leaves the other LEDs in their current state.
  • Red light off – Turns off the Red LED,leaves the other LEDs in their current state.
  • Yellow light on – Turns on the Yellow LED,leaves the other LEDs in their current state.
  • Yellow light off – Turns off the Yellow LED,leaves the other LEDs in their current state.
  • Green light on – Turns on the Green LED,leaves the other LEDs in their current state.
  • Green light off – Turns off the Green LED,leaves the other LEDs in their current state.
  • Traffic Go – Turns on the Green LED. Turns off the other LEDs.
  • Traffic Stop – Turns on the Red LED. Turns off the other LEDs.
  • Traffic Caution – Turns on the Yellow LED. Turns off the other LEDs.
  • All lights on – Turns on all of the LEDs.
  • All lights off – Turns off all of the LEDs.

Experiment with the commands, change them or change the voice responses as you see fit. It’s your traffic light!

DC Motor Control

Our final python script will illustrate how you can control a small DC motor using your voice. There is a sample in the Google AIY Voice Kit instruction manual on their website, this script differs in the following fashion:

  • It allows you to control the speed of the motor as well as turn it on or off.
  • It doesn’t use the push button as a trigger, it is triggered with the “OK Google” wake word.

Let’s see how we can accomplish this magic.

Controlling DC Motors with PWM

Our motor will be driven using Pulse Width Modulation or PWM. This is a method of sending pulses of voltage to drive a DC motor, the wider the pulses get the faster the motor turns.

If you need a full description of how PWM works please see my article on using the L298N H-Bridge controller to drive a couple of DC motors.  In the article (and in its associated video) I give a full explanation of how Pulse Width Modulation is used to control motor speed.

I have made no attempt to control the motor direction in this simple python code. If you wish you can hook an H-Bridge controller like the L298N to the raw GPIO outputs and use it to control the motor direction. To simplify things (and to prevent you needing an additional component) I won’t cover that today.

Motor Control Hookup

The motor hookup is very simple, but you’ll notice that I added an additional component that you may not have expected – a small capacitor which I soldered directly across the motor leads.

I did this because when I first built this demonstration I encountered problems with noise. Noise of two types actually:

  • Electrical noise generated by the motor itself. This is the reason for the capacitor, it suppresses a lot of this noise.
  • The actual sound of the motor was so loud my microphones had trouble hearing my voice!

The second bit of noise can be reduced by simply moving the motor away from the pickup pattern of the microphones.  

I used a 100 nf capacitor for noise suppression but its value is not critical. Don’t use a polarized capacitor as the motor generates a “back EMF” in the reverse polarity of the voltage applied to it, The AIY Voice HAT has diodes on each of the Driver outputs to suppress this back EMF.

Here is the hookup, as I said it’s very simple:

AIY Motor Hookup

In addition to hooking up the motor you’ll need to supply an external power supply as the motor will take more current than you want to suck out of your Raspberry Pi. I used my 5-volt bench supply and it worked even though my motor was rated at 6 volts.  You could also use a 6-volt battery pack if you wish.

Remember, you need to cut the External Power jumper in order to use an external power supply.

I left the three LEDs from the last experiment in the circuit just for fun!  Now let’s look at the python code.

Motor Control Code

As with the previous demonstration I used a modification of the Assistant Library with Local Commands script to control my motor.  The script is similar to the last demonstration in many ways, it uses the GPIO library to control the three LEDs as you might expect.

It also imports another library, the “ PWMOutputDevice” library which itself is part of the “ gpiozero ” library.  This is the library that will provide the Pulse Width Modulation functions to drive our motor.

"Run a recognizer using the Google Assistant Library. OK, Google" is supported. "" logging subprocess sys aiy.assistant.auth_helpers aiy.audio aiy.voicehat google.assistant.library import Assistant google.assistant.library.event import EventType RPi.GPIO as GPIO gpiozero import PWMOutputDevice .setmode(GPIO.BCM) .setwarnings(False) .setup(26,GPIO.OUT) .setup(6,GPIO.OUT) .setup(13,GPIO.OUT) = PWMOutputDevice(4) .basicConfig( level=logging.INFO, format="[%(asctime)s] %(levelname)s:%(name)s:%(message)s" motor_on_full(): aiy.audio.say('Motor On. Full Speed') motor1.value = 1 GPIO.output(26,False) GPIO.output(6,False) GPIO.output(13,True) motor_off(): aiy.audio.say('Motor Off') motor1.value = 0 GPIO.output(26,True) GPIO.output(6,False) GPIO.output(13,False) motor_on_half(): aiy.audio.say('Motor On. Half speed') motor1.value = 0.5 GPIO.output(26,False) GPIO.output(6,True) GPIO.output(13,False) power_off_pi(): aiy.audio.say('Good bye!') subprocess.call('sudo shutdown now', shell=True) reboot_pi(): aiy.audio.say('See you in a bit!') subprocess.call('sudo reboot', shell=True) say_ip(): ip_address = subprocess.check_output("hostname -I | cut -d' ' -f1", shell=True) aiy.audio.say('My IP address is %s' % ip_address.decode('utf-8')) process_event(assistant, event): status_ui = aiy.voicehat.get_status_ui() if event.type == EventType.ON_START_FINISHED: status_ui.status('ready') if sys.stdout.isatty(): print('Say "OK, Google" then speak, or press Ctrl+C to quit...') elif event.type == EventType.ON_CONVERSATION_TURN_STARTED: status_ui.status('listening') elif event.type == EventType.ON_RECOGNIZING_SPEECH_FINISHED and event.args: print('You said:', event.args['text']) text = event.args['text'].lower() if text == 'power off': assistant.stop_conversation() power_off_pi() elif text == 'reboot': assistant.stop_conversation() reboot_pi() elif text == 'ip address': assistant.stop_conversation() say_ip() elif text == 'motor on': assistant.stop_conversation() motor_on_full() elif text == 'motor off': assistant.stop_conversation() motor_off() elif text == 'motor half': assistant.stop_conversation() motor_on_half() elif event.type == EventType.ON_END_OF_UTTERANCE: status_ui.status('thinking') elif event.type == EventType.ON_CONVERSATION_TURN_FINISHED: status_ui.status('ready') elif event.type == EventType.ON_ASSISTANT_ERROR and event.args and event.args['is_fatal']: sys.exit(1) main(): credentials = aiy.assistant.auth_helpers.get_assistant_credentials() with Assistant(credentials) as assistant: for event in assistant.start(): process_event(assistant, event) __name__ == '__main__': main()

In this script I start by setting up the LEDs in the same fashion as the previous script. Next I create an object I called “motor1” that represents my PWM output device, which in this case is a motor connected to GPIO pin 4.

The three functions I defined do the following:

  • motor_on_full() –  This turns on the motor at full speed.
  • motor_off() – As you might expect this turns the motor off.
  • motor_on_half() – This spins the motor at half speed.

To control the motor speed we use the “value” parameter on the motor object. This can be set from any value from 0 to 1 with a value of “0” stopping the motor and a value of “1” driving it at full speed.

To drive the motor at half speed I gave the parameter a value of “0.5”. You can expand upon this if you wish and give your motor many different speed increments.

Testing the Motor

Create or copy the script in the the home/pi/AIY-voice-kit-python/src/examples/voice/ folder. If you used the script I provided in the ZIP file (from the Resources box below this article) you’ll need to set the permissions using the same technique described for the last script.

Run the script from the Dev Terminal by typing src/examples/voice/dbws_motorcontrol.py at the command line – if you created your own script substitute its name for dbws_motorcontrol.py .

You can now speak the three motor commands to drive your motor:

  • Motor on – Turns on the motor at full speed.
  • Motor off – Turns off the motor
  • Motor half – Turns on the motor at half speed.

You may notice some distortion in the speaker when the motor is spinning, the capacitor reduces the electrical noise but doesn’t eliminate it completely. Shielding the microphone lines and enclosing the project in a shielded metal enclosure would probably eliminate that in a permanent design.

Hopefully you now have an idea as to how versatile the Google AIY Voice Kit is. Far from just being a cardboard Google Home Mini the AIY Voice Kit is a developers tool capable of prototyping advanced voice control devices.

If you have any questions about the code here or the AIY voice HAT please comment below. And please look out for the next video and article in this series as I’ll continue to explore the amazing capabilities and potential of the Google AIY Voice Kit.

Now start talking to your project!

Hacking the Google AIY Voice Kit – Part 1 – The original article in this series, building the Google AIY Voice Kit.

Code for this Article – All of the Python code I showed in the article in one easy to use ZIP file!

Google AIY Voice Website – The official Google AIY Voice Kit website.

Google AIY Raspbian Image – The custom build of the Raspbian operating system for the Raspberry Pi.

Google Cloud Console – The Google Cloud Console where you will setup the Cloud Speech API.

Google Cloud Speech API Documentation – Documentation for the Google Cloud Speech API.

Hacking the Google AIY Voice Kit - Part 2- Voice Control

  • ← Using Inexpensive 433MHz Transmit and Receive Modules with Arduino
  • Wireless Joystick for Arduino Robot Car with nRF24L01+ →

Thank you for posting the valuable and helpful projects.

Currently the voice kit will light up when I say a wake word “Hey, Google”

Can I make a change so that so that when I say a wake word “Hey, Google” the system will response by voice such as “Yes” or ‘OK’ as well as light up.

Thanks for the tutorials, really helpful!!

Finally i can compete my project because of this tutorial! Thanks man!

Is it possible to hook up a camera to the voice kit and use inbuilt computer vision python libraries to interface voice as well as image AI?

Thanks for the great post. I’m intrigued by your experiment board. I also have something similar to the pi-cobbler, and I’m interested in understanding how you were able to piggy back the voice kit hat so I can build something similar. BTW, great tutorials. Just what I needed to jump start my own experiments!

Is there going to be a part 3?

Hi Robyn. Yes indeed, I’ll be showing you how to use a 3rd party API to change the “wake word” from “OK Google” to anything you want. It’s on my list for early 2019.

Hello, I was wondering if you are still planing to make a part 3?

Thanks for documenting all this, Bill! You answered my #1 question about getting into this: whether I could use the kit for “Speech to command” for my own programs. That’s especially helpful, because everything else I’ve read so far just focuses on “Isn’t it way kewl that you can make your own ugly cardboard Google Home Lite?”. 😉 But you raised another: how likely is it that I’ll find out on the 20th of the month that I can’t robo-feed my cat, or unlock my front door, with voice commands for the next 10 days because I’ve used up my …  Read more »

How do I switch my voice kit to use an USB plugged microphone ?

How can I control motor direction

Hi, could you do a video on the “Google AIY Vision Kit” please. Thanks

Keep up those GREAT videos

Hey! Nice tutorial, helped me hack the voicekit and add GPIO functionality for 2 extra buttons. I’m running into a problem though; the only way for the speaker to work is by unplugging the microphone. If i plug the microphone, the speaker stops working! I added 2 buttons on the servo pins 0 and 1 (using GPIO 4 and 17 with the GPIO library) and those buttons work fine. The voicekit button also works fine and its connected as it comes. I’m sure the problem is not with the code, cause i’ve made various tests (Without the extra buttons, with …  Read more »

Have an issue? Look here for support

General help, booting and configuring, updating your sd card, learning more, product lifecycle, vision kit help, assembling the vision kit.

  • Booting the Vision Kit

Using the Vision Kit

Troubleshooting tips, voice kit help, assembling the voice kit, booting the voice kit, using the voice kit, extending the voice kit.

If you don’t see your issue here, try these other resources:

  • AIY Stack Overflow

Or contact us at [email protected] .

The Android app can’t pair with my Vision Kit or Voice Kit

There are a few reasons why this might happen. First, make sure your Voice Kit is still connected to a power supply and that the green LED on your Bonnet is still flashing. If it’s not flashing, it may have timed out. Press and hold the Bonnet button for 5 seconds, and try again.

If that doesn’t work, first try restarting the app. Then if that doesn’t work, your phone could be experiencing issues with Bluetooth, so try restarting your phone and starting the app pairing flow again.

I want to SSH into my AIY kit

The system images for the Vision Kit, Voice Kit, and Maker Kit have SSH enabled by default. As long as you know the IP address for your Raspberry Pi, you should be able to SSH from a terminal on your personal computer.

For instructions, see the Raspberry Pi docs about remote access .

I’ve tried everything and my kit still won’t boot

If you’ve tried all of the other suggested troubleshooting steps and still can’t get your kit to boot, your SD card might be corrupted. To fix this, you’ll need to reflash your SD card so that you can start fresh.

Note: reflashing your SD card will delete any files you’ve created or changes you’ve made, such as your Voice Kit credentials, so you might have to repeat some setup steps.

Follow the appropriate instructions to reflash the SD card for either the Voice Kit , Vision Kit , or Maker Kit .

I want to learn more about using the terminal and Linux commands

Check out these resources from our friends at the Raspberry Pi Foundation: Conquer the Command Line and Linux Commands .

I want to learn more about working with Raspberry Pi

Check out the Gettting started with Raspberry Pi guide for an introduction and tour.

Product line changes may bring products such as the Vision Kit and Voice Kit to the end of their life cycle. Once an End-Of-Life (EOL) notice is posted online, you can continue to purchase the product until the Last Time Buy Date or until product inventory is exhausted. Our goal is to assist you in making your final purchases of the product subject to EOL and to help you smoothly transition to new products.

Voice Kit EOL notice

  • EOL Notification Date: July 20, 2021
  • Last Time Buy (LTB) Date: December 31, 2021

The flex cable is too large to fit into the Raspberry Pi connector

There are two flex cables in the kit: one is long and one is short. The long cable connects connects the Vision Bonnet to the Raspberry Pi Camera, while the short cable connects the Raspberry Pi to the Vision Bonnet. See for a picture of the short flex cable for the Raspberry Pi board.

I need to replace the camera flex cable

You'll need the Raspberry Pi Zero camera cable .

I get a syntax error when running the Joy Detector demo

Your Raspberry Pi board may not be running the AIY software image (this error happens when using Python 2.7 instead of 3.4). You’ll need to update to the latest SD card image and try again.

My computer doesn’t detect the Vision Kit when using a USB cable

Double-check that you’ve connected the USB cable to the left-side USB port on your kit (the one labeled “Data”). Also, be sure that your kit is connected to a power supply via the other USB port — it will need more power than what your laptop can provide on its own.

Note : it’s not recommended that you use the USB connector cable to another computer as the sole source of power for your AIY kit. This may cause a brown-out or other issues. Learn how to connect to your Vision Kit

I get an error when I try to run a demo

First, check that you’ve typed the command correctly. Capitalization matters! If that doesn’t solve the problem, you might be in a different file directory, which means the command tried to find the demo in the current folder but it wasn’t there. Try typing the following command and pressing enter to navigate to the right directory:

Then try to run the demo again. If that still doesn’t work, you may have another demo that’s currently running, which will prevent you from starting a new demo. First check that you’ve stopped the Joy Detector . You’ll need to do this each time you reboot your kit.

If you are running another demo, try these steps to stop it: Open the terminal that has the demo running by clicking with your left mouse button on it, and once your terminal is in focus, press Ctrl-C .

My kit crashes on startup

Make sure you’re using a USB power supply that’s 5V 2.1A or higher. The Vision Bonnet requires additional current from the Raspberry Pi and using a power supply with less than 2.1A can cause instability.

After initially starting, the demos stop working

If the demos crash and none of the other solutions above solve your problem, open a terminal on the Raspberry Pi and type dmesg | grep 'Internal error' . If this prints any line at all, then your kit might be suffering from a hardware power problem ( issue 346 ). Try running the following command:

Then reboot the kit.

The camera is blocking my terminal window

If you are connected directly to your Raspberry Pi via mouse, monitor, and keyboard, the camera window might block your terminal. That’s okay, as your terminal is still there in the background. Press Ctrl-C after pointing your camera at a few objects to stop the demo and close the camera window. Then you can scroll up in your terminal window to see what the camera identified. If you want to see the terminal and camera preview at the same time, you can connect your Raspberry Pi to WiFi and then connect to it from another computer via SSH. See steps 48-63 of the Voice Kit guide for more information.

Check the MCU firmware version and status

Check the mcu error code.

0xdeadbeef means operation is normal (no pins in a state they do not support, i2c bus has no errors the mcu knows about)

Check product name from overlay

Check product version.

If you have version 1.0 of the Vision Kit (check here ), this command will output 0x0001 .

Check serial number for you board

Check who built it, my kit doesn’t match the assembly guide instructions.

There are several versions of the Voice Kit and Vision Kit, each with different assembly instructions. Check which kit version you have by going here:

  • Check Vision Kit version
  • Check Voice Kit version

My kit won’t turn on even though it’s plugged in and the green LED is lit

Your kit might be running a file system check, which happens after your kit shuts down abruptly. It takes around 5 minutes to complete, so try plugging in your kit and waiting.

If it still doesn’t boot, your SD card image may be corrupt, so try installing a new image .

My mouse and keyboard are connected, but they don’t seem to work

  • Check step 49 of the Voice Kit assembly and make sure your mouse and keyboard are plugged into the connector labeled “Data”
  • If you're using a USB hub, make sure it’s powered.
  • Make sure you are using a 2.1A USB power supply for your kit.
  • Finally, try rebooting the device while the keyboard and mouse are plugged in. To do that, unplug your power supply, wait a few seconds, then plug it back in. It may take a few minutes to boot up.

I want to configure my Voice Kit to activate with a button press

You can do this with the Voice Kit version 1.0 (and Raspberry Pi 3). Learn how

I want my Voice Kit to active using hotword detection (“OK Google…”)

The audio checkpoint script doesn’t work (“failed to find the voicehat soundcard…”).

There could be one or more issues that is causing the audio check to not find the sound card. Try the steps below:

  • Check if the driver loaded by entering the following in your terminal window:

If it’s not, trying using the terminal to manually load the driver:

  • Check the list of detected audio devices: aplay -l
  • Verify proper connections of the hardware (soldered pins, bent 40 pin headers, etc.)

If none of the steps above solve the issue, then open a terminal window and enter the command “dmesg”. Email us the output at [email protected] .

I want to use my Voice Kit with other Google devices (Home, Chromecast, etc)

At this time the AIY Voice Kit is not compatible with other Google devices.

When I try to start my demo the terminal responds “src/assistant_library_demo.py bash:src/assistant_library_demo.py: No such file or directory”

The demo files have moved to src/examples/voice/ . Try running it from that path.

I want to use the Assistant Library/gRPC Service/Cloud Speech API in different languages

  • For the Assistant Library ( assistant_library_demo.py ), you need to use the Google Assistant app on Android or iOS. After you run the demo, your Voice Kit appears in the list of devices (in the app settings) where you can set your language preference.
  • For the Assistant gRPC service, you can also set the language preference in the Android or iOS app (see the previous item), or you can specify the language programatically—for an example, see the assistant_grpc_demo.py source code .
  • For the Cloud Speech API, you can set the language programatically—for an example, see the cloudspeech_demo.py source code .

For details using the Google Assistant SDK, see the SDK documentation .

I want to make my own hotwords

Custom hotwords is not currently available with the Google Assistant SDK. However, you can try other voice recognition services like the Google Cloud Speech API .

Trying to set up Google Speech Kit Plugin

Hi there, I just bought this plugin from the marketplace Google Speech Kit in Code Plugins - UE Marketplace and I’m following the documentation to set it up. ( GitHub - IlgarLunin/UE4GoogleSpeechKit-docs: Documentation page for GoogleSpeechKit ue4 plugin ).

My blueprint is all set up as documentation say (see image below) but when it arrives to “Google STT” node nothing happen.

I don’t even know if my API key is working.

Any help? thank in advance

immagine

It should be the same of the documentation (except for the “play sound” left there).

Is there anything I’m missing in calling API key or in Google TTS?

Google Assistant

  • Google Assistant
  • Español – América Latina
  • Português – Brasil
  • Tiếng Việt
  • Google Assistant SDK

google speech kit

Add the Google Assistant to your experimental projects

google speech kit

Create a project in minutes

  • Español – América Latina
  • Português – Brasil
  • Documentation
  • Cloud Text-to-Speech API

Supported voices and languages

Text-to-Speech provides the following voices. The list includes Neural2 , Studio , Standard, and WaveNet voices. Studio, Neural2 and WaveNet voices are higher quality voices with different pricing ; in the list, they have the voice type 'Neural2', 'Studio' or 'WaveNet'.

To use these voices to create synthetic speech, see how to create synthetic voice audio .

Language Voice type Language code Voice name SSML Gender Sample
Afrikaans (South Africa) Standard af-ZA af-ZA-Standard-A FEMALE
Arabic Standard ar-XA ar-XA-Standard-A FEMALE
Arabic Standard ar-XA ar-XA-Standard-B MALE
Arabic Standard ar-XA ar-XA-Standard-C MALE
Arabic Standard ar-XA ar-XA-Standard-D FEMALE
Arabic Premium ar-XA ar-XA-Wavenet-A FEMALE
Arabic Premium ar-XA ar-XA-Wavenet-B MALE
Arabic Premium ar-XA ar-XA-Wavenet-C MALE
Arabic Premium ar-XA ar-XA-Wavenet-D FEMALE
Basque (Spain) Standard eu-ES eu-ES-Standard-A FEMALE
Bengali (India) Standard bn-IN bn-IN-Standard-A FEMALE
Bengali (India) Standard bn-IN bn-IN-Standard-B MALE
Bengali (India) Standard bn-IN bn-IN-Standard-C FEMALE
Bengali (India) Standard bn-IN bn-IN-Standard-D MALE
Bengali (India) Premium bn-IN bn-IN-Wavenet-A FEMALE
Bengali (India) Premium bn-IN bn-IN-Wavenet-B MALE
Bengali (India) Premium bn-IN bn-IN-Wavenet-C FEMALE
Bengali (India) Premium bn-IN bn-IN-Wavenet-D MALE
Bulgarian (Bulgaria) Standard bg-BG bg-BG-Standard-A FEMALE
Catalan (Spain) Standard ca-ES ca-ES-Standard-A FEMALE
Chinese (Hong Kong) Standard yue-HK yue-HK-Standard-A FEMALE
Chinese (Hong Kong) Standard yue-HK yue-HK-Standard-B MALE
Chinese (Hong Kong) Standard yue-HK yue-HK-Standard-C FEMALE
Chinese (Hong Kong) Standard yue-HK yue-HK-Standard-D MALE
Czech (Czech Republic) Standard cs-CZ cs-CZ-Standard-A FEMALE
Czech (Czech Republic) Premium cs-CZ cs-CZ-Wavenet-A FEMALE
Danish (Denmark) Premium da-DK da-DK-Neural2-D FEMALE
Danish (Denmark) Standard da-DK da-DK-Standard-A FEMALE
Danish (Denmark) Standard da-DK da-DK-Standard-C MALE
Danish (Denmark) Standard da-DK da-DK-Standard-D FEMALE
Danish (Denmark) Standard da-DK da-DK-Standard-E FEMALE
Danish (Denmark) Premium da-DK da-DK-Wavenet-A FEMALE
Danish (Denmark) Premium da-DK da-DK-Wavenet-C MALE
Danish (Denmark) Premium da-DK da-DK-Wavenet-D FEMALE
Danish (Denmark) Premium da-DK da-DK-Wavenet-E FEMALE
Dutch (Belgium) Standard nl-BE nl-BE-Standard-A FEMALE
Dutch (Belgium) Standard nl-BE nl-BE-Standard-B MALE
Dutch (Belgium) Premium nl-BE nl-BE-Wavenet-A FEMALE
Dutch (Belgium) Premium nl-BE nl-BE-Wavenet-B MALE
Dutch (Netherlands) Standard nl-NL nl-NL-Standard-A FEMALE
Dutch (Netherlands) Standard nl-NL nl-NL-Standard-B MALE
Dutch (Netherlands) Standard nl-NL nl-NL-Standard-C MALE
Dutch (Netherlands) Standard nl-NL nl-NL-Standard-D FEMALE
Dutch (Netherlands) Standard nl-NL nl-NL-Standard-E FEMALE
Dutch (Netherlands) Premium nl-NL nl-NL-Wavenet-A FEMALE
Dutch (Netherlands) Premium nl-NL nl-NL-Wavenet-B MALE
Dutch (Netherlands) Premium nl-NL nl-NL-Wavenet-C MALE
Dutch (Netherlands) Premium nl-NL nl-NL-Wavenet-D FEMALE
Dutch (Netherlands) Premium nl-NL nl-NL-Wavenet-E FEMALE
English (Australia) Premium en-AU en-AU-Neural2-A FEMALE
English (Australia) Premium en-AU en-AU-Neural2-B MALE
English (Australia) Premium en-AU en-AU-Neural2-C FEMALE
English (Australia) Premium en-AU en-AU-Neural2-D MALE
English (Australia) Premium en-AU en-AU-News-E FEMALE
English (Australia) Premium en-AU en-AU-News-F FEMALE
English (Australia) Premium en-AU en-AU-News-G MALE
English (Australia) Premium en-AU en-AU-Polyglot-1 MALE
English (Australia) Standard en-AU en-AU-Standard-A FEMALE
English (Australia) Standard en-AU en-AU-Standard-B MALE
English (Australia) Standard en-AU en-AU-Standard-C FEMALE
English (Australia) Standard en-AU en-AU-Standard-D MALE
English (Australia) Premium en-AU en-AU-Wavenet-A FEMALE
English (Australia) Premium en-AU en-AU-Wavenet-B MALE
English (Australia) Premium en-AU en-AU-Wavenet-C FEMALE
English (Australia) Premium en-AU en-AU-Wavenet-D MALE
English (India) Premium en-IN en-IN-Neural2-A FEMALE
English (India) Premium en-IN en-IN-Neural2-B MALE
English (India) Premium en-IN en-IN-Neural2-C MALE
English (India) Premium en-IN en-IN-Neural2-D FEMALE
English (India) Standard en-IN en-IN-Standard-A FEMALE
English (India) Standard en-IN en-IN-Standard-B MALE
English (India) Standard en-IN en-IN-Standard-C MALE
English (India) Standard en-IN en-IN-Standard-D FEMALE
English (India) Premium en-IN en-IN-Wavenet-A FEMALE
English (India) Premium en-IN en-IN-Wavenet-B MALE
English (India) Premium en-IN en-IN-Wavenet-C MALE
English (India) Premium en-IN en-IN-Wavenet-D FEMALE
English (UK) Premium en-GB en-GB-Neural2-A FEMALE
English (UK) Premium en-GB en-GB-Neural2-B MALE
English (UK) Premium en-GB en-GB-Neural2-C FEMALE
English (UK) Premium en-GB en-GB-Neural2-D MALE
English (UK) Premium en-GB en-GB-Neural2-F FEMALE
English (UK) Premium en-GB en-GB-News-G FEMALE
English (UK) Premium en-GB en-GB-News-H FEMALE
English (UK) Premium en-GB en-GB-News-I FEMALE
English (UK) Premium en-GB en-GB-News-J MALE
English (UK) Premium en-GB en-GB-News-K MALE
English (UK) Premium en-GB en-GB-News-L MALE
English (UK) Premium en-GB en-GB-News-M MALE
English (UK) Standard en-GB en-GB-Standard-A FEMALE
English (UK) Standard en-GB en-GB-Standard-B MALE
English (UK) Standard en-GB en-GB-Standard-C FEMALE
English (UK) Standard en-GB en-GB-Standard-D MALE
English (UK) Standard en-GB en-GB-Standard-F FEMALE
English (UK) Studio en-GB en-GB-Studio-B MALE
English (UK) Studio en-GB en-GB-Studio-C FEMALE
English (UK) Premium en-GB en-GB-Wavenet-A FEMALE
English (UK) Premium en-GB en-GB-Wavenet-B MALE
English (UK) Premium en-GB en-GB-Wavenet-C FEMALE
English (UK) Premium en-GB en-GB-Wavenet-D MALE
English (UK) Premium en-GB en-GB-Wavenet-F FEMALE
English (US) Premium en-US en-US-Casual-K MALE
English (US) Premium en-US en-US-Journey-D MALE
English (US) Premium en-US en-US-Journey-F FEMALE
English (US) Premium en-US en-US-Journey-O FEMALE
English (US) Premium en-US en-US-Neural2-A MALE
English (US) Premium en-US en-US-Neural2-C FEMALE
English (US) Premium en-US en-US-Neural2-D MALE
English (US) Premium en-US en-US-Neural2-E FEMALE
English (US) Premium en-US en-US-Neural2-F FEMALE
English (US) Premium en-US en-US-Neural2-G FEMALE
English (US) Premium en-US en-US-Neural2-H FEMALE
English (US) Premium en-US en-US-Neural2-I MALE
English (US) Premium en-US en-US-Neural2-J MALE
English (US) Premium en-US en-US-News-K FEMALE
English (US) Premium en-US en-US-News-L FEMALE
English (US) Premium en-US en-US-News-N MALE
English (US) Premium en-US en-US-Polyglot-1 MALE
English (US) Standard en-US en-US-Standard-A MALE
English (US) Standard en-US en-US-Standard-B MALE
English (US) Standard en-US en-US-Standard-C FEMALE
English (US) Standard en-US en-US-Standard-D MALE
English (US) Standard en-US en-US-Standard-E FEMALE
English (US) Standard en-US en-US-Standard-F FEMALE
English (US) Standard en-US en-US-Standard-G FEMALE
English (US) Standard en-US en-US-Standard-H FEMALE
English (US) Standard en-US en-US-Standard-I MALE
English (US) Standard en-US en-US-Standard-J MALE
English (US) Studio en-US en-US-Studio-O FEMALE
English (US) Studio en-US en-US-Studio-Q MALE
English (US) Premium en-US en-US-Wavenet-A MALE
English (US) Premium en-US en-US-Wavenet-B MALE
English (US) Premium en-US en-US-Wavenet-C FEMALE
English (US) Premium en-US en-US-Wavenet-D MALE
English (US) Premium en-US en-US-Wavenet-E FEMALE
English (US) Premium en-US en-US-Wavenet-F FEMALE
English (US) Premium en-US en-US-Wavenet-G FEMALE
English (US) Premium en-US en-US-Wavenet-H FEMALE
English (US) Premium en-US en-US-Wavenet-I MALE
English (US) Premium en-US en-US-Wavenet-J MALE
Filipino (Philippines) Standard fil-PH fil-PH-Standard-A FEMALE
Filipino (Philippines) Standard fil-PH fil-PH-Standard-B FEMALE
Filipino (Philippines) Standard fil-PH fil-PH-Standard-C MALE
Filipino (Philippines) Standard fil-PH fil-PH-Standard-D MALE
Filipino (Philippines) Premium fil-PH fil-PH-Wavenet-A FEMALE
Filipino (Philippines) Premium fil-PH fil-PH-Wavenet-B FEMALE
Filipino (Philippines) Premium fil-PH fil-PH-Wavenet-C MALE
Filipino (Philippines) Premium fil-PH fil-PH-Wavenet-D MALE
Filipino (Philippines) Premium fil-PH fil-ph-Neural2-A FEMALE
Filipino (Philippines) Premium fil-PH fil-ph-Neural2-D MALE
Finnish (Finland) Standard fi-FI fi-FI-Standard-A FEMALE
Finnish (Finland) Premium fi-FI fi-FI-Wavenet-A FEMALE
French (Canada) Premium fr-CA fr-CA-Neural2-A FEMALE
French (Canada) Premium fr-CA fr-CA-Neural2-B MALE
French (Canada) Premium fr-CA fr-CA-Neural2-C FEMALE
French (Canada) Premium fr-CA fr-CA-Neural2-D MALE
French (Canada) Standard fr-CA fr-CA-Standard-A FEMALE
French (Canada) Standard fr-CA fr-CA-Standard-B MALE
French (Canada) Standard fr-CA fr-CA-Standard-C FEMALE
French (Canada) Standard fr-CA fr-CA-Standard-D MALE
French (Canada) Premium fr-CA fr-CA-Wavenet-A FEMALE
French (Canada) Premium fr-CA fr-CA-Wavenet-B MALE
French (Canada) Premium fr-CA fr-CA-Wavenet-C FEMALE
French (Canada) Premium fr-CA fr-CA-Wavenet-D MALE
French (France) Premium fr-FR fr-FR-Neural2-A FEMALE
French (France) Premium fr-FR fr-FR-Neural2-B MALE
French (France) Premium fr-FR fr-FR-Neural2-C FEMALE
French (France) Premium fr-FR fr-FR-Neural2-D MALE
French (France) Premium fr-FR fr-FR-Neural2-E FEMALE
French (France) Premium fr-FR fr-FR-Polyglot-1 MALE
French (France) Standard fr-FR fr-FR-Standard-A FEMALE
French (France) Standard fr-FR fr-FR-Standard-B MALE
French (France) Standard fr-FR fr-FR-Standard-C FEMALE
French (France) Standard fr-FR fr-FR-Standard-D MALE
French (France) Standard fr-FR fr-FR-Standard-E FEMALE
French (France) Studio fr-FR fr-FR-Studio-A FEMALE
French (France) Studio fr-FR fr-FR-Studio-D MALE
French (France) Premium fr-FR fr-FR-Wavenet-A FEMALE
French (France) Premium fr-FR fr-FR-Wavenet-B MALE
French (France) Premium fr-FR fr-FR-Wavenet-C FEMALE
French (France) Premium fr-FR fr-FR-Wavenet-D MALE
French (France) Premium fr-FR fr-FR-Wavenet-E FEMALE
Galician (Spain) Standard gl-ES gl-ES-Standard-A FEMALE
German (Germany) Premium de-DE de-DE-Neural2-A FEMALE
German (Germany) Premium de-DE de-DE-Neural2-B MALE
German (Germany) Premium de-DE de-DE-Neural2-C FEMALE
German (Germany) Premium de-DE de-DE-Neural2-D MALE
German (Germany) Premium de-DE de-DE-Neural2-F FEMALE
German (Germany) Premium de-DE de-DE-Polyglot-1 MALE
German (Germany) Standard de-DE de-DE-Standard-A FEMALE
German (Germany) Standard de-DE de-DE-Standard-B MALE
German (Germany) Standard de-DE de-DE-Standard-C FEMALE
German (Germany) Standard de-DE de-DE-Standard-D MALE
German (Germany) Standard de-DE de-DE-Standard-E MALE
German (Germany) Standard de-DE de-DE-Standard-F FEMALE
German (Germany) Studio de-DE de-DE-Studio-B MALE
German (Germany) Studio de-DE de-DE-Studio-C FEMALE
German (Germany) Premium de-DE de-DE-Wavenet-A FEMALE
German (Germany) Premium de-DE de-DE-Wavenet-B MALE
German (Germany) Premium de-DE de-DE-Wavenet-C FEMALE
German (Germany) Premium de-DE de-DE-Wavenet-D MALE
German (Germany) Premium de-DE de-DE-Wavenet-E MALE
German (Germany) Premium de-DE de-DE-Wavenet-F FEMALE
Greek (Greece) Standard el-GR el-GR-Standard-A FEMALE
Greek (Greece) Premium el-GR el-GR-Wavenet-A FEMALE
Gujarati (India) Standard gu-IN gu-IN-Standard-A FEMALE
Gujarati (India) Standard gu-IN gu-IN-Standard-B MALE
Gujarati (India) Standard gu-IN gu-IN-Standard-C FEMALE
Gujarati (India) Standard gu-IN gu-IN-Standard-D MALE
Gujarati (India) Premium gu-IN gu-IN-Wavenet-A FEMALE
Gujarati (India) Premium gu-IN gu-IN-Wavenet-B MALE
Gujarati (India) Premium gu-IN gu-IN-Wavenet-C FEMALE
Gujarati (India) Premium gu-IN gu-IN-Wavenet-D MALE
Hebrew (Israel) Standard he-IL he-IL-Standard-A FEMALE
Hebrew (Israel) Standard he-IL he-IL-Standard-B MALE
Hebrew (Israel) Standard he-IL he-IL-Standard-C FEMALE
Hebrew (Israel) Standard he-IL he-IL-Standard-D MALE
Hebrew (Israel) Premium he-IL he-IL-Wavenet-A FEMALE
Hebrew (Israel) Premium he-IL he-IL-Wavenet-B MALE
Hebrew (Israel) Premium he-IL he-IL-Wavenet-C FEMALE
Hebrew (Israel) Premium he-IL he-IL-Wavenet-D MALE
Hindi (India) Premium hi-IN hi-IN-Neural2-A FEMALE
Hindi (India) Premium hi-IN hi-IN-Neural2-B MALE
Hindi (India) Premium hi-IN hi-IN-Neural2-C MALE
Hindi (India) Premium hi-IN hi-IN-Neural2-D FEMALE
Hindi (India) Standard hi-IN hi-IN-Standard-A FEMALE
Hindi (India) Standard hi-IN hi-IN-Standard-B MALE
Hindi (India) Standard hi-IN hi-IN-Standard-C MALE
Hindi (India) Standard hi-IN hi-IN-Standard-D FEMALE
Hindi (India) Premium hi-IN hi-IN-Wavenet-A FEMALE
Hindi (India) Premium hi-IN hi-IN-Wavenet-B MALE
Hindi (India) Premium hi-IN hi-IN-Wavenet-C MALE
Hindi (India) Premium hi-IN hi-IN-Wavenet-D FEMALE
Hungarian (Hungary) Standard hu-HU hu-HU-Standard-A FEMALE
Hungarian (Hungary) Premium hu-HU hu-HU-Wavenet-A FEMALE
Icelandic (Iceland) Standard is-IS is-IS-Standard-A FEMALE
Indonesian (Indonesia) Standard id-ID id-ID-Standard-A FEMALE
Indonesian (Indonesia) Standard id-ID id-ID-Standard-B MALE
Indonesian (Indonesia) Standard id-ID id-ID-Standard-C MALE
Indonesian (Indonesia) Standard id-ID id-ID-Standard-D FEMALE
Indonesian (Indonesia) Premium id-ID id-ID-Wavenet-A FEMALE
Indonesian (Indonesia) Premium id-ID id-ID-Wavenet-B MALE
Indonesian (Indonesia) Premium id-ID id-ID-Wavenet-C MALE
Indonesian (Indonesia) Premium id-ID id-ID-Wavenet-D FEMALE
Italian (Italy) Premium it-IT it-IT-Neural2-A FEMALE
Italian (Italy) Premium it-IT it-IT-Neural2-C MALE
Italian (Italy) Standard it-IT it-IT-Standard-A FEMALE
Italian (Italy) Standard it-IT it-IT-Standard-B FEMALE
Italian (Italy) Standard it-IT it-IT-Standard-C MALE
Italian (Italy) Standard it-IT it-IT-Standard-D MALE
Italian (Italy) Premium it-IT it-IT-Wavenet-A FEMALE
Italian (Italy) Premium it-IT it-IT-Wavenet-B FEMALE
Italian (Italy) Premium it-IT it-IT-Wavenet-C MALE
Italian (Italy) Premium it-IT it-IT-Wavenet-D MALE
Japanese (Japan) Premium ja-JP ja-JP-Neural2-B FEMALE
Japanese (Japan) Premium ja-JP ja-JP-Neural2-C MALE
Japanese (Japan) Premium ja-JP ja-JP-Neural2-D MALE
Japanese (Japan) Standard ja-JP ja-JP-Standard-A FEMALE
Japanese (Japan) Standard ja-JP ja-JP-Standard-B FEMALE
Japanese (Japan) Standard ja-JP ja-JP-Standard-C MALE
Japanese (Japan) Standard ja-JP ja-JP-Standard-D MALE
Japanese (Japan) Premium ja-JP ja-JP-Wavenet-A FEMALE
Japanese (Japan) Premium ja-JP ja-JP-Wavenet-B FEMALE
Japanese (Japan) Premium ja-JP ja-JP-Wavenet-C MALE
Japanese (Japan) Premium ja-JP ja-JP-Wavenet-D MALE
Kannada (India) Standard kn-IN kn-IN-Standard-A FEMALE
Kannada (India) Standard kn-IN kn-IN-Standard-B MALE
Kannada (India) Standard kn-IN kn-IN-Standard-C FEMALE
Kannada (India) Standard kn-IN kn-IN-Standard-D MALE
Kannada (India) Premium kn-IN kn-IN-Wavenet-A FEMALE
Kannada (India) Premium kn-IN kn-IN-Wavenet-B MALE
Kannada (India) Premium kn-IN kn-IN-Wavenet-C FEMALE
Kannada (India) Premium kn-IN kn-IN-Wavenet-D MALE
Korean (South Korea) Premium ko-KR ko-KR-Neural2-A FEMALE
Korean (South Korea) Premium ko-KR ko-KR-Neural2-B FEMALE
Korean (South Korea) Premium ko-KR ko-KR-Neural2-C MALE
Korean (South Korea) Standard ko-KR ko-KR-Standard-A FEMALE
Korean (South Korea) Standard ko-KR ko-KR-Standard-B FEMALE
Korean (South Korea) Standard ko-KR ko-KR-Standard-C MALE
Korean (South Korea) Standard ko-KR ko-KR-Standard-D MALE
Korean (South Korea) Premium ko-KR ko-KR-Wavenet-A FEMALE
Korean (South Korea) Premium ko-KR ko-KR-Wavenet-B FEMALE
Korean (South Korea) Premium ko-KR ko-KR-Wavenet-C MALE
Korean (South Korea) Premium ko-KR ko-KR-Wavenet-D MALE
Latvian (Latvia) Standard lv-LV lv-LV-Standard-A MALE
Lithuanian (Lithuania) Standard lt-LT lt-LT-Standard-A MALE
Malay (Malaysia) Standard ms-MY ms-MY-Standard-A FEMALE
Malay (Malaysia) Standard ms-MY ms-MY-Standard-B MALE
Malay (Malaysia) Standard ms-MY ms-MY-Standard-C FEMALE
Malay (Malaysia) Standard ms-MY ms-MY-Standard-D MALE
Malay (Malaysia) Premium ms-MY ms-MY-Wavenet-A FEMALE
Malay (Malaysia) Premium ms-MY ms-MY-Wavenet-B MALE
Malay (Malaysia) Premium ms-MY ms-MY-Wavenet-C FEMALE
Malay (Malaysia) Premium ms-MY ms-MY-Wavenet-D MALE
Malayalam (India) Standard ml-IN ml-IN-Standard-A FEMALE
Malayalam (India) Standard ml-IN ml-IN-Standard-B MALE
Malayalam (India) Standard ml-IN ml-IN-Standard-C FEMALE
Malayalam (India) Standard ml-IN ml-IN-Standard-D MALE
Malayalam (India) Premium ml-IN ml-IN-Wavenet-A FEMALE
Malayalam (India) Premium ml-IN ml-IN-Wavenet-B MALE
Malayalam (India) Premium ml-IN ml-IN-Wavenet-C FEMALE
Malayalam (India) Premium ml-IN ml-IN-Wavenet-D MALE
Mandarin Chinese Standard cmn-CN cmn-CN-Standard-A FEMALE
Mandarin Chinese Standard cmn-CN cmn-CN-Standard-B MALE
Mandarin Chinese Standard cmn-CN cmn-CN-Standard-C MALE
Mandarin Chinese Standard cmn-CN cmn-CN-Standard-D FEMALE
Mandarin Chinese Premium cmn-CN cmn-CN-Wavenet-A FEMALE
Mandarin Chinese Premium cmn-CN cmn-CN-Wavenet-B MALE
Mandarin Chinese Premium cmn-CN cmn-CN-Wavenet-C MALE
Mandarin Chinese Premium cmn-CN cmn-CN-Wavenet-D FEMALE
Mandarin Chinese Standard cmn-TW cmn-TW-Standard-A FEMALE
Mandarin Chinese Standard cmn-TW cmn-TW-Standard-B MALE
Mandarin Chinese Standard cmn-TW cmn-TW-Standard-C MALE
Mandarin Chinese Premium cmn-TW cmn-TW-Wavenet-A FEMALE
Mandarin Chinese Premium cmn-TW cmn-TW-Wavenet-B MALE
Mandarin Chinese Premium cmn-TW cmn-TW-Wavenet-C MALE
Marathi (India) Standard mr-IN mr-IN-Standard-A FEMALE
Marathi (India) Standard mr-IN mr-IN-Standard-B MALE
Marathi (India) Standard mr-IN mr-IN-Standard-C FEMALE
Marathi (India) Premium mr-IN mr-IN-Wavenet-A FEMALE
Marathi (India) Premium mr-IN mr-IN-Wavenet-B MALE
Marathi (India) Premium mr-IN mr-IN-Wavenet-C FEMALE
Norwegian (Norway) Standard nb-NO nb-NO-Standard-A FEMALE
Norwegian (Norway) Standard nb-NO nb-NO-Standard-B MALE
Norwegian (Norway) Standard nb-NO nb-NO-Standard-C FEMALE
Norwegian (Norway) Standard nb-NO nb-NO-Standard-D MALE
Norwegian (Norway) Standard nb-NO nb-NO-Standard-E FEMALE
Norwegian (Norway) Premium nb-NO nb-NO-Wavenet-A FEMALE
Norwegian (Norway) Premium nb-NO nb-NO-Wavenet-B MALE
Norwegian (Norway) Premium nb-NO nb-NO-Wavenet-C FEMALE
Norwegian (Norway) Premium nb-NO nb-NO-Wavenet-D MALE
Norwegian (Norway) Premium nb-NO nb-NO-Wavenet-E FEMALE
Polish (Poland) Standard pl-PL pl-PL-Standard-A FEMALE
Polish (Poland) Standard pl-PL pl-PL-Standard-B MALE
Polish (Poland) Standard pl-PL pl-PL-Standard-C MALE
Polish (Poland) Standard pl-PL pl-PL-Standard-D FEMALE
Polish (Poland) Standard pl-PL pl-PL-Standard-E FEMALE
Polish (Poland) Premium pl-PL pl-PL-Wavenet-A FEMALE
Polish (Poland) Premium pl-PL pl-PL-Wavenet-B MALE
Polish (Poland) Premium pl-PL pl-PL-Wavenet-C MALE
Polish (Poland) Premium pl-PL pl-PL-Wavenet-D FEMALE
Polish (Poland) Premium pl-PL pl-PL-Wavenet-E FEMALE
Portuguese (Brazil) Premium pt-BR pt-BR-Neural2-A FEMALE
Portuguese (Brazil) Premium pt-BR pt-BR-Neural2-B MALE
Portuguese (Brazil) Premium pt-BR pt-BR-Neural2-C FEMALE
Portuguese (Brazil) Standard pt-BR pt-BR-Standard-A FEMALE
Portuguese (Brazil) Standard pt-BR pt-BR-Standard-B MALE
Portuguese (Brazil) Standard pt-BR pt-BR-Standard-C FEMALE
Portuguese (Brazil) Studio pt-BR pt-BR-Studio-B MALE
Portuguese (Brazil) Studio pt-BR pt-BR-Studio-C FEMALE
Portuguese (Brazil) Premium pt-BR pt-BR-Wavenet-A FEMALE
Portuguese (Brazil) Premium pt-BR pt-BR-Wavenet-B MALE
Portuguese (Brazil) Premium pt-BR pt-BR-Wavenet-C FEMALE
Portuguese (Portugal) Standard pt-PT pt-PT-Standard-A FEMALE
Portuguese (Portugal) Standard pt-PT pt-PT-Standard-B MALE
Portuguese (Portugal) Standard pt-PT pt-PT-Standard-C MALE
Portuguese (Portugal) Standard pt-PT pt-PT-Standard-D FEMALE
Portuguese (Portugal) Premium pt-PT pt-PT-Wavenet-A FEMALE
Portuguese (Portugal) Premium pt-PT pt-PT-Wavenet-B MALE
Portuguese (Portugal) Premium pt-PT pt-PT-Wavenet-C MALE
Portuguese (Portugal) Premium pt-PT pt-PT-Wavenet-D FEMALE
Punjabi (India) Standard pa-IN pa-IN-Standard-A FEMALE
Punjabi (India) Standard pa-IN pa-IN-Standard-B MALE
Punjabi (India) Standard pa-IN pa-IN-Standard-C FEMALE
Punjabi (India) Standard pa-IN pa-IN-Standard-D MALE
Punjabi (India) Premium pa-IN pa-IN-Wavenet-A FEMALE
Punjabi (India) Premium pa-IN pa-IN-Wavenet-B MALE
Punjabi (India) Premium pa-IN pa-IN-Wavenet-C FEMALE
Punjabi (India) Premium pa-IN pa-IN-Wavenet-D MALE
Romanian (Romania) Standard ro-RO ro-RO-Standard-A FEMALE
Romanian (Romania) Premium ro-RO ro-RO-Wavenet-A FEMALE
Russian (Russia) Standard ru-RU ru-RU-Standard-A FEMALE
Russian (Russia) Standard ru-RU ru-RU-Standard-B MALE
Russian (Russia) Standard ru-RU ru-RU-Standard-C FEMALE
Russian (Russia) Standard ru-RU ru-RU-Standard-D MALE
Russian (Russia) Standard ru-RU ru-RU-Standard-E FEMALE
Russian (Russia) Premium ru-RU ru-RU-Wavenet-A FEMALE
Russian (Russia) Premium ru-RU ru-RU-Wavenet-B MALE
Russian (Russia) Premium ru-RU ru-RU-Wavenet-C FEMALE
Russian (Russia) Premium ru-RU ru-RU-Wavenet-D MALE
Russian (Russia) Premium ru-RU ru-RU-Wavenet-E FEMALE
Serbian (Cyrillic) Standard sr-RS sr-RS-Standard-A FEMALE
Slovak (Slovakia) Standard sk-SK sk-SK-Standard-A FEMALE
Slovak (Slovakia) Premium sk-SK sk-SK-Wavenet-A FEMALE
Spanish (Spain) Premium es-ES es-ES-Neural2-A FEMALE
Spanish (Spain) Premium es-ES es-ES-Neural2-B MALE
Spanish (Spain) Premium es-ES es-ES-Neural2-C FEMALE
Spanish (Spain) Premium es-ES es-ES-Neural2-D FEMALE
Spanish (Spain) Premium es-ES es-ES-Neural2-E FEMALE
Spanish (Spain) Premium es-ES es-ES-Neural2-F MALE
Spanish (Spain) Premium es-ES es-ES-Polyglot-1 MALE
Spanish (Spain) Standard es-ES es-ES-Standard-A FEMALE
Spanish (Spain) Standard es-ES es-ES-Standard-B MALE
Spanish (Spain) Standard es-ES es-ES-Standard-C FEMALE
Spanish (Spain) Standard es-ES es-ES-Standard-D FEMALE
Spanish (Spain) Studio es-ES es-ES-Studio-C FEMALE
Spanish (Spain) Studio es-ES es-ES-Studio-F MALE
Spanish (Spain) Premium es-ES es-ES-Wavenet-B MALE
Spanish (Spain) Premium es-ES es-ES-Wavenet-C FEMALE
Spanish (Spain) Premium es-ES es-ES-Wavenet-D FEMALE
Spanish (US) Premium es-US es-US-Neural2-A FEMALE
Spanish (US) Premium es-US es-US-Neural2-B MALE
Spanish (US) Premium es-US es-US-Neural2-C MALE
Spanish (US) Premium es-US es-US-News-D MALE
Spanish (US) Premium es-US es-US-News-E MALE
Spanish (US) Premium es-US es-US-News-F FEMALE
Spanish (US) Premium es-US es-US-News-G FEMALE
Spanish (US) Premium es-US es-US-Polyglot-1 MALE
Spanish (US) Standard es-US es-US-Standard-A FEMALE
Spanish (US) Standard es-US es-US-Standard-B MALE
Spanish (US) Standard es-US es-US-Standard-C MALE
Spanish (US) Studio es-US es-US-Studio-B MALE
Spanish (US) Premium es-US es-US-Wavenet-A FEMALE
Spanish (US) Premium es-US es-US-Wavenet-B MALE
Spanish (US) Premium es-US es-US-Wavenet-C MALE
Swedish (Sweden) Standard sv-SE sv-SE-Standard-A FEMALE
Swedish (Sweden) Standard sv-SE sv-SE-Standard-B FEMALE
Swedish (Sweden) Standard sv-SE sv-SE-Standard-C FEMALE
Swedish (Sweden) Standard sv-SE sv-SE-Standard-D MALE
Swedish (Sweden) Standard sv-SE sv-SE-Standard-E MALE
Swedish (Sweden) Premium sv-SE sv-SE-Wavenet-A FEMALE
Swedish (Sweden) Premium sv-SE sv-SE-Wavenet-B FEMALE
Swedish (Sweden) Premium sv-SE sv-SE-Wavenet-C MALE
Swedish (Sweden) Premium sv-SE sv-SE-Wavenet-D FEMALE
Swedish (Sweden) Premium sv-SE sv-SE-Wavenet-E MALE
Tamil (India) Standard ta-IN ta-IN-Standard-A FEMALE
Tamil (India) Standard ta-IN ta-IN-Standard-B MALE
Tamil (India) Standard ta-IN ta-IN-Standard-C FEMALE
Tamil (India) Standard ta-IN ta-IN-Standard-D MALE
Tamil (India) Premium ta-IN ta-IN-Wavenet-A FEMALE
Tamil (India) Premium ta-IN ta-IN-Wavenet-B MALE
Tamil (India) Premium ta-IN ta-IN-Wavenet-C FEMALE
Tamil (India) Premium ta-IN ta-IN-Wavenet-D MALE
Telugu (India) Standard te-IN te-IN-Standard-A FEMALE
Telugu (India) Standard te-IN te-IN-Standard-B MALE
Thai (Thailand) Premium th-TH th-TH-Neural2-C FEMALE
Thai (Thailand) Standard th-TH th-TH-Standard-A FEMALE
Turkish (Turkey) Standard tr-TR tr-TR-Standard-A FEMALE
Turkish (Turkey) Standard tr-TR tr-TR-Standard-B MALE
Turkish (Turkey) Standard tr-TR tr-TR-Standard-C FEMALE
Turkish (Turkey) Standard tr-TR tr-TR-Standard-D FEMALE
Turkish (Turkey) Standard tr-TR tr-TR-Standard-E MALE
Turkish (Turkey) Premium tr-TR tr-TR-Wavenet-A FEMALE
Turkish (Turkey) Premium tr-TR tr-TR-Wavenet-B MALE
Turkish (Turkey) Premium tr-TR tr-TR-Wavenet-C FEMALE
Turkish (Turkey) Premium tr-TR tr-TR-Wavenet-D FEMALE
Turkish (Turkey) Premium tr-TR tr-TR-Wavenet-E MALE
Ukrainian (Ukraine) Standard uk-UA uk-UA-Standard-A FEMALE
Ukrainian (Ukraine) Premium uk-UA uk-UA-Wavenet-A FEMALE
Vietnamese (Vietnam) Premium vi-VN vi-VN-Neural2-A FEMALE
Vietnamese (Vietnam) Premium vi-VN vi-VN-Neural2-D MALE
Vietnamese (Vietnam) Standard vi-VN vi-VN-Standard-A FEMALE
Vietnamese (Vietnam) Standard vi-VN vi-VN-Standard-B MALE
Vietnamese (Vietnam) Standard vi-VN vi-VN-Standard-C FEMALE
Vietnamese (Vietnam) Standard vi-VN vi-VN-Standard-D MALE
Vietnamese (Vietnam) Premium vi-VN vi-VN-Wavenet-A FEMALE
Vietnamese (Vietnam) Premium vi-VN vi-VN-Wavenet-B MALE
Vietnamese (Vietnam) Premium vi-VN vi-VN-Wavenet-C FEMALE
Vietnamese (Vietnam) Premium vi-VN vi-VN-Wavenet-D MALE

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2024-08-29 UTC.

IMAGES

  1. Google Speech Kit in Code Plugins

    google speech kit

  2. Google Speech Kit in Code Plugins

    google speech kit

  3. Google Speech Kit in Code Plugins

    google speech kit

  4. Google Speech Kit in Code Plugins

    google speech kit

  5. How to Use Google Speech Recognition

    google speech kit

  6. Google Speech Kit in Code Plugins

    google speech kit

VIDEO

  1. CEO of Google Speech for Entrepreneurs

  2. 67. Speech Recognition in Python using Google Speech API

  3. Google speech service convert audio to text Shere the text with this app Problem Solution #shorts

  4. How to change preferred engine into speech services by Google on Samsung Phones

  5. This is Google Speech #Google #misscircle #Shorts

  6. Using Google Speech-To-Text with Direct To Desktop Workflow

COMMENTS

  1. Voice Kit

    Introduction. The AIY Voice Kit from Google lets you build your own natural language processor and connect it to the Google Assistant or Cloud Speech-to-Text service, allowing you to ask questions and issue voice commands to your programs. All of this fits in a handy little cardboard cube, powered by a Raspberry Pi.

  2. Voice Kit (V1)

    Find the speaker with the red and black wires attached. Insert the speaker's red wire end into the "+" terminal on the Voice HAT blue screw connector. Do the same for the black wire end into the "-" terminal. At this point, they should be sitting there unsecured. Now screw the wires in place with a Phillips "00" screwdriver.

  3. Google Speech Kit in Code Plugins

    Google speech api integration. $29.99 Sign in to Buy. Supported Platforms. Supported Engine Versions. 4.20 - 4.27, 5.0 - 5.4. Download Type. Engine Plugin. This product contains a code plugin, complete with pre-built binaries and all its source code that integrates with Unreal Engine, which can be installed to an engine version of your choice ...

  4. AIY Projects

    Voice Kit. Do-it-yourself intelligent speaker. Experiment with voice recognition and the Google Assistant. Build it. With the Google Assistant built-in, build an intelligent speaker that can understand you, and respond when you ask it a question or tell it to do something. Create your own projects that use voice recognition to control robots ...

  5. Amazon.com: Google AIY Voice Kit : Electronics

    The kit includes all of the components needed to assemble the basic kit that works with the Google Assistant SDK as well as on-device voice recognition with TensorFlow. To incorporate Google AIY into your Raspberry Pi projects, you will need a Raspberry Pi 3 Board, Micro SD Card, a size 00 Phillips screwdriver, and Scotch tape.

  6. UE4 Google Speech Kit

    Go to google cloud and create payment account. Enable Cloud Speech-to-Text API and Cloud Text-to-Speech API. Create credentials to access your enabled APIs. See instructions here. There are two ways how you can use your credentials in project. 4.1 By using environment variables. Create environment variable GOOGLE_API_KEY with created key as value.

  7. AIY Voice Kit: Inspiring the maker community

    Cool things makers are doing with Voice Kit. Martin Mander created a retro-inspired intercom that he calls 1986 Google Pi Intercom. He describes it as "a wall-mounted Google voice assistant using a Raspberry Pi 3 and the AIY Voice Kit.". He used a mid-80s intercom that he bought on sale for £4.

  8. AIY Projects: Do-it-yourself AI for Makers

    The first open source reference project is the Voice Kit: instructions to build a Voice User Interface (VUI) that can use cloud services (like the new Google Assistant SDK or Cloud Speech API) or run completely on-device.This project extends the functionality of the most popular single board computer used for digital making - the Raspberry Pi.

  9. Voice Kit overview

    Voice Kit overview ¶ The AIY Voice Kit is a do-it-yourself intelligent speaker built with a Raspberry Pi and the Voice Bonnet (or Voice HAT if using the V1 Voice Kit). ... To interact with the Google Assistant, convert speech to text, and perform other actions with the Voice Kit, the system image includes Python library with the following ...

  10. aiyprojects-raspbian/docs/voice.md at aiyprojects · google ...

    Voice Kit overview. The AIY Voice Kit is a do-it-yourself intelligent speaker built with a Raspberry Pi and the Voice Bonnet (or Voice HAT if using the V1 Voice Kit). After you assemble the kit and run the included demos, you can extend the kit with your own software and hardware. Also see the Voice Kit assembly guide.

  11. Speech-to-Text

    Speech-to-Text | Google Cloud

  12. Google AIY Voice Kit for Raspberry Pi V2 : ID 4080 : Adafruit

    With this AIY Voice Kit from Google, you can build a standalone Google Assistant smart speaker or add voice recognition and natural language processing to your Raspberry Pi-based projects. The kit includes all of the components needed to assemble the basic kit that works with the Google Assistant SDK as well as on-device voice recognition with ...

  13. Google Voice

    Google Voice. Smart voice calling on all your devices. For personal use. Android iOS Web. Not in US? Learn more. For business. A smarter phone number. A Voice number works on smartphones and the web so you can place and receive calls from anywhere. Save time, stay connected. From simple navigation to voicemail transcription, Voice makes it ...

  14. Speech Recognition & Synthesis

    To use Google Speech-to-Text functionality on your Android device, go to Settings > Apps & notifications > Default apps > Assist App. Select Speech Recognition and Synthesis from Google as your preferred voice input engine. Speech Services powers applications to read the text on your screen aloud. For example, it can be used by: To use Google ...

  15. Hacking the Google AIY Voice Kit

    Introduction. The Google AIY Voice Kit is a package that consists of a custom Raspberry Pi HAT (Hardware Attached on Top) board, a stereo microphone board, a push button switch with integrated LED, a small speaker and an assortment of cables and hardware to attach everything to a Raspberry Pi 3. Everything fits together in a cute little cardboard box.

  16. Speech-to-Text documentation

    Speech-to-Text documentation. View all product documentation. Speech-to-Text enables easy integration of Google speech recognition technologies into developer applications. Send audio and receive a text transcription from the Speech-to-Text API service. Learn more.

  17. Help

    First, make sure your Voice Kit is still connected to a power supply and that the green LED on your Bonnet is still flashing. If it's not flashing, it may have timed out. Press and hold the Bonnet button for 5 seconds, and try again. If that doesn't work, first try restarting the app. Then if that doesn't work, your phone could be ...

  18. Trying to set up Google Speech Kit Plugin

    Hi there, I just bought this plugin from the marketplace Google Speech Kit in Code Plugins - UE Marketplace and I'm following the documentation to set it up. ( GitHub - IlgarLunin/UE4GoogleSpeechKit-docs: Documentation page for GoogleSpeechKit ue4 plugin ). My blueprint is all set up as documentation say (see image below) but when it arrives ...

  19. Google Assistant SDK

    Create a project in minutes. Use our gRPC API with our Python client library or generated bindings for languages like Go, Java (including support for Android Things), C#, Node.js, and Ruby to give you the flexibility you need. Get links to learn about Google Assistant for experimental projects or the Google Assistant Service.

  20. Supported voices and languages

    Supported voices and languages. Text-to-Speech provides the following voices. The list includes Neural2, Studio, Standard, and WaveNet voices. Studio, Neural2 and WaveNet voices are higher quality voices with different pricing; in the list, they have the voice type 'Neural2', 'Studio' or 'WaveNet'. To use these voices to create synthetic speech ...

  21. Google Speech Kit in Code Plugins

    10 reviews written 72 of 76 questions answered. Google speech api integration. $29.99 Sign in to Buy. Supported Platforms. Supported Engine Versions. 4.20 - 4.27, 5.0 - 5.4. Download Type. Engine Plugin. This product contains a code plugin, complete with pre-built binaries and all its source code that integrates with Unreal Engine, which can be ...

  22. Google Speech Kit in Code Plugins

    Google speech api integration. $29.99 Sign in to Buy. Supported Platforms. Supported Engine Versions. 4.20 - 4.27, 5.0 - 5.4. Download Type. Engine Plugin. This product contains a code plugin, complete with pre-built binaries and all its source code that integrates with Unreal Engine, which can be installed to an engine version of your choice ...

  23. 在代码插件创建的Google Speech Kit

    Google speech api integration. $29.99 登录购买. 支持的平台. 支持的引擎版本. 4.20 - 4.27, 5.0 - 5.4. 下载类型. 引擎插件. 此产品包含一款代码插件,含有预编译的二进制文件以及与虚幻引擎集成的所有源代码,能够安装到您选择的引擎版本中,并根据每个项目的需求启动。.