AI on the Edge LESSON 12: Introduction to Python Threading on the Raspberry Pi

The challenge we face as we move forward in this class is that certain important functions which we need are ‘Blocking’ in nature. That is, they block the remainder of the program as they wait for input. For example, imagine blinking an LED and having the user input the delay time. When the program is waiting for user input, it can not continue to perform the blinking operation. This is also true for speech input. While the program waits for you to say something, execution of the remainder of the program stalls. To overcome this, we use threads. Threads are functions, or small snippets of code, which we can have execute in the background. In today’s lesson, I will show you how to incorporate threading into your AI projects.

In today’s lesson, this is the code we developed.

 

AI on the Edge LESSON 11: Control LED on Raspberry Pi With Voice Commands

In this video lesson I show you my solution to the homework assignment I gave in LESSON #10. The assignment was to control an LED using voice commands on the Raspberry Pi. This uses the Speech To Text expertise we developed in the last few lessons, but incorporates them into a real world project. With this basic framework, you are now equipped to make speech part of your future Raspberry Pi projects.

This is the schematic of the circuit we are using for our AI class. We go into great detail on this schematic in LESSON #5 if you want to learn more about it.

Fusion Hat Circuit Diagram
This is the circuit we will use moving forward in the class

Now this is the code we developed in this lesson:

 

AI on the Edge LESSON 10: Make Your Raspberry Pi Listen to You with Voice Commands

In this video lesson you will learn how to train the Raspberry Pi to take voice commands from you. We do this through the Fusion AI+ hat’s microphone, and a Speech to Text (STT) model. Our goal is to develop the ability to interact with our projects through spoken words. We give commands to the project, and then it responds intelligently with words.

Remember these lessons depend on you using the AI Educational OS, a special version of bookworm that has all the libraries, modules, and models already installed for you. See LESSON #2 in this class for instructions on flashing that OS.

Below is the simple demonstration code we developed to give simple voice commands:

Similar to our Speech to Text example, the first time you run this program you will get a permissions error. You need to open a terminal, and put these commands in one at a time to enable permissions. This only has to be done once, and after that this and all STT programs should run properly.

 

AI on the Edge LESSON 9: Make Your Raspberry Pi Talk with TTS

In this video lesson I show you how to make your Pi Project talk to you using Text to Speech (TTS). We will use the Piper Model which gives good clear voice, and a choice from a large number of different models.

In this lesson I show you my solution to the Homework assigned in LESSON #8.

In this lesson we demonstrate this program, which makes the Pi talk, through the Fusion HAT+ speaker. The homework was to create a program that smoothly adjust the brightness of an LED using a potentiometer. The project was also to speak to the user, indicating what brightness the LED was set at.

This is the schematic we are using on these projects;

Fusion Hat Circuit Diagram
This is the circuit we will use moving forward in the class

This Schematic is explained in detail in LESSON #5.

Then this is the code we developed in today’s lesson.

 

AI on the Edge LESSON 8: Text to Speech (TTS) on the Raspberry Pi

In this video lesson I will show you how to get the Raspberry Pi to speak to you in plain English. This is our first dabbling with AI. In earlier lessons we have discussed that one of our first objectives will be to begin to audibly interact with our project through speech. The first step will be to get the Pi to talk to us. Then in future lessons we will show how to get the Pi to listen to us.

In this lesson we demonstrated simple Text to Speech (TTS) with this code.

Remember this program requires use of the AI Educational OS we flashed in LESSON #2.

As we say in the video, the first time you run the program you will get a permission error. This is because the model folders are inside a system folder and must be created as a ‘superuser’ using ‘sudo’. As shown in the video, you need to open a terminal window, and type in these commands at the command prompt (Put them in one at a time):

You only need to do that one time. Next time you run the program, all will work properly.

Then, in order to hear all the different voice models Piper offers, you can run this program, and each voice will introduce itself to you.

 

Remember in these early lessons we are using this circuit to demo our programs. Please leave this circuit put together.

Fusion Hat Circuit Diagram
This is the circuit we will use moving forward in the class

Making The World a Better Place One High Tech Project at a Time. Enjoy!