# Speech Synthesis on the Raspberry Pi

## Overview

https://youtu.be/kzgYpn55ijg

Talking computers were on fire 20 to 30 years ago. &nbsp;Movies like War Games and TV series like Knight Rider featured electronics&nbsp;speaking to their human operators. Speak-n-Spell machines taught a generation of children. Then the magic was out of the bottle and the focus drifted to other technologies.

Today, we have a new explosion of voice enabled devices. &nbsp;They announced this week the Amazon Echo will read Kindle books &nbsp;You will see more devices speaking with the growth of the Internet of Things. &nbsp;Special speech systhesis chips of old are no longer required. &nbsp;The smallest of today's Linux computers often has the capabity to output speech. &nbsp;This includes the Raspberry Pi line of single board computers.

From the Raspberry Pi Zero to the A+/B+ to the Raspberry Pi 2, all have the capacity to run free software to turn text to speech.

This tutorial will show you how to have your Pi use the free software packages Festival and its derivative Flite to output voice.

## Festival

Festival, written by&nbsp;The Centre for Speech Technology Research in the UK, offers a framework for building speech synthesis systems. It offers full text to speech through a number APIs: from shell level, via&nbsp;a command interpreter, as a C++ library, from Java, and an Emacs editor interface. Festival is multi-lingual (currently British English, American English, and Spanish. Other groups work to release new languages for the system. &nbsp;Festival is in the package manager for the Raspberry Pi making it very easy to install.

## Flite

Flite is a lighter version of Festival built specifically for embedded systems. &nbsp;It has commands that make it easier to use than Festival on the command line. &nbsp;It runs faster than Festival so we have included as an optional bonus at the end of the tutorial. The downside to using Flite is that the current package as of April 2019 was not compiled correctly for Raspbian so it takes a few more minutes to get it up and running.&nbsp;

There are other speech programs that work well on Raspbian so if festival or flite do not meet your needs consider the following.

- &nbsp;espeak
  - multi-lingual software speech synthesizer
  - 
```
sudo apt-get install espeak
```

- say
  - converts text to audible speech&nbsp;
  - 
```
sudo apt-get install gnustep-gui-runtime
```

- spd-say
  - sends text-to-speech output request to speech-dispatcher&nbsp;
  - 
```
sudo apt-get install speech-dispatcher
```

# Speech Synthesis on the Raspberry Pi

## Setting Up Your Pi

If you have a fresh "out of the box" Raspberry Pi, you will need to connect a keyboard and display to the board and install the latest version of the Raspian operating system. &nbsp;The Adafruit Learning System has a a series,&nbsp;[Learn Raspberry Pi](../../../../adafruit-raspberry-pi-lesson-1-preparing-and-sd-card-for-your-raspberry-pi "Learn Raspberry Pi"),&nbsp;to assist in getting your Pi up and running successfully.

At this point, you have two ways to output audio on the Pi. &nbsp;All Raspberry Pi boards have an HDMI video out port which will also output audio if your display will also output audio. &nbsp;For most Raspberry Pi boards, there is also a headphone type audio output. &nbsp;The Models A and B use a dedicated 3.5 millimeter audio output jack. Later model A+, B+, and Raspberry Pi2 use a jack that outputs both stereo audio and video.

Info: 

You should go ahead and&nbsp;select the HDMI or audio jack as the primary video output. &nbsp;The Raspbian distribution includes the raspi-config utility. &nbsp;From the command line, type

> sudo raspi-config

If you are in the graphical environment, you can get to the command line by clicking the terminal icon circled in green below. &nbsp;That will pop up the black background terminal window. &nbsp;Then you can type commands.

![](https://cdn-learn.adafruit.com/assets/assets/000/029/894/medium800/raspberry_pi_raspi-terminal.png?1453133507)

When you type `sudo raspi-config`, you will get the text menu below:

```
sudo raspi-config
```

![](https://cdn-learn.adafruit.com/assets/assets/000/076/091/medium800/learn_raspberry_pi_29FBB2F8-D9FB-40F5-8687-9CF752321FB9.jpeg?1558909032)

![](https://cdn-learn.adafruit.com/assets/assets/000/076/087/medium800/learn_raspberry_pi_BD8E90D5-CCDF-4A18-8E4E-5C52A8255493.jpeg?1558908994)

Select **Advanced Options** &nbsp;(note this may be the 7th option depending on the raspi-config version you are running). &nbsp;When selected, you will see:

![](https://cdn-learn.adafruit.com/assets/assets/000/076/088/medium800/learn_raspberry_pi_6506A450-B4D0-4B63-8CFD-E6AADBAD0ED5.jpeg?1558909004)

Select the **Audio** option and you will see:

![](https://cdn-learn.adafruit.com/assets/assets/000/076/089/medium800/learn_raspberry_pi_AF3B545F-F832-49D1-950F-E45C44DB1DF6.jpeg?1558909014)

I suggest if you have a specific output you are planning to use to select HDMI or Headphone jack. &nbsp;I had used HDMI then plugged in a headphone set. &nbsp;The voice was still over HDMI so the Auto is not quite as plug and play as on a PC or Mac.

Once you have made your selection, you can select \<Ok\> then \<Finish\> to get back to the command line.

At this point your Raspberry Pi should be ready to install the Festival software.

![](https://cdn-learn.adafruit.com/assets/assets/000/076/090/medium800/learn_raspberry_pi_C532D3DF-9186-4B33-B99D-26B3ABAE5A13.jpeg?1558909023)

Info: 

# Speech Synthesis on the Raspberry Pi

## The Festival Speech Package

Festival is included in the Debian package library so installation is quite easy. &nbsp;At the command prompt type:

```python
sudo apt-get install -y libasound2-plugins festival
```

![](https://cdn-learn.adafruit.com/assets/assets/000/029/896/medium800/raspberry_pi_festival-install-hilite.png?1453135549)

# Speech Synthesis on the Raspberry Pi

## Speaking!

Let's start using&nbsp;Festival with&nbsp;some command line examples.

First, to test the installation, we will send a simple message to Festival via the Linux/unix echo command via a pipe. &nbsp;A Pipe can be thought of as receiving the result of the command to the left of it in a command. &nbsp;You may have seen using a pipe in verbose directory listings by typing "ls -l | more". &nbsp;The directory output was taken in by the more command to display one page at a time. &nbsp;So for speaking our first sentence, we'll type:

```
echo "Hello World!" | festival --tts
```

You should hear the Pi utter Hello World either over HDMI or the headphone jack. Adjust the volume if you do not hear it at first. &nbsp;If you have nothing (and no error message), be sure you have plugged in your audio (HDMI cable with audio out or headphones or amplified speaker on the audio jack). &nbsp;Then be sure you selected that audio output in raspi-config as listed on the previous page.

The Festival [command line argument](http://www.festvox.org/docs/manual-2.4.0/festival_7.html#Basic-command-line-options "command line argument")&nbsp;--tts tells the program to treat the input as text to speech. &nbsp;With no arguments, Festival will put you into its interactive&nbsp;mode which you can exit by pressing the Ctrl key and simultaneously pressing the z key (abbreviated Ctrl-z) if you get stuck.

Typing festival --help gives you a quick listing of commands. &nbsp;But to get a full feeling of all Festival can do, you can go to the [project main page](http://www.cstr.ed.ac.uk/projects/festival/ "project main page")&nbsp;and read up including the [extensive manual](http://www.festvox.org/docs/manual-2.4.0/festival_toc.html "manual").

Something more useful is having Festival reading text from a file. &nbsp;You can have different files for different phrases, and invoke them in a shell script, Python, C or other programming environment.

For example, the text of US President Thomas Jefferson's inaugural&nbsp;address is&nbsp;available free by typing:

```
wget https://ia800202.us.archive.org/14/items/uspresidentialin04938gut/inagu10m/Thomas_Jefferson.txt
```

Then you can have festival read the text file by typing the command line.&nbsp;You can interrupt a voice stream by pressing the Ctrl-C key sequence.

```
festival --tts Thomas_Jefferson.txt
```

# Speech Synthesis on the Raspberry Pi

## Fun Uses for Speech

Now to turn the cute to the useful. &nbsp;Organizations are predicting that voice will surpass typing in the future. &nbsp;If voice will be the primary input method, voice can be the informational output (it is much more useful to get information with earbuds than carrying a 24 inch LCD display with you).

## Reading to You

Speaking content in other file formats usually requires a conversion of the file to a text format. PDF is a popular format for documents and some eBooks. Fortunately the default Rasbian Jessie has a great utility, pdftotext, which has alot of options if you need them (you can just type `pdftotext` to get the list). &nbsp;The basics are rather easy. &nbsp;Say you have mydocument.pdf on your Pi.&nbsp;

```
pdftotext mydocument.pdf mydocument.txt
festival --tts mydocument.txt
```

## Reading Your Fortune

Nearly all Unix and Linux systems have a utility called fortune which reads you a random quote for the day. &nbsp;I'm not sure why Rasbian does not have it by default but it is available to load:

```
sudo apt-get install fortune-mod
```

Then whenever you want to have a new fortune read, type:

```
fortune | festival --tts
```

To read a selection of fortunes to see what output is generates, just type fortune at the command prompt. &nbsp;To read about adding your own qoutes to the fortune database on your Pi, see this thread on [the Rasberry Pi forums](https://www.raspberrypi.org/forums/viewtopic.php?t=55118&p=418614).

## Reading the Weather

There is a cool utility for Linux, weather-util, that is able to look up local weather given a location code. &nbsp;Install the package:

```
sudo apt-get install weather-util
```

![](https://cdn-learn.adafruit.com/assets/assets/000/076/314/medium800/learn_raspberry_pi_apt-weather-util.png?1559341858)

When loaded, you can type weather to see what options there are. &nbsp;The program will accept airport identification codes, city and state names, and more. &nbsp;It will search an online database to find matching locations. If the number of locations is too big (typing weather washington&nbsp;for example), it will ask for a narrower search. If you get close but still too many, it will prefix each with a "fips number". Typing weather followed by a specific fips number will pick that unique location. For example:

```
weather nyz072
```

![](https://cdn-learn.adafruit.com/assets/assets/000/076/315/medium800/learn_raspberry_pi_weather-nyz.png?1559341961)

Using a broad query such as " **washington**" results is too ambiguous.&nbsp;

![](https://cdn-learn.adafruit.com/assets/assets/000/029/941/medium800/raspberry_pi_weather-wash.png?1453539587)

Ok, let's be more specific:

![](https://cdn-learn.adafruit.com/assets/assets/000/029/942/medium800/raspberry_pi_weather-boise.png?1453539757)

So to get the specifc location, we can type the fips number:

![](https://cdn-learn.adafruit.com/assets/assets/000/029/943/medium800/raspberry_pi_weather-boise-first.png?1453542518)

weather will now cache this location so it does not have to do such an extensive search next time. &nbsp;For speaking the weather, we do not want any of the text before the temperature, so caching one time and adding the -q (quiet) flag gets us the text we want to be read. &nbsp;So to speak the Boise weather, we can feed the weather output into flite:

```
weather -q fips1600190345 | festival --tts
```

![](https://cdn-learn.adafruit.com/assets/assets/000/076/313/medium800/learn_raspberry_pi_weather-festival.png?1559341740)

and it will sound like:

[weather2.wav](https://learn.adafruit.com/system/assets/assets/000/029/944/original/weather2.wav?1453543914)
# Speech Synthesis on the Raspberry Pi

## Integration With Python

Below we provide two examples of generating speech with the **festival** program.&nbsp;

1. Saying Star Wars quotes based on button presses.
2. Speaking Temperature using the MCP9808 sensor.

## CircuitPython Library Support
If you are already running the latest Raspian distrobution you will need to install these two packages to run the CircuitPython examples in this guide.&nbsp;

```
sudo pip3 install adafruit-blinka
```

```
sudo pip3 install adafruit-circuitpython-mcp9808
```

## Saying Sounds and Using Buttons
![](https://cdn-learn.adafruit.com/assets/assets/000/076/306/medium800/learn_raspberry_pi_playing_sounds_using_buttons.jpg?1559333760)

Adafruit has a great tutorial on hooking buttons to your Raspberry Pi and using Python to output sounds:&nbsp;[Playing sounds and using buttons with Raspberry Pi](../../../../playing-sounds-and-using-buttons-with-raspberry-pi/overview). That tutorial uses the omxplayer program to play sounds. &nbsp;We'll change the code to use festival and say programmed sentences:

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Speech_Synthesis_on_the_Raspberry_Pi/saying_sounds_using_buttons/code.py

We can easily copy this code onto our Pi using the 'wget' command and run it using the following python syntax.

```
wget https://raw.githubusercontent.com/adafruit/Adafruit_Learning_System_Guides/master/Speech_Synthesis_on_the_Raspberry_Pi/saying_sounds_using_buttons.py
sudo python3 ./saying_sounds_using_buttons.py
```

## Speaking Temperature
You can also programmatically change the sentences&nbsp;depending on your code.&nbsp;We'll modify the Adafruit tutorial [MCP9808 Temperature Sensor Python Library](../../../../mcp9808-temperature-sensor-python-library/). The tutorial shows wiring the sensor to your Pi and printing out values. Instead of printing the values, suppose we have Flite read the value to you. &nbsp;The code would change to:

![](https://cdn-learn.adafruit.com/assets/assets/000/076/302/medium800/learn_raspberry_pi_speaking_temperature_bb.png?1559333125)

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Speech_Synthesis_on_the_Raspberry_Pi/speaking_temperature/code.py

The sky is the limit as far as having sentences change depending on sensors, time of day, the weather, and more.

We can easily copy this code onto our Pi using the 'wget' command and run it using the following python syntax.

```
wget https://raw.githubusercontent.com/adafruit/Adafruit_Learning_System_Guides/master/Speech_Synthesis_on_the_Raspberry_Pi/speaking_temperature.py
sudo python3 ./speaking_temperature.py
```

https://youtu.be/KpDbEeJTyKQ

# Speech Synthesis on the Raspberry Pi

## Talking Clock

https://youtu.be/kzgYpn55ijg

How many times have you wished you could have something just speak the time of day? Well with just a more work with Flite, a talking clock is yours.

The Unix/Linux date command provides a near infinite amount of flexibility in providing the date and time. &nbsp;`date --help` lists all the available options. &nbsp;Here are some handy formatting for date that work well spoken:

date +%T &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;the time in hh:mm:ss format  
date +%H:%M &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; the time in hour and minute (24 hour time)  
date "+%I:%M %P" &nbsp;the time in hour and minute with AM or PM at the end

date +%D &nbsp; &nbsp;the date in mm/dd/yy format  
date "+%A %B %d %Y" &nbsp;the date like Sunday January 23 2016  
date "+%A %d %B %Y" &nbsp;the date like Sunday 23 January 2016

So take your favorites and you can add the commands to a shell script or python program like we did in the previous page:

> date "+%H:%M %P" | flite &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (for just a clock)  
> date "+%H:%M %P %A %d %B %Y" | flite &nbsp; &nbsp;(adds the date)

## Clock Accuracy

There are some options. &nbsp;If your Raspberry Pi is connected to the Internet, the operating system (Raspbian) gets the time from the Internet from a Network Time Protocol (NTP) server. &nbsp;So you have a good time sync, accurate within a second or two. The Pi does not have a battery backed [real-time clock](https://www.adafruit.com/products/2345)&nbsp;(RTC) to keep time in case it is not connected to the Internet or if it loses power and does not have an Internet connection. &nbsp;Several third-party add-on boards (sometimes called HATS) provide a hardware RTC that will keep very accurate time, sometimes even temperature compensated. &nbsp;Finally, [a GPS receiver](https://www.adafruit.com/products/2324)&nbsp;can not only provide position data, but a GPS connected board can get the atomic accurate time from satellites as well. &nbsp;GPS is not often used for time as it is more expensive and less common.

## Add a Button

Reading the time of day in a loop is rather tiring. We need a trigger to read the time when an event happens.&nbsp;&nbsp;

The Fritzing diagram for the button connected to the Pi:

![](https://cdn-learn.adafruit.com/assets/assets/000/076/301/medium800/learn_raspberry_pi_talking_clock_bb.png?1559333006)

## Python Code

The code to check the switch in a loop and say the time if the button is pressed:

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/Speech_Synthesis_on_the_Raspberry_Pi/talking_clock/code.py

We can easily copy this code onto our Pi using the 'wget' command and run it using the following python syntax.

```
wget https://raw.githubusercontent.com/adafruit/Adafruit_Learning_System_Guides/master/Speech_Synthesis_on_the_Raspberry_Pi/talking_clock.py
sudo python3 ./talking_clock.py
```

And here it is in action:

[Raspberry_Pi_Speech_Demo.mpg](https://learn.adafruit.com/system/assets/assets/000/029/949/original/Raspberry_Pi_Speech_Demo.mpg?1453582343)
![](https://cdn-learn.adafruit.com/assets/assets/000/029/950/medium800/raspberry_pi_project-picture.jpg?1453584028)

# Speech Synthesis on the Raspberry Pi

## Bonus : Speak Easier: Flite

[Flite](http://www.festvox.org/flite/ "Flite")&nbsp;(festival-lite) is a small, fast open source text to speech synthesis engine developed at CMU and primarily designed for small embedded machines and/or large servers. Flite is designed as an alternative text to speech synthesis engine to Festival for voices built using the [FestVox suite](http://www.festvox.org/index.html "FestVox suite")&nbsp;of voice building tools.

While flite can be installed using the usual 'apt-get install flite' the current version will not work on Raspberry Pi's as of April 2019. The package was built without support for alsa which is required for Raspberry Pi. We will walk you through building your own version from scratch along with a few example commands for usage. You can replace festival in our code examples with "flite" should you need a faster more flexible program.

## Building Flite
 **Method 1:**

There should be a package available. At the command line:

```auto
sudo apt install flite
```

And try the Reading Text section if it appears to work. If this method doesn't work, try the following to get the source and install it:

**Method 2:**

Move to the Downloads folder and install the necessary **libasound2-dev** package that flite requires:

```
cd ~/Downloads
sudo apt-get install libasound2-dev
```

![](https://cdn-learn.adafruit.com/assets/assets/000/076/288/medium800/learn_raspberry_pi_libasound.png?1559331848)

Next we will grab the latest version of the flite "tarball".

```
wget http://www.festvox.org/flite/packed/flite-2.1/flite-2.1-release.tar.bz2
```

![](https://cdn-learn.adafruit.com/assets/assets/000/076/294/medium800/learn_raspberry_pi_wget.png?1559332197)

Now we can uncompress the files, change into the new source code directory and start the configure process.&nbsp;

```
tar -xvf flite-2.1-release.tar.bz2
cd flite-2.1-release
./configure --with-audio=alsa --with-vox=awb

```

![](https://cdn-learn.adafruit.com/assets/assets/000/076/293/medium800/learn_raspberry_pi_configure.png?1559332181)

It will take several minutes to compile the source even on todays fastest Raspberry Pi B+. We will use the **make** command command to start the compilation.

```
make
```

![](https://cdn-learn.adafruit.com/assets/assets/000/076/299/medium800/learn_raspberry_pi_make.png?1559332304)

Once the make command has completed without errors we can install the files using the following command:

```
sudo make install
```

![](https://cdn-learn.adafruit.com/assets/assets/000/076/300/medium800/learn_raspberry_pi_make_install.png?1559332348)

## Reading Text
You are now set to try it out. &nbsp;For simple text, use text after the -t flag:

```
flite -t "All good men come to the aid of the rebellion"
```

and you can have flite speak the contents of a file with -f

```
flite -f Thomas_Jefferson.txt
```

Sounds pretty good, eh?

You are not limited to the default voice. &nbsp;If you type:

```
flite -lv
```

you get a list of available voices like this:

![](https://cdn-learn.adafruit.com/assets/assets/000/029/913/medium800/raspberry_pi_flite-voices.png?1453232920)

To use a different voice, use the -voice flag followed by one of the voices in the listing

> flite -voice awb -t "The Raspberry Pi is a great Maker platform!"

If you would like one of the voices listed but not installed by default, they can be downloaded from the [Flite website](http://www.festvox.org/flite/).

There is a large selection of voices to choose from in the [download area of the Flite website](http://www.festvox.org/flite/packed/flite-2.0/voices/).&nbsp;

## WAV File Output

If you have only a fixed set of phrases, it might be better to have the sentences in an audio file instead of generating them every time you want them spoken. &nbsp;Fortunately Flite will save its voice to a wav file (a standard sound file format):

```
flite -t "Shall we play a game?" -o wargames1.wav
flite -t "Lets play global thermonuclear war." -o wargames2.wav
```

You can then use a number of Linux programs to output the text file when you need to. &nbsp;`aplay` is one such program already on the Raspberry Pi:

```
aplay wargames1.wav
aplay wargames2.wav
```

You can even copy these wav files to your PC/Mac or Arduino wave shield SD card and play the voices on other equipment.


## Featured Products

### Raspberry Pi 3 - Model B+ - 1.4GHz Cortex-A53 with 1GB RAM

[Raspberry Pi 3 - Model B+ - 1.4GHz Cortex-A53 with 1GB RAM](https://www.adafruit.com/product/3775)
The Raspberry Pi 3 Model B is the most popular Raspberry Pi computer made, and the Pi Foundation knows you can always make a good thing _better_! And what could make the Pi 3 better? How about a&nbsp;_faster_ processor, 5 GHz WiFi, and updated Ethernet chip with PoE capability?...

In Stock
[Buy Now](https://www.adafruit.com/product/3775)
[Related Guides to the Product](https://learn.adafruit.com/products/3775/guides)
### Adafruit Pi T-Cobbler Plus Kit Breakout for 2x20 Raspberry Pi

[Adafruit Pi T-Cobbler Plus Kit Breakout for 2x20 Raspberry Pi](https://www.adafruit.com/product/1989)
The Raspberry Pi A+/B+/Pi 2/Pi 3/Zero has landed on the Maker World like a 40-GPIO pinned, quad-USB ported, credit card sized bomb of DIY joy. And while you can use most of our great Model B accessories by hooking up our [downgrade cable,](https://www.adafruit.com/product/1986)...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/1989)
[Related Guides to the Product](https://learn.adafruit.com/products/1989/guides)
### Assembled Pi Cobbler Plus - Breakout Cable

[Assembled Pi Cobbler Plus - Breakout Cable](https://www.adafruit.com/product/2029)
The Raspberry Pi B+ / Pi 2 / Pi 3 / Pi 4&nbsp;has landed on the Maker World like a 40-GPIO pinned, quad-USB ported, credit card sized bomb of DIY joy. And while you can use most of our great Model B accessories by hooking up our [downgrade...](https://www.adafruit.com/product/1986)

In Stock
[Buy Now](https://www.adafruit.com/product/2029)
[Related Guides to the Product](https://learn.adafruit.com/products/2029/guides)
### MCP9808 High Accuracy I2C Temperature Sensor Breakout Board

[MCP9808 High Accuracy I2C Temperature Sensor Breakout Board](https://www.adafruit.com/product/1782)
This I2C digital temperature sensor is one of the more accurate/precise we've ever seen, with a typical accuracy of ±0.25°C over the sensor's -40°C to +125°C range and precision of +0.0625°C. They work great with any microcontroller using standard i2c. There are...

In Stock
[Buy Now](https://www.adafruit.com/product/1782)
[Related Guides to the Product](https://learn.adafruit.com/products/1782/guides)
### Tactile Button switch (6mm) x 20 pack

[Tactile Button switch (6mm) x 20 pack](https://www.adafruit.com/product/367)
Little clicky switches are standard input "buttons" on electronic projects. These work best in a PCB but [can be used on a solderless breadboard as shown in this tutorial](https://learn.adafruit.com/adafruit-arduino-lesson-6-digital-inputs?view=all). The pins are normally...

In Stock
[Buy Now](https://www.adafruit.com/product/367)
[Related Guides to the Product](https://learn.adafruit.com/products/367/guides)
### Premium Female/Male 'Extension' Jumper Wires - 20 x 6"

[Premium Female/Male 'Extension' Jumper Wires - 20 x 6"](https://www.adafruit.com/product/1954)
These Female/Male Extension jumper wires are handy for making wire harnesses or jumpering between headers on PCB's. These premium jumper wires are 6" (150mm) long and come in a 'strip' of 20 (2&nbsp;pieces of each of ten rainbow colors). They have 0.1" male header...

In Stock
[Buy Now](https://www.adafruit.com/product/1954)
[Related Guides to the Product](https://learn.adafruit.com/products/1954/guides)
### USB Powered Speakers

[USB Powered Speakers](https://www.adafruit.com/product/1363)
Add some extra boom to your audio project with these powered loudspeakers. We sampled half a dozen different models to find ones with a good frequency response, so you'll get quality audio output for music playback. Simply connect the standard 3.5mm stereo plug into your Raspberry Pi model...

In Stock
[Buy Now](https://www.adafruit.com/product/1363)
[Related Guides to the Product](https://learn.adafruit.com/products/1363/guides)
### Half Sized Premium Breadboard - 400 Tie Points

[Half Sized Premium Breadboard - 400 Tie Points](https://www.adafruit.com/product/64)
This is a cute, half-size breadboard with&nbsp;400 tie points, good for small projects. It's 3.25" x 2.2" / 8.3cm&nbsp;x 5.5cm&nbsp;with a standard double-strip in the middle and two power rails on both sides.&nbsp;You can pull the power rails off easily to make the breadboard as...

In Stock
[Buy Now](https://www.adafruit.com/product/64)
[Related Guides to the Product](https://learn.adafruit.com/products/64/guides)

## Related Guides

- [Adafruit MCP9808 Precision I2C Temperature Sensor Guide](https://learn.adafruit.com/adafruit-mcp9808-precision-i2c-temperature-sensor-guide.md)
- [Moonshine Voice Control on Raspberry Pi](https://learn.adafruit.com/moonshine-voice-control-on-raspberry-pi.md)
- [Adafruit's Raspberry Pi Lesson 11. DS18B20 Temperature Sensing](https://learn.adafruit.com/adafruits-raspberry-pi-lesson-11-ds18b20-temperature-sensing.md)
- [Program an AVR or Arduino Using Raspberry Pi GPIO](https://learn.adafruit.com/program-an-avr-or-arduino-using-raspberry-pi-gpio-pins.md)
- [I2C Addresses and Troublesome Chips](https://learn.adafruit.com/i2c-addresses.md)
- [Capacitive Touch Sensors on the Raspberry Pi](https://learn.adafruit.com/capacitive-touch-sensors-on-the-raspberry-pi.md)
- [Adafruit FT232H With SPI & I2C Devices](https://learn.adafruit.com/adafruit-ft232h-with-spi-and-i2c-libraries.md)
- [Monitor PiCam and temperature on a PiTFT via adafruit.io](https://learn.adafruit.com/monitor-picam-and-temperature-on-a-pitft-via-adafruit-dot-io.md)
- [Basic Resistor Sensor Reading on Raspberry Pi](https://learn.adafruit.com/basic-resistor-sensor-reading-on-raspberry-pi.md)
- [Playing sounds and using buttons with Raspberry Pi](https://learn.adafruit.com/playing-sounds-and-using-buttons-with-raspberry-pi.md)
- [Wearable Continuous Temperature Monitor with Adafruit IO](https://learn.adafruit.com/wearable-temperature-monitor.md)
- [Adafruit's Raspberry Pi Lesson 10. Stepper Motors](https://learn.adafruit.com/adafruits-raspberry-pi-lesson-10-stepper-motors.md)
- [Kombucha Thermostat with CircuitPython and Feather ](https://learn.adafruit.com/kombucha-thermostat-with-circuitpython-and-feather.md)
- [Circadian Pi Desk Light](https://learn.adafruit.com/circadian-pi-desk-light.md)
- [Matrix and 7-Segment LED Backpack with the Raspberry Pi](https://learn.adafruit.com/matrix-7-segment-led-backpack-with-the-raspberry-pi.md)
