Add voice controls to your Raspberry Pi using Jasper

Add voice controls to your Raspberry Pi using JasperAdd voice controls to your Raspberry Pi using Jasper
Zach Zach (233)
Total time: 55 minutes 
Updated: March 7th, 2020

Jasper is an open-source voice-control platform that runs on a variety of systems, including the Raspberry Pi. You can use it to easily create a voice-controlled application that can add things to your Google Calendar, play Spotify playlists, or even accept commands to control your entire home using a platform like OpenHab.

Today I will show you how to install and configure Jasper on your Raspberry Pi so that you can send it voice commands and have it do cool things.

Jasper vs. Alexa Recently, Amazon has open-sourced Alexa, the voice-control platform used in its Amazon Echo. Because Alexa is newer, it has fewer prebuilt modules and integrations than Jasper does; in addition, Jasper utilizes a number of different Speech To Text (STT) and Text To Speech (TTS) engines and can run in offline mode, making it fundamentally different. However, the Jasper project is not as active as Alexa.

Is Jasper better than Alexa? No, it’s just different. However, because Jasper doesn’t require you to apply for a developer key like Alexa does, we’ll start here for Raspberry Pi voice-controlled applications.

Want to install Google Assistant or Alexa instead? Check out my Google Home smart mirror or learn how to install Alexa on the Raspberry Pi!

Here’s everything you’ll need to complete this guide:

USB microphone×1
Raspberry Pi power supply, 2A×1
Ethernet cable×1
Stereo speakers×1
MicroSD card, 32GB×1
MicroSD card reader×1
Raspberry Pi 3Raspberry Pi 3×1

If you came from the Raspberry Pi MagicMirror installation guide, then your Pi is already ready to install Jasper and you can skip to step 5. If not, download the latest Raspbian Jessie disk image and burn it onto your SD card.

Connect your Pi, USB microphone, stereo speakers, HDMI cable (optional), network cable (or WiFi dongle), and AC adapter. You don’t necessarily need to have a monitor available since we’ll be connecting remotely to the Pi to install and run Jasper, but it might be nice to have to view the output in its native environment.

Open Terminal (OS X) or Command Prompt (Windows) and find your Raspberry Pi’s IP:

ping raspberrypi

Then, connect to your Pi using the default Raspberry Pi username/password:

ssh pi@your-pis-ip
password: raspberry

For security reasons, it’s advisable to change the default Raspberry Pi username and password.

Expand filesystemExpand filesystem

Now that the image has been burned to your Pi’s SD card, we need to tell your Pi to use all available space by expanding the filesystem. Run:

sudo raspi-config

Highlight the first option and press enter. Then, press ESC to get back to the shell. Finally, reboot:

sudo reboot

Reconnect to your Pi and make sure everything is up to date:

sudo apt-get update
sudo apt-get upgrade --yes

There are three primary options to install Jasper on the Pi when using Raspbian Jessie: manually, using a disk image, or with an install script.

Option 1: Manual installation Pros: Doesn’t require moving a large image file around. Cons: Can get complicated and difficult to troubleshoot; the issue is that Raspbian Jessie is too new of an operating system version and Jasper for Raspbian Jessie is neither well-documented nor well-supported.

Option 2: Use a disk (SD card) image Pros: In theory, you install it and it works. Cons: The file is huge (I’m talking 30GBish huge); also, perhaps more importantly, no Raspbian Jessie image exists per the Jasper support forum.

Option 3: Use an install script Pros: Works great, and automates much of the leg work. Cons: Can’t think of any.

Richard Nelson/unixabg wrote a great install script that he shared on the Jasper support forum. We forked this script and made some minor changes to improve support for Raspbian Jessie. This is the script we’ll use to install.

Get the Jasper for Jessie install script:

cd ~/
wget https://raw.githubusercontent.com/Howchoo/raspi-helpers/master/scripts/jasper-installer.sh

Run the install script:

sudo chmod +x jasper-installer.sh
sudo ./jasper-installer.sh

You will now see the following:

######################################################
Welcome to the jasper-installer.sh script.
######################################################

######################################################
The installer script can install Jasper with or
without local Speech To Text (STT) support. By default
the jasper-installer.sh script will assume you want
network based STT. If you want local STT please answer
the question accordingly.

Select the desired STT support of (NETWORK or LOCAL)
(default: NETWORK) 

Edit: We’ll want to choose LOCAL because (it will break if you don’t)?

Specify whether you want local (installed directly on the pi) or network (internet access required for use) STT support. Since my Pi will always be connected to the Internet (and it’s simpler to use a remote service), I’m going to specify network:

NETWORK

It will take a bit to download and install all the necessary dependencies.

If you see an error similar to the following:

Could not open requirements file: [Errno 2] No such file or directory: '/root/jasper/client/requirements.txt'

Run:

sudo chmod +x ~/jasper/client/requirements.txt
sudo pip install --upgrade -r ~/jasper/client/requirements.txt

This will read Jasper’s required packages from requirements.txt and install/upgrade them accordingly.

Now we’ll set up our Jasper profile. This information will help us set up various integrations, localization of results, etc.

cd ~/jasper/client
python populate.py

Enter whatever information you’d like (First name, Last name, email address, phone number, time zone, etc.)

This profile will be used for certain add-ons that will provide things like weather, email notifications, text message alerts, etc.

Then, specify whether you’d rather receive notifications by text or email.

When prompted which STT (Speech to Text) engine you’d like to use, I recommend using PocketSphinx. Type the following and press enter:

sphinx

Editing your profile later The aforementioned script basically just writes to Jasper’s YAML profile file. To edit it later, run:

nano ~/.jasper/profile.yml

You can run Jasper manually by typing:

python /usr/local/lib/jasper/jasper.py

Note: The location into which you’ve installed Jasper may vary by your version of Raspbian. If you get a “not found” message try:

python /home/pi/jasper/jasper.py

You can also set Jasper to run at startup:

crontab -e

And insert the following line:

@reboot python /usr/local/lib/jasper/jasper.py;
# or, depending on your installation location:
# @reboot python /home/pi/jasper/jasper.py

Save and exit. Finally, Reboot your Pi:

sudo reboot

Troubleshooting note I ran into the following error when trying to run Jasper for the first time:

RuntimeError: hmm_dir '/usr/local/share/pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k' does not exist! Please make sure that you have set the correct hmm_dir in your profile.

To fix this, you’ll need to open up stt.py located at /usr/local/lib/jasper/client/stt.py.

vim /usr/local/lib/jasper/client/stt.py

Find the following line:

    def __init__(self, vocabulary, hmm_dir="/usr/local/share/" +
                 "pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k"):

and change it to:

    def __init__(self, vocabulary, hmm_dir="/usr/share/" +
                 "pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k"):

You just need to remove the word “local”.

Jasper is an “always listening” system, similar to Siri or Google Now. For example:

You: "Jasper"
Jasper: high beep
You: "What's the weather like tomorrow?"
Jasper: low beep
Jasper: (speaks the forecast)

Jasper comes preinstalled with a number of modules (commands) that you can use. You can also add custom modules, or create your own.

Included modules:

Time: "What's the time?"
Weather: "How's the weather?" Or, "what's the weather like tomorrow?"
News: "What's in the news?"
Gmail: "Do I have any email?"
Hacker News: "What's on Hacker News?"
Facebook Notifications: "Facebook notifications?"
Birthday: "Who has a birthday today?"
Jokes: "Tell me a knock-knock joke."
Life: "What is the meaning of life?"

Many additional modules can be installed to enhance your time with Jasper.

Google Calendar Retrieve and add events to your Google Calendar. Documentation

Spotify Speak commands to Jasper and he’ll play songs and playlists from Spotify. Documentation

OpenHab Control OpenHab using voice commands. OpenHab is an awesome open-source home automation system (that also runs on the Raspberry Pi!) Look for guides on OpenHab in the future; I’ll be posting some. Documentation

WolframAlpha WolframAlpha is an amazing computational search engine. Want to know how tall the Eiffel Tower is? Or when Paris was founded? Just ask Jasper, and he’ll ask WolframAlpha. Documentation

Movies Ask Jasper about a movie, and he’ll return information about the movie: length, IMDB rating, genre, etc. Documentation

Wikipedia Ask Jasper about a topic, and he’ll give you the Wikipedia summary of the article. Documentation

Other modules This is a fraction of the custom modules that have been written. For others not on this list, search around Github a bit.

Creating your own custom modules Want a module that will reply with the answer to an inside joke? (Or do something more useful than that?) You’re only a few lines of code away.

Problems? Questions? Post in the comments section below and I’ll do my best to help you out! Or the [Jasper Support Forum] is a great place to start.

If you’re looking for a good Jasper project to start off with, I made a voice-activated magic mirror guide that’s really straightforward.

Have fun!

Add voice controls to your Raspberry Pi using Jasper

Add voice controls to your Raspberry Pi using JasperAdd voice controls to your Raspberry Pi using Jasper
Zach Zach (233)
Total time: 55 minutes 
Updated: March 7th, 2020

Jasper is an open-source voice-control platform that runs on a variety of systems, including the Raspberry Pi. You can use it to easily create a voice-controlled application that can add things to your Google Calendar, play Spotify playlists, or even accept commands to control your entire home using a platform like OpenHab.

Today I will show you how to install and configure Jasper on your Raspberry Pi so that you can send it voice commands and have it do cool things.

Jasper vs. Alexa Recently, Amazon has open-sourced Alexa, the voice-control platform used in its Amazon Echo. Because Alexa is newer, it has fewer prebuilt modules and integrations than Jasper does; in addition, Jasper utilizes a number of different Speech To Text (STT) and Text To Speech (TTS) engines and can run in offline mode, making it fundamentally different. However, the Jasper project is not as active as Alexa.

Is Jasper better than Alexa? No, it’s just different. However, because Jasper doesn’t require you to apply for a developer key like Alexa does, we’ll start here for Raspberry Pi voice-controlled applications.

Want to install Google Assistant or Alexa instead? Check out my Google Home smart mirror or learn how to install Alexa on the Raspberry Pi!

Here’s everything you’ll need to complete this guide:

USB microphone×1
Raspberry Pi power supply, 2A×1
Ethernet cable×1
Stereo speakers×1
MicroSD card, 32GB×1
MicroSD card reader×1
Raspberry Pi 3Raspberry Pi 3×1

If you came from the Raspberry Pi MagicMirror installation guide, then your Pi is already ready to install Jasper and you can skip to step 5. If not, download the latest Raspbian Jessie disk image and burn it onto your SD card.

Connect your Pi, USB microphone, stereo speakers, HDMI cable (optional), network cable (or WiFi dongle), and AC adapter. You don’t necessarily need to have a monitor available since we’ll be connecting remotely to the Pi to install and run Jasper, but it might be nice to have to view the output in its native environment.

Open Terminal (OS X) or Command Prompt (Windows) and find your Raspberry Pi’s IP:

ping raspberrypi

Then, connect to your Pi using the default Raspberry Pi username/password:

ssh pi@your-pis-ip
password: raspberry

For security reasons, it’s advisable to change the default Raspberry Pi username and password.

Expand filesystemExpand filesystem

Now that the image has been burned to your Pi’s SD card, we need to tell your Pi to use all available space by expanding the filesystem. Run:

sudo raspi-config

Highlight the first option and press enter. Then, press ESC to get back to the shell. Finally, reboot:

sudo reboot

Reconnect to your Pi and make sure everything is up to date:

sudo apt-get update
sudo apt-get upgrade --yes

There are three primary options to install Jasper on the Pi when using Raspbian Jessie: manually, using a disk image, or with an install script.

Option 1: Manual installation Pros: Doesn’t require moving a large image file around. Cons: Can get complicated and difficult to troubleshoot; the issue is that Raspbian Jessie is too new of an operating system version and Jasper for Raspbian Jessie is neither well-documented nor well-supported.

Option 2: Use a disk (SD card) image Pros: In theory, you install it and it works. Cons: The file is huge (I’m talking 30GBish huge); also, perhaps more importantly, no Raspbian Jessie image exists per the Jasper support forum.

Option 3: Use an install script Pros: Works great, and automates much of the leg work. Cons: Can’t think of any.

Richard Nelson/unixabg wrote a great install script that he shared on the Jasper support forum. We forked this script and made some minor changes to improve support for Raspbian Jessie. This is the script we’ll use to install.

Get the Jasper for Jessie install script:

cd ~/
wget https://raw.githubusercontent.com/Howchoo/raspi-helpers/master/scripts/jasper-installer.sh

Run the install script:

sudo chmod +x jasper-installer.sh
sudo ./jasper-installer.sh

You will now see the following:

######################################################
Welcome to the jasper-installer.sh script.
######################################################

######################################################
The installer script can install Jasper with or
without local Speech To Text (STT) support. By default
the jasper-installer.sh script will assume you want
network based STT. If you want local STT please answer
the question accordingly.

Select the desired STT support of (NETWORK or LOCAL)
(default: NETWORK) 

Edit: We’ll want to choose LOCAL because (it will break if you don’t)?

Specify whether you want local (installed directly on the pi) or network (internet access required for use) STT support. Since my Pi will always be connected to the Internet (and it’s simpler to use a remote service), I’m going to specify network:

NETWORK

It will take a bit to download and install all the necessary dependencies.

If you see an error similar to the following:

Could not open requirements file: [Errno 2] No such file or directory: '/root/jasper/client/requirements.txt'

Run:

sudo chmod +x ~/jasper/client/requirements.txt
sudo pip install --upgrade -r ~/jasper/client/requirements.txt

This will read Jasper’s required packages from requirements.txt and install/upgrade them accordingly.

Now we’ll set up our Jasper profile. This information will help us set up various integrations, localization of results, etc.

cd ~/jasper/client
python populate.py

Enter whatever information you’d like (First name, Last name, email address, phone number, time zone, etc.)

This profile will be used for certain add-ons that will provide things like weather, email notifications, text message alerts, etc.

Then, specify whether you’d rather receive notifications by text or email.

When prompted which STT (Speech to Text) engine you’d like to use, I recommend using PocketSphinx. Type the following and press enter:

sphinx

Editing your profile later The aforementioned script basically just writes to Jasper’s YAML profile file. To edit it later, run:

nano ~/.jasper/profile.yml

You can run Jasper manually by typing:

python /usr/local/lib/jasper/jasper.py

Note: The location into which you’ve installed Jasper may vary by your version of Raspbian. If you get a “not found” message try:

python /home/pi/jasper/jasper.py

You can also set Jasper to run at startup:

crontab -e

And insert the following line:

@reboot python /usr/local/lib/jasper/jasper.py;
# or, depending on your installation location:
# @reboot python /home/pi/jasper/jasper.py

Save and exit. Finally, Reboot your Pi:

sudo reboot

Troubleshooting note I ran into the following error when trying to run Jasper for the first time:

RuntimeError: hmm_dir '/usr/local/share/pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k' does not exist! Please make sure that you have set the correct hmm_dir in your profile.

To fix this, you’ll need to open up stt.py located at /usr/local/lib/jasper/client/stt.py.

vim /usr/local/lib/jasper/client/stt.py

Find the following line:

    def __init__(self, vocabulary, hmm_dir="/usr/local/share/" +
                 "pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k"):

and change it to:

    def __init__(self, vocabulary, hmm_dir="/usr/share/" +
                 "pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k"):

You just need to remove the word “local”.

Jasper is an “always listening” system, similar to Siri or Google Now. For example:

You: "Jasper"
Jasper: high beep
You: "What's the weather like tomorrow?"
Jasper: low beep
Jasper: (speaks the forecast)

Jasper comes preinstalled with a number of modules (commands) that you can use. You can also add custom modules, or create your own.

Included modules:

Time: "What's the time?"
Weather: "How's the weather?" Or, "what's the weather like tomorrow?"
News: "What's in the news?"
Gmail: "Do I have any email?"
Hacker News: "What's on Hacker News?"
Facebook Notifications: "Facebook notifications?"
Birthday: "Who has a birthday today?"
Jokes: "Tell me a knock-knock joke."
Life: "What is the meaning of life?"

Many additional modules can be installed to enhance your time with Jasper.

Google Calendar Retrieve and add events to your Google Calendar. Documentation

Spotify Speak commands to Jasper and he’ll play songs and playlists from Spotify. Documentation

OpenHab Control OpenHab using voice commands. OpenHab is an awesome open-source home automation system (that also runs on the Raspberry Pi!) Look for guides on OpenHab in the future; I’ll be posting some. Documentation

WolframAlpha WolframAlpha is an amazing computational search engine. Want to know how tall the Eiffel Tower is? Or when Paris was founded? Just ask Jasper, and he’ll ask WolframAlpha. Documentation

Movies Ask Jasper about a movie, and he’ll return information about the movie: length, IMDB rating, genre, etc. Documentation

Wikipedia Ask Jasper about a topic, and he’ll give you the Wikipedia summary of the article. Documentation

Other modules This is a fraction of the custom modules that have been written. For others not on this list, search around Github a bit.

Creating your own custom modules Want a module that will reply with the answer to an inside joke? (Or do something more useful than that?) You’re only a few lines of code away.

Problems? Questions? Post in the comments section below and I’ll do my best to help you out! Or the [Jasper Support Forum] is a great place to start.

If you’re looking for a good Jasper project to start off with, I made a voice-activated magic mirror guide that’s really straightforward.

Have fun!

Jump to step

Add voice controls to your Raspberry Pi using Jasper

Add voice controls to your Raspberry Pi using JasperAdd voice controls to your Raspberry Pi using Jasper
Zach Zach (233)
Total time: 55 minutes 
Updated: March 7th, 2020

Jasper is an open-source voice-control platform that runs on a variety of systems, including the Raspberry Pi. You can use it to easily create a voice-controlled application that can add things to your Google Calendar, play Spotify playlists, or even accept commands to control your entire home using a platform like OpenHab.

Today I will show you how to install and configure Jasper on your Raspberry Pi so that you can send it voice commands and have it do cool things.

Jasper vs. Alexa Recently, Amazon has open-sourced Alexa, the voice-control platform used in its Amazon Echo. Because Alexa is newer, it has fewer prebuilt modules and integrations than Jasper does; in addition, Jasper utilizes a number of different Speech To Text (STT) and Text To Speech (TTS) engines and can run in offline mode, making it fundamentally different. However, the Jasper project is not as active as Alexa.

Is Jasper better than Alexa? No, it’s just different. However, because Jasper doesn’t require you to apply for a developer key like Alexa does, we’ll start here for Raspberry Pi voice-controlled applications.

Want to install Google Assistant or Alexa instead? Check out my Google Home smart mirror or learn how to install Alexa on the Raspberry Pi!

Here’s everything you’ll need to complete this guide:

USB microphone×1
Raspberry Pi power supply, 2A×1
Ethernet cable×1
Stereo speakers×1
MicroSD card, 32GB×1
MicroSD card reader×1
Raspberry Pi 3Raspberry Pi 3×1

If you came from the Raspberry Pi MagicMirror installation guide, then your Pi is already ready to install Jasper and you can skip to step 5. If not, download the latest Raspbian Jessie disk image and burn it onto your SD card.

Connect your Pi, USB microphone, stereo speakers, HDMI cable (optional), network cable (or WiFi dongle), and AC adapter. You don’t necessarily need to have a monitor available since we’ll be connecting remotely to the Pi to install and run Jasper, but it might be nice to have to view the output in its native environment.

Open Terminal (OS X) or Command Prompt (Windows) and find your Raspberry Pi’s IP:

ping raspberrypi

Then, connect to your Pi using the default Raspberry Pi username/password:

ssh pi@your-pis-ip
password: raspberry

For security reasons, it’s advisable to change the default Raspberry Pi username and password.

Expand filesystemExpand filesystem

Now that the image has been burned to your Pi’s SD card, we need to tell your Pi to use all available space by expanding the filesystem. Run:

sudo raspi-config

Highlight the first option and press enter. Then, press ESC to get back to the shell. Finally, reboot:

sudo reboot

Reconnect to your Pi and make sure everything is up to date:

sudo apt-get update
sudo apt-get upgrade --yes

There are three primary options to install Jasper on the Pi when using Raspbian Jessie: manually, using a disk image, or with an install script.

Option 1: Manual installation Pros: Doesn’t require moving a large image file around. Cons: Can get complicated and difficult to troubleshoot; the issue is that Raspbian Jessie is too new of an operating system version and Jasper for Raspbian Jessie is neither well-documented nor well-supported.

Option 2: Use a disk (SD card) image Pros: In theory, you install it and it works. Cons: The file is huge (I’m talking 30GBish huge); also, perhaps more importantly, no Raspbian Jessie image exists per the Jasper support forum.

Option 3: Use an install script Pros: Works great, and automates much of the leg work. Cons: Can’t think of any.

Richard Nelson/unixabg wrote a great install script that he shared on the Jasper support forum. We forked this script and made some minor changes to improve support for Raspbian Jessie. This is the script we’ll use to install.

Get the Jasper for Jessie install script:

cd ~/
wget https://raw.githubusercontent.com/Howchoo/raspi-helpers/master/scripts/jasper-installer.sh

Run the install script:

sudo chmod +x jasper-installer.sh
sudo ./jasper-installer.sh

You will now see the following:

######################################################
Welcome to the jasper-installer.sh script.
######################################################

######################################################
The installer script can install Jasper with or
without local Speech To Text (STT) support. By default
the jasper-installer.sh script will assume you want
network based STT. If you want local STT please answer
the question accordingly.

Select the desired STT support of (NETWORK or LOCAL)
(default: NETWORK) 

Edit: We’ll want to choose LOCAL because (it will break if you don’t)?

Specify whether you want local (installed directly on the pi) or network (internet access required for use) STT support. Since my Pi will always be connected to the Internet (and it’s simpler to use a remote service), I’m going to specify network:

NETWORK

It will take a bit to download and install all the necessary dependencies.

If you see an error similar to the following:

Could not open requirements file: [Errno 2] No such file or directory: '/root/jasper/client/requirements.txt'

Run:

sudo chmod +x ~/jasper/client/requirements.txt
sudo pip install --upgrade -r ~/jasper/client/requirements.txt

This will read Jasper’s required packages from requirements.txt and install/upgrade them accordingly.

Now we’ll set up our Jasper profile. This information will help us set up various integrations, localization of results, etc.

cd ~/jasper/client
python populate.py

Enter whatever information you’d like (First name, Last name, email address, phone number, time zone, etc.)

This profile will be used for certain add-ons that will provide things like weather, email notifications, text message alerts, etc.

Then, specify whether you’d rather receive notifications by text or email.

When prompted which STT (Speech to Text) engine you’d like to use, I recommend using PocketSphinx. Type the following and press enter:

sphinx

Editing your profile later The aforementioned script basically just writes to Jasper’s YAML profile file. To edit it later, run:

nano ~/.jasper/profile.yml

You can run Jasper manually by typing:

python /usr/local/lib/jasper/jasper.py

Note: The location into which you’ve installed Jasper may vary by your version of Raspbian. If you get a “not found” message try:

python /home/pi/jasper/jasper.py

You can also set Jasper to run at startup:

crontab -e

And insert the following line:

@reboot python /usr/local/lib/jasper/jasper.py;
# or, depending on your installation location:
# @reboot python /home/pi/jasper/jasper.py

Save and exit. Finally, Reboot your Pi:

sudo reboot

Troubleshooting note I ran into the following error when trying to run Jasper for the first time:

RuntimeError: hmm_dir '/usr/local/share/pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k' does not exist! Please make sure that you have set the correct hmm_dir in your profile.

To fix this, you’ll need to open up stt.py located at /usr/local/lib/jasper/client/stt.py.

vim /usr/local/lib/jasper/client/stt.py

Find the following line:

    def __init__(self, vocabulary, hmm_dir="/usr/local/share/" +
                 "pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k"):

and change it to:

    def __init__(self, vocabulary, hmm_dir="/usr/share/" +
                 "pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k"):

You just need to remove the word “local”.

Jasper is an “always listening” system, similar to Siri or Google Now. For example:

You: "Jasper"
Jasper: high beep
You: "What's the weather like tomorrow?"
Jasper: low beep
Jasper: (speaks the forecast)

Jasper comes preinstalled with a number of modules (commands) that you can use. You can also add custom modules, or create your own.

Included modules:

Time: "What's the time?"
Weather: "How's the weather?" Or, "what's the weather like tomorrow?"
News: "What's in the news?"
Gmail: "Do I have any email?"
Hacker News: "What's on Hacker News?"
Facebook Notifications: "Facebook notifications?"
Birthday: "Who has a birthday today?"
Jokes: "Tell me a knock-knock joke."
Life: "What is the meaning of life?"

Many additional modules can be installed to enhance your time with Jasper.

Google Calendar Retrieve and add events to your Google Calendar. Documentation

Spotify Speak commands to Jasper and he’ll play songs and playlists from Spotify. Documentation

OpenHab Control OpenHab using voice commands. OpenHab is an awesome open-source home automation system (that also runs on the Raspberry Pi!) Look for guides on OpenHab in the future; I’ll be posting some. Documentation

WolframAlpha WolframAlpha is an amazing computational search engine. Want to know how tall the Eiffel Tower is? Or when Paris was founded? Just ask Jasper, and he’ll ask WolframAlpha. Documentation

Movies Ask Jasper about a movie, and he’ll return information about the movie: length, IMDB rating, genre, etc. Documentation

Wikipedia Ask Jasper about a topic, and he’ll give you the Wikipedia summary of the article. Documentation

Other modules This is a fraction of the custom modules that have been written. For others not on this list, search around Github a bit.

Creating your own custom modules Want a module that will reply with the answer to an inside joke? (Or do something more useful than that?) You’re only a few lines of code away.

Problems? Questions? Post in the comments section below and I’ll do my best to help you out! Or the [Jasper Support Forum] is a great place to start.

If you’re looking for a good Jasper project to start off with, I made a voice-activated magic mirror guide that’s really straightforward.

Have fun!

Add voice controls to your Raspberry Pi using Jasper

Add voice controls to your Raspberry Pi using JasperAdd voice controls to your Raspberry Pi using Jasper
Zach Zach (233)
Total time: 55 minutes 
Updated: March 7th, 2020

Jasper is an open-source voice-control platform that runs on a variety of systems, including the Raspberry Pi. You can use it to easily create a voice-controlled application that can add things to your Google Calendar, play Spotify playlists, or even accept commands to control your entire home using a platform like OpenHab.

Today I will show you how to install and configure Jasper on your Raspberry Pi so that you can send it voice commands and have it do cool things.

Jasper vs. Alexa Recently, Amazon has open-sourced Alexa, the voice-control platform used in its Amazon Echo. Because Alexa is newer, it has fewer prebuilt modules and integrations than Jasper does; in addition, Jasper utilizes a number of different Speech To Text (STT) and Text To Speech (TTS) engines and can run in offline mode, making it fundamentally different. However, the Jasper project is not as active as Alexa.

Is Jasper better than Alexa? No, it’s just different. However, because Jasper doesn’t require you to apply for a developer key like Alexa does, we’ll start here for Raspberry Pi voice-controlled applications.

Want to install Google Assistant or Alexa instead? Check out my Google Home smart mirror or learn how to install Alexa on the Raspberry Pi!

Here’s everything you’ll need to complete this guide:

USB microphone×1
Raspberry Pi power supply, 2A×1
Ethernet cable×1
Stereo speakers×1
MicroSD card, 32GB×1
MicroSD card reader×1
Raspberry Pi 3Raspberry Pi 3×1

Add voice controls to your Raspberry Pi using Jasper

pimagicmirrorjasper
Zach Zach (233)
Total time: 55 minutes 
Updated: March 7th, 2020
Zach
66
43
 
8
Mentioned here
Build Your Own Google Home-Enabled Smart Mirror in About Two Hours Build Your Own Google Home-Enabled Smart Mirror in About Two HoursMagic mirror, on the wall, turn off the lights.
Build Your Own Raspberry Pi Amazon Echo Build Your Own Raspberry Pi Amazon EchoHello, Alexa Voice Service.
Build Your Own Google Home-Enabled Smart Mirror in About Two HoursBuild Your Own Raspberry Pi Amazon Echo

Here’s everything you’ll need to complete this guide:

USB microphone×1
Raspberry Pi power supply, 2A×1
Ethernet cable×1
Stereo speakers×1
MicroSD card, 32GB×1
MicroSD card reader×1
Raspberry Pi 3Raspberry Pi 3×1
USB microphone×1
Raspberry Pi power supply, 2A×1
Ethernet cable×1
Stereo speakers×1
MicroSD card, 32GB×1
MicroSD card reader×1
Raspberry Pi 3Raspberry Pi 3×1
Raspberry Pi 3
Jump to step
Calling all writers!

We’re hiring. Write for Howchoo

66
43
 
8
In these interests
pi
PRIMARY
215 guides
magicmirror
4 guides
jasper
1 guide
pi
PRIMARY
215 guides
magicmirror
4 guides
jasper
1 guide
PRIMARY
Jump to step

If you came from the Raspberry Pi MagicMirror installation guide, then your Pi is already ready to install Jasper and you can skip to step 5. If not, download the latest Raspbian Jessie disk image and burn it onto your SD card.

Connect your Pi, USB microphone, stereo speakers, HDMI cable (optional), network cable (or WiFi dongle), and AC adapter. You don’t necessarily need to have a monitor available since we’ll be connecting remotely to the Pi to install and run Jasper, but it might be nice to have to view the output in its native environment.

Open Terminal (OS X) or Command Prompt (Windows) and find your Raspberry Pi’s IP:

ping raspberrypi

Then, connect to your Pi using the default Raspberry Pi username/password:

ssh pi@your-pis-ip
password: raspberry

For security reasons, it’s advisable to change the default Raspberry Pi username and password.

Expand filesystemExpand filesystem

Now that the image has been burned to your Pi’s SD card, we need to tell your Pi to use all available space by expanding the filesystem. Run:

sudo raspi-config

Highlight the first option and press enter. Then, press ESC to get back to the shell. Finally, reboot:

sudo reboot

Reconnect to your Pi and make sure everything is up to date:

sudo apt-get update
sudo apt-get upgrade --yes

There are three primary options to install Jasper on the Pi when using Raspbian Jessie: manually, using a disk image, or with an install script.

Option 1: Manual installation Pros: Doesn’t require moving a large image file around. Cons: Can get complicated and difficult to troubleshoot; the issue is that Raspbian Jessie is too new of an operating system version and Jasper for Raspbian Jessie is neither well-documented nor well-supported.

Option 2: Use a disk (SD card) image Pros: In theory, you install it and it works. Cons: The file is huge (I’m talking 30GBish huge); also, perhaps more importantly, no Raspbian Jessie image exists per the Jasper support forum.

Option 3: Use an install script Pros: Works great, and automates much of the leg work. Cons: Can’t think of any.

Richard Nelson/unixabg wrote a great install script that he shared on the Jasper support forum. We forked this script and made some minor changes to improve support for Raspbian Jessie. This is the script we’ll use to install.

Get the Jasper for Jessie install script:

cd ~/
wget https://raw.githubusercontent.com/Howchoo/raspi-helpers/master/scripts/jasper-installer.sh

Run the install script:

sudo chmod +x jasper-installer.sh
sudo ./jasper-installer.sh

You will now see the following:

######################################################
Welcome to the jasper-installer.sh script.
######################################################

######################################################
The installer script can install Jasper with or
without local Speech To Text (STT) support. By default
the jasper-installer.sh script will assume you want
network based STT. If you want local STT please answer
the question accordingly.

Select the desired STT support of (NETWORK or LOCAL)
(default: NETWORK) 

Edit: We’ll want to choose LOCAL because (it will break if you don’t)?

Specify whether you want local (installed directly on the pi) or network (internet access required for use) STT support. Since my Pi will always be connected to the Internet (and it’s simpler to use a remote service), I’m going to specify network:

NETWORK

It will take a bit to download and install all the necessary dependencies.

If you see an error similar to the following:

Could not open requirements file: [Errno 2] No such file or directory: '/root/jasper/client/requirements.txt'

Run:

sudo chmod +x ~/jasper/client/requirements.txt
sudo pip install --upgrade -r ~/jasper/client/requirements.txt

This will read Jasper’s required packages from requirements.txt and install/upgrade them accordingly.

Now we’ll set up our Jasper profile. This information will help us set up various integrations, localization of results, etc.

cd ~/jasper/client
python populate.py

Enter whatever information you’d like (First name, Last name, email address, phone number, time zone, etc.)

This profile will be used for certain add-ons that will provide things like weather, email notifications, text message alerts, etc.

Then, specify whether you’d rather receive notifications by text or email.

When prompted which STT (Speech to Text) engine you’d like to use, I recommend using PocketSphinx. Type the following and press enter:

sphinx

Editing your profile later The aforementioned script basically just writes to Jasper’s YAML profile file. To edit it later, run:

nano ~/.jasper/profile.yml

You can run Jasper manually by typing:

python /usr/local/lib/jasper/jasper.py

Note: The location into which you’ve installed Jasper may vary by your version of Raspbian. If you get a “not found” message try:

python /home/pi/jasper/jasper.py

You can also set Jasper to run at startup:

crontab -e

And insert the following line:

@reboot python /usr/local/lib/jasper/jasper.py;
# or, depending on your installation location:
# @reboot python /home/pi/jasper/jasper.py

Save and exit. Finally, Reboot your Pi:

sudo reboot

Troubleshooting note I ran into the following error when trying to run Jasper for the first time:

RuntimeError: hmm_dir '/usr/local/share/pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k' does not exist! Please make sure that you have set the correct hmm_dir in your profile.

To fix this, you’ll need to open up stt.py located at /usr/local/lib/jasper/client/stt.py.

vim /usr/local/lib/jasper/client/stt.py

Find the following line:

    def __init__(self, vocabulary, hmm_dir="/usr/local/share/" +
                 "pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k"):

and change it to:

    def __init__(self, vocabulary, hmm_dir="/usr/share/" +
                 "pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k"):

You just need to remove the word “local”.

Jasper is an “always listening” system, similar to Siri or Google Now. For example:

You: "Jasper"
Jasper: high beep
You: "What's the weather like tomorrow?"
Jasper: low beep
Jasper: (speaks the forecast)

Jasper comes preinstalled with a number of modules (commands) that you can use. You can also add custom modules, or create your own.

Included modules:

Time: "What's the time?"
Weather: "How's the weather?" Or, "what's the weather like tomorrow?"
News: "What's in the news?"
Gmail: "Do I have any email?"
Hacker News: "What's on Hacker News?"
Facebook Notifications: "Facebook notifications?"
Birthday: "Who has a birthday today?"
Jokes: "Tell me a knock-knock joke."
Life: "What is the meaning of life?"

Many additional modules can be installed to enhance your time with Jasper.

Google Calendar Retrieve and add events to your Google Calendar. Documentation

Spotify Speak commands to Jasper and he’ll play songs and playlists from Spotify. Documentation

OpenHab Control OpenHab using voice commands. OpenHab is an awesome open-source home automation system (that also runs on the Raspberry Pi!) Look for guides on OpenHab in the future; I’ll be posting some. Documentation

WolframAlpha WolframAlpha is an amazing computational search engine. Want to know how tall the Eiffel Tower is? Or when Paris was founded? Just ask Jasper, and he’ll ask WolframAlpha. Documentation

Movies Ask Jasper about a movie, and he’ll return information about the movie: length, IMDB rating, genre, etc. Documentation

Wikipedia Ask Jasper about a topic, and he’ll give you the Wikipedia summary of the article. Documentation

Other modules This is a fraction of the custom modules that have been written. For others not on this list, search around Github a bit.

Creating your own custom modules Want a module that will reply with the answer to an inside joke? (Or do something more useful than that?) You’re only a few lines of code away.

Problems? Questions? Post in the comments section below and I’ll do my best to help you out! Or the [Jasper Support Forum] is a great place to start.

If you’re looking for a good Jasper project to start off with, I made a voice-activated magic mirror guide that’s really straightforward.

Have fun!

If you came from the Raspberry Pi MagicMirror installation guide, then your Pi is already ready to install Jasper and you can skip to step 5. If not, download the latest Raspbian Jessie disk image and burn it onto your SD card.

If you came from the Raspberry Pi MagicMirror installation guide, then your Pi is already ready to install Jasper and you can skip to step 5. If not, download the latest Raspbian Jessie disk image and burn it onto your SD card.

Install Raspbian

Mentioned here
How to Install Magic Mirror on Your Raspberry Pi

Connect your Pi, USB microphone, stereo speakers, HDMI cable (optional), network cable (or WiFi dongle), and AC adapter. You don’t necessarily need to have a monitor available since we’ll be connecting remotely to the Pi to install and run Jasper, but it might be nice to have to view the output in its native environment.

Connect your Pi, USB microphone, stereo speakers, HDMI cable (optional), network cable (or WiFi dongle), and AC adapter. You don’t necessarily need to have a monitor available since we’ll be connecting remotely to the Pi to install and run Jasper, but it might be nice to have to view the output in its native environment.

Hook up your Pi

Open Terminal (OS X) or Command Prompt (Windows) and find your Raspberry Pi’s IP:

ping raspberrypi

Then, connect to your Pi using the default Raspberry Pi username/password:

ssh pi@your-pis-ip
password: raspberry

For security reasons, it’s advisable to change the default Raspberry Pi username and password.

Open Terminal (OS X) or Command Prompt (Windows) and find your Raspberry Pi’s IP:

ping raspberrypi

Then, connect to your Pi using the default Raspberry Pi username/password:

ssh pi@your-pis-ip
password: raspberry

For security reasons, it’s advisable to change the default Raspberry Pi username and password.

Connect to your Pi

Mentioned here
Raspberry Pi Default Username and Password
Mentioned here
How to Change the Raspberry Pi Password
Expand filesystemExpand filesystem

Now that the image has been burned to your Pi’s SD card, we need to tell your Pi to use all available space by expanding the filesystem. Run:

sudo raspi-config

Highlight the first option and press enter. Then, press ESC to get back to the shell. Finally, reboot:

sudo reboot
Expand filesystemExpand filesystem

Now that the image has been burned to your Pi’s SD card, we need to tell your Pi to use all available space by expanding the filesystem. Run:

sudo raspi-config

Highlight the first option and press enter. Then, press ESC to get back to the shell. Finally, reboot:

sudo reboot

Expand filesystem

Reconnect to your Pi and make sure everything is up to date:

sudo apt-get update
sudo apt-get upgrade --yes

Reconnect to your Pi and make sure everything is up to date:

sudo apt-get update
sudo apt-get upgrade --yes

Update everything

There are three primary options to install Jasper on the Pi when using Raspbian Jessie: manually, using a disk image, or with an install script.

Option 1: Manual installation Pros: Doesn’t require moving a large image file around. Cons: Can get complicated and difficult to troubleshoot; the issue is that Raspbian Jessie is too new of an operating system version and Jasper for Raspbian Jessie is neither well-documented nor well-supported.

Option 2: Use a disk (SD card) image Pros: In theory, you install it and it works. Cons: The file is huge (I’m talking 30GBish huge); also, perhaps more importantly, no Raspbian Jessie image exists per the Jasper support forum.

Option 3: Use an install script Pros: Works great, and automates much of the leg work. Cons: Can’t think of any.

Richard Nelson/unixabg wrote a great install script that he shared on the Jasper support forum. We forked this script and made some minor changes to improve support for Raspbian Jessie. This is the script we’ll use to install.

Get the Jasper for Jessie install script:

cd ~/
wget https://raw.githubusercontent.com/Howchoo/raspi-helpers/master/scripts/jasper-installer.sh

Run the install script:

sudo chmod +x jasper-installer.sh
sudo ./jasper-installer.sh

You will now see the following:

######################################################
Welcome to the jasper-installer.sh script.
######################################################

######################################################
The installer script can install Jasper with or
without local Speech To Text (STT) support. By default
the jasper-installer.sh script will assume you want
network based STT. If you want local STT please answer
the question accordingly.

Select the desired STT support of (NETWORK or LOCAL)
(default: NETWORK) 

Edit: We’ll want to choose LOCAL because (it will break if you don’t)?

Specify whether you want local (installed directly on the pi) or network (internet access required for use) STT support. Since my Pi will always be connected to the Internet (and it’s simpler to use a remote service), I’m going to specify network:

NETWORK

It will take a bit to download and install all the necessary dependencies.

There are three primary options to install Jasper on the Pi when using Raspbian Jessie: manually, using a disk image, or with an install script.

Option 1: Manual installation Pros: Doesn’t require moving a large image file around. Cons: Can get complicated and difficult to troubleshoot; the issue is that Raspbian Jessie is too new of an operating system version and Jasper for Raspbian Jessie is neither well-documented nor well-supported.

Option 2: Use a disk (SD card) image Pros: In theory, you install it and it works. Cons: The file is huge (I’m talking 30GBish huge); also, perhaps more importantly, no Raspbian Jessie image exists per the Jasper support forum.

Option 3: Use an install script Pros: Works great, and automates much of the leg work. Cons: Can’t think of any.

Richard Nelson/unixabg wrote a great install script that he shared on the Jasper support forum. We forked this script and made some minor changes to improve support for Raspbian Jessie. This is the script we’ll use to install.

Get the Jasper for Jessie install script:

cd ~/
wget https://raw.githubusercontent.com/Howchoo/raspi-helpers/master/scripts/jasper-installer.sh

Run the install script:

sudo chmod +x jasper-installer.sh
sudo ./jasper-installer.sh

You will now see the following:

######################################################
Welcome to the jasper-installer.sh script.
######################################################

######################################################
The installer script can install Jasper with or
without local Speech To Text (STT) support. By default
the jasper-installer.sh script will assume you want
network based STT. If you want local STT please answer
the question accordingly.

Select the desired STT support of (NETWORK or LOCAL)
(default: NETWORK) 

Edit: We’ll want to choose LOCAL because (it will break if you don’t)?

Specify whether you want local (installed directly on the pi) or network (internet access required for use) STT support. Since my Pi will always be connected to the Internet (and it’s simpler to use a remote service), I’m going to specify network:

NETWORK

It will take a bit to download and install all the necessary dependencies.

Install Jasper

If you see an error similar to the following:

Could not open requirements file: [Errno 2] No such file or directory: '/root/jasper/client/requirements.txt'

Run:

sudo chmod +x ~/jasper/client/requirements.txt
sudo pip install --upgrade -r ~/jasper/client/requirements.txt

This will read Jasper’s required packages from requirements.txt and install/upgrade them accordingly.

If you see an error similar to the following:

Could not open requirements file: [Errno 2] No such file or directory: '/root/jasper/client/requirements.txt'

Run:

sudo chmod +x ~/jasper/client/requirements.txt
sudo pip install --upgrade -r ~/jasper/client/requirements.txt

This will read Jasper’s required packages from requirements.txt and install/upgrade them accordingly.

Troubleshooting

Now we’ll set up our Jasper profile. This information will help us set up various integrations, localization of results, etc.

cd ~/jasper/client
python populate.py

Enter whatever information you’d like (First name, Last name, email address, phone number, time zone, etc.)

This profile will be used for certain add-ons that will provide things like weather, email notifications, text message alerts, etc.

Then, specify whether you’d rather receive notifications by text or email.

When prompted which STT (Speech to Text) engine you’d like to use, I recommend using PocketSphinx. Type the following and press enter:

sphinx

Editing your profile later The aforementioned script basically just writes to Jasper’s YAML profile file. To edit it later, run:

nano ~/.jasper/profile.yml

Now we’ll set up our Jasper profile. This information will help us set up various integrations, localization of results, etc.

cd ~/jasper/client
python populate.py

Enter whatever information you’d like (First name, Last name, email address, phone number, time zone, etc.)

This profile will be used for certain add-ons that will provide things like weather, email notifications, text message alerts, etc.

Then, specify whether you’d rather receive notifications by text or email.

When prompted which STT (Speech to Text) engine you’d like to use, I recommend using PocketSphinx. Type the following and press enter:

sphinx

Editing your profile later The aforementioned script basically just writes to Jasper’s YAML profile file. To edit it later, run:

nano ~/.jasper/profile.yml

Create your Jasper user profile

You can run Jasper manually by typing:

python /usr/local/lib/jasper/jasper.py

Note: The location into which you’ve installed Jasper may vary by your version of Raspbian. If you get a “not found” message try:

python /home/pi/jasper/jasper.py

You can also set Jasper to run at startup:

crontab -e

And insert the following line:

@reboot python /usr/local/lib/jasper/jasper.py;
# or, depending on your installation location:
# @reboot python /home/pi/jasper/jasper.py

Save and exit. Finally, Reboot your Pi:

sudo reboot

Troubleshooting note I ran into the following error when trying to run Jasper for the first time:

RuntimeError: hmm_dir '/usr/local/share/pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k' does not exist! Please make sure that you have set the correct hmm_dir in your profile.

To fix this, you’ll need to open up stt.py located at /usr/local/lib/jasper/client/stt.py.

vim /usr/local/lib/jasper/client/stt.py

Find the following line:

    def __init__(self, vocabulary, hmm_dir="/usr/local/share/" +
                 "pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k"):

and change it to:

    def __init__(self, vocabulary, hmm_dir="/usr/share/" +
                 "pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k"):

You just need to remove the word “local”.

You can run Jasper manually by typing:

python /usr/local/lib/jasper/jasper.py

Note: The location into which you’ve installed Jasper may vary by your version of Raspbian. If you get a “not found” message try:

python /home/pi/jasper/jasper.py

You can also set Jasper to run at startup:

crontab -e

And insert the following line:

@reboot python /usr/local/lib/jasper/jasper.py;
# or, depending on your installation location:
# @reboot python /home/pi/jasper/jasper.py

Save and exit. Finally, Reboot your Pi:

sudo reboot

Troubleshooting note I ran into the following error when trying to run Jasper for the first time:

RuntimeError: hmm_dir '/usr/local/share/pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k' does not exist! Please make sure that you have set the correct hmm_dir in your profile.

To fix this, you’ll need to open up stt.py located at /usr/local/lib/jasper/client/stt.py.

vim /usr/local/lib/jasper/client/stt.py

Find the following line:

    def __init__(self, vocabulary, hmm_dir="/usr/local/share/" +
                 "pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k"):

and change it to:

    def __init__(self, vocabulary, hmm_dir="/usr/share/" +
                 "pocketsphinx/model/hmm/en_US/hub4wsj_sc_8k"):

You just need to remove the word “local”.

Running Jasper

Jasper is an “always listening” system, similar to Siri or Google Now. For example:

You: "Jasper"
Jasper: high beep
You: "What's the weather like tomorrow?"
Jasper: low beep
Jasper: (speaks the forecast)

Jasper comes preinstalled with a number of modules (commands) that you can use. You can also add custom modules, or create your own.

Included modules:

Time: "What's the time?"
Weather: "How's the weather?" Or, "what's the weather like tomorrow?"
News: "What's in the news?"
Gmail: "Do I have any email?"
Hacker News: "What's on Hacker News?"
Facebook Notifications: "Facebook notifications?"
Birthday: "Who has a birthday today?"
Jokes: "Tell me a knock-knock joke."
Life: "What is the meaning of life?"

Jasper is an “always listening” system, similar to Siri or Google Now. For example:

You: "Jasper"
Jasper: high beep
You: "What's the weather like tomorrow?"
Jasper: low beep
Jasper: (speaks the forecast)

Jasper comes preinstalled with a number of modules (commands) that you can use. You can also add custom modules, or create your own.

Included modules:

Time: "What's the time?"
Weather: "How's the weather?" Or, "what's the weather like tomorrow?"
News: "What's in the news?"
Gmail: "Do I have any email?"
Hacker News: "What's on Hacker News?"
Facebook Notifications: "Facebook notifications?"
Birthday: "Who has a birthday today?"
Jokes: "Tell me a knock-knock joke."
Life: "What is the meaning of life?"

Using Jasper

Many additional modules can be installed to enhance your time with Jasper.

Google Calendar Retrieve and add events to your Google Calendar. Documentation

Spotify Speak commands to Jasper and he’ll play songs and playlists from Spotify. Documentation

OpenHab Control OpenHab using voice commands. OpenHab is an awesome open-source home automation system (that also runs on the Raspberry Pi!) Look for guides on OpenHab in the future; I’ll be posting some. Documentation

WolframAlpha WolframAlpha is an amazing computational search engine. Want to know how tall the Eiffel Tower is? Or when Paris was founded? Just ask Jasper, and he’ll ask WolframAlpha. Documentation

Movies Ask Jasper about a movie, and he’ll return information about the movie: length, IMDB rating, genre, etc. Documentation

Wikipedia Ask Jasper about a topic, and he’ll give you the Wikipedia summary of the article. Documentation

Other modules This is a fraction of the custom modules that have been written. For others not on this list, search around Github a bit.

Creating your own custom modules Want a module that will reply with the answer to an inside joke? (Or do something more useful than that?) You’re only a few lines of code away.

Many additional modules can be installed to enhance your time with Jasper.

Google Calendar Retrieve and add events to your Google Calendar. Documentation

Spotify Speak commands to Jasper and he’ll play songs and playlists from Spotify. Documentation

OpenHab Control OpenHab using voice commands. OpenHab is an awesome open-source home automation system (that also runs on the Raspberry Pi!) Look for guides on OpenHab in the future; I’ll be posting some. Documentation

WolframAlpha WolframAlpha is an amazing computational search engine. Want to know how tall the Eiffel Tower is? Or when Paris was founded? Just ask Jasper, and he’ll ask WolframAlpha. Documentation

Movies Ask Jasper about a movie, and he’ll return information about the movie: length, IMDB rating, genre, etc. Documentation

Wikipedia Ask Jasper about a topic, and he’ll give you the Wikipedia summary of the article. Documentation

Other modules This is a fraction of the custom modules that have been written. For others not on this list, search around Github a bit.

Creating your own custom modules Want a module that will reply with the answer to an inside joke? (Or do something more useful than that?) You’re only a few lines of code away.

Custom modules

Problems? Questions? Post in the comments section below and I’ll do my best to help you out! Or the [Jasper Support Forum] is a great place to start.

If you’re looking for a good Jasper project to start off with, I made a voice-activated magic mirror guide that’s really straightforward.

Have fun!

Problems? Questions? Post in the comments section below and I’ll do my best to help you out! Or the [Jasper Support Forum] is a great place to start.

If you’re looking for a good Jasper project to start off with, I made a voice-activated magic mirror guide that’s really straightforward.

Have fun!

Further Reading

Mentioned here
Build a Voice-Controlled DIY Raspberry Pi Smart Mirror with Jasper
Calling all writers!

We’re hiring. Write for Howchoo

Zach's profile pictureZach
Joined in 2015
Web developer, designer, tinkerer, and beer enthusiast living in Tampa, Florida.
Zach's profile picturehowchoo
Share this guide!
RedditEmailTextPinterest
Related to this guide:
Best Raspberry Pi Beginngers BooksBest Raspberry Pi Beginngers Books
For Raspberry Pi beginners who still love to follow along in a book.
Michael's profile picture MichaelView
In these interests: booksretropiepi
Astro Pi on the ISSAstro Pi on the ISS
What’s better than an experiment? An experiment in space!
Michael's profile picture MichaelView
In these interests: kidspinews
Best Raspberry Pi Beginngers BooksBest Raspberry Pi Beginngers Books
For Raspberry Pi beginners who still love to follow along in a book.
Michael's profile picture MichaelView
In these interests: booksretropiepi
Michael's profile pictureViewbooksretropiepi
Astro Pi on the ISSAstro Pi on the ISS
What’s better than an experiment? An experiment in space!
Michael's profile picture MichaelView
In these interests: kidspinews
Michael's profile pictureViewkidspinewsAsh's profile pictureViewpi
People also read:
The Kali Linux and Raspberry Pi logos, side by side
Kali Linux is a great distribution for Raspberry Pi users who want to get to grips with security testing.
Raspberry Pi Web Server LAMP Stack
The Raspberry Pi micro-computer grows in power with each new model release, with more resources that make it a more capable, low-cost content server for your media and resources.
NEMS and Raspberry Pi Logos
Laptops, smartphones, tablets, even lightbulbs—an endless number of devices now have the ability to connect to your local network and the wider internet.
How to Boot Your Raspberry Pi 4 From a USB Drive
The Raspberry Pi was designed to boot from an SD card, but in some cases, it’s convenient to boot from a USB drive.
Raspberry Pi OS
Get the new official Raspberry Pi OS on your Pi.
Raspberry Pi FAQ
New to the Raspberry Pi? Start here.
The Pi-hole logo
Blocking ads just got easier with Pi-hole, a network-wide ad blocker for the Raspberry Pi
Raspberry Pi 4 Cases 2020
Don’t skip out on a proper case for your Pi 4.
Setting up Bluetooth on a Raspberry Pi
The only Raspberry Pi Bluetooth guide you’ll ever need.
Raspberry Pi Windows
Your favorite MS OS on the Pi.
The Kali Linux and Raspberry Pi logos, side by side
Kali Linux is a great distribution for Raspberry Pi users who want to get to grips with security testing.
Raspberry Pi Web Server LAMP Stack
The Raspberry Pi micro-computer grows in power with each new model release, with more resources that make it a more capable, low-cost content server for your media and resources.
NEMS and Raspberry Pi Logos
Laptops, smartphones, tablets, even lightbulbs—an endless number of devices now have the ability to connect to your local network and the wider internet.
How to Boot Your Raspberry Pi 4 From a USB Drive
The Raspberry Pi was designed to boot from an SD card, but in some cases, it’s convenient to boot from a USB drive.
Raspberry Pi OS
Get the new official Raspberry Pi OS on your Pi.
The Kali Linux and Raspberry Pi logos, side by side
The Kali Linux and Raspberry Pi logos, side by sideHow to Install Kali Linux on a Raspberry Pi
Raspberry Pi Web Server LAMP Stack
Raspberry Pi Web Server LAMP StackHow to Set Up a Raspberry Pi Web Server
NEMS and Raspberry Pi Logos
NEMS and Raspberry Pi LogosHow to Set Up a Raspberry Pi Network Monitor
How to Boot Your Raspberry Pi 4 From a USB Drive
How to Boot Your Raspberry Pi 4 From a USB DriveHow to Boot Your Raspberry Pi 4 From a USB Drive
Raspberry Pi OS
Raspberry Pi OSHow to Install Raspberry Pi OS on Your Raspberry Pi
Raspberry Pi FAQ
New to the Raspberry Pi? Start here.
The Pi-hole logo
Blocking ads just got easier with Pi-hole, a network-wide ad blocker for the Raspberry Pi
Raspberry Pi 4 Cases 2020
Don’t skip out on a proper case for your Pi 4.
Setting up Bluetooth on a Raspberry Pi
The only Raspberry Pi Bluetooth guide you’ll ever need.
Raspberry Pi Windows
Your favorite MS OS on the Pi.
Raspberry Pi FAQ
Raspberry Pi FAQRaspberry Pi FAQ – Everything You Need To Know
The Pi-hole logo
The Pi-hole logoPi-hole: How to Set Up and Configure Pi-hole on Raspberry Pi
Raspberry Pi 4 Cases 2020
Raspberry Pi 4 Cases 2020Best Raspberry Pi 4 Cases of 2020
Setting up Bluetooth on a Raspberry Pi
Setting up Bluetooth on a Raspberry PiHow to Set Up Bluetooth on a Raspberry Pi
Raspberry Pi Windows
Raspberry Pi WindowsHow to run Windows on the Raspberry Pi
Posted in these interests:
pipi
pi
PRIMARY
The Raspberry Pi is a small, inexpensive computer developed by the Raspberry Pi Foundation in the United Kingdom.
magicmirrormagicmirror
Mirror, mirror on the wall: who’s the nerdiest of them all?
pipi
pi
PRIMARY
The Raspberry Pi is a small, inexpensive computer developed by the Raspberry Pi Foundation in the United Kingdom.
PRIMARY
Explore
magicmirrormagicmirror
Mirror, mirror on the wall: who’s the nerdiest of them all?
ExploreExplore
Discuss this guide:
We’re hiring!
Are you a passionate writer? We want to hear from you!
We’re hiring!
Are you a passionate writer? We want to hear from you!
View openings

Want to support Howchoo? When you buy a tool or material through one of our Amazon links, we earn a small commission as an Amazon Associate.

Donate

Leave a Reply

Your email address will not be published. Required fields are marked *