Easy installer for running Amazon AVS Device SDK on Raspberry Pi

Overview

avs-device-sdk-pi

Scripts to enable Alexa voice activation using Picovoice Porcupine


If you like the work, find it useful and if you would like to get me a 😄 paypal


  1. Follow Amazon's official setup guide from here for the installation procedure.
  2. After the completion of the Alexa installation, install the requisites for Picovoice porcupine using:
sudo apt-get update     
sudo apt-get install python3-pip wmctrl xdotool   
pip3 install pvporcupine    
pip3 install pvrecorder    
  1. Download the alexa_picovoice_trigger.py file from this git.
  2. Create the Access Key in Picovoice console and download the keyword from Picovoice Porcupine git.
  3. For voice activation, open a terminal and enter the following:
wmctrl -l    

Note the id value of the terminal in the extreme left.
6. Start the Alexa's Startsample.sh script from the same terminal.
7. Open the alexa_picovoice_trigger.py script and change the id value given here with the id value noted.
7. Start the Picovoice porcupine trigger using the following syntax:

python3 /home/pi/alexa_picovoice_trigger.py --access_key ${ACCESS_KEY} --keyword_paths ${KEYWORD_PATH_ONE}       
  1. Now, Alexa can be triggered with Picovoice Porcupine wakeword engine.
Comments
  • Can not start porcupine trigger - no connection to AlexaPi

    Can not start porcupine trigger - no connection to AlexaPi

    I tried the following script: python3 /home/pi/avs-device-sdk-pi/Alexa/alexa_picovoice_trigger.py --access_key 9EEydeESEgnvO/OhArD9yZ8trm7k+o770CXwLEE9orxxxxxx== --keyword_paths /home/pi/alexa_rasperry-pi.ppn

    And I get the following answer:

    Traceback (most recent call last): File "/home/pi/avs-device-sdk-pi/Alexa/alexa_picovoice_trigger.py", line 218, in main() File "/home/pi/avs-device-sdk-pi/Alexa/alexa_picovoice_trigger.py", line 214, in main input_device_index=args.audio_device_index).run() File "/home/pi/avs-device-sdk-pi/Alexa/alexa_picovoice_trigger.py", line 73, in run s.connect(('localhost', SOCKET_PORT)) ConnectionRefusedError: [Errno 111] Connection refused

    AlexPi works with "T"-command. How can I solve the problem?

    opened by rchobby-net 13
  • Sensitivity changing

    Sensitivity changing

    Hi, I've tried to set the sensitivity of the trigger word on a higher level in the script, but when I run there's a error message? How can I change it correctly? Also in my web research there's nothing to find about the sensitivity parameter.

    Thank you for the Help and an great evening!

    opened by Mambo-beep 5
  • Script error

    Script error

    Hello, I get this error when I run the script, key and wake word are OK Traceback (most recent call last): File "/home/pi/avs-device-sdk-pi/Alexa/alexa_picovoice_trigger.py", line 214, in main() File "/home/pi/avs-device-sdk-pi/Alexa/alexa_picovoice_trigger.py", line 210, in main input_device_index=args.audio_device_index).run() File "/home/pi/avs-device-sdk-pi/Alexa/alexa_picovoice_trigger.py", line 72, in run s.connect(('localhost', SOCKET_PORT)) ConnectionRefusedError: [Errno 111] Connection refused Thanks

    opened by alsacian 5
  • No module named 'pvporcupine'

    No module named 'pvporcupine'

    Hi, i installed all of the modules correctly and without any errors, but when i start the script, this error message appears:

    sudo python3 /home/pi/alexa_picovoice_trigger.py --access_key $k6GpIxhfnqIM7w1yDkxGO5ybGcPx9kRA6GkjwzR/evkDICMw713jEw== --keyword_paths $/home/pi/alexa_raspberry-pi.ppn
    Traceback (most recent call last):
      File "/home/pi/alexa_picovoice_trigger.py", line 20, in <module>
        import pvporcupine
    ModuleNotFoundError: No module named 'pvporcupine'
    

    Can someone help me with this?

    opened by Mambo-beep 4
  • [ERROR] keyword file has incorrect format or belongs to a different platform [ERROR] loading keyword file at '~/alexa_linux.ppn' failed with 'INVALID_ARGUMENT'

    [ERROR] keyword file has incorrect format or belongs to a different platform [ERROR] loading keyword file at '~/alexa_linux.ppn' failed with 'INVALID_ARGUMENT'

    Hey shivasiddharth, Thanks for sharing this project. I've installed Alexa SDK on Linux, ubuntu. Instead of getting alexa_rasberry-pi.ppn I download alexa_linux.ppn, however, I get this error: [ERROR] keyword file has incorrect format or belongs to a different platform [ERROR] loading keyword file at '/home/c2/alexa/source/voice-assistant-central/avs-sdk-changes/alexa_linux.ppn' failed with 'INVALID_ARGUMENT' Any thought on this? Should I change anything in alexa_picovoice_trigger.py?

    opened by pooneh-nb 4
  • I have 2 problemes

    I have 2 problemes

    Hi, I have 2 problème in my raspberry pi without grafic interface : wmctrl -l Cannot open display. python3 alexa_picovoice_trigger.py --access_key xxxx --keyword_paths /home/pi/avs-device-sdk-pi/alexa_raspberry-pi.ppn Traceback (most recent call last): File "alexa_picovoice_trigger.py", line 210, in main() File "alexa_picovoice_trigger.py", line 206, in main input_device_index=args.audio_device_index).run() File "alexa_picovoice_trigger.py", line 89, in run sensitivities=self._sensitivities) TypeError: create() got an unexpected keyword argument 'access_key'

    thank for your help.

    opened by theos10 1
  • "subprocess.call failed" sometimes in "alexa_picovoice_trigger.py"

    Hello, your script works really well. However, after restarting the pi, I often have the problem that the ID of the terminal window changes and then the script does not work. I then have to manually enter the new ID for the "subprocess.call" in the "alexa_picovoice_trigger.py" file. Do you have a solution for this problem that the new id is automatically detected and entered into the "alexa_picovoice_trigger.py" file? Thanks again

    opened by rchobby-net 1
  • Alexa dont hear for the wakeword during her announcements

    Alexa dont hear for the wakeword during her announcements

    After testing the application some time, i've noticed the i cant trigger Alexa during her announcements. Thats a little problem because you cant stop her reading the news or cange the volume during playing radio. Everytime i have to restart the pi or press t in the console. Do you have an Idea how to fix this? Thanks for your great support and an nice Friday evening!

    opened by thefallentoaster 0
Owner
null
Simple plug-and-play installer for users who want to LineageOS from stock firmware, or from another custom ROM.

LineageOS for the Teracube 2e Simple plug-and-play installer for users who want to LineageOS from stock firmware, or from another custom ROM. Dependen

Gagan Malvi 5 Mar 31, 2022
Installer, package manager, build wrapper and version manager for Piccolo

Piccl Installer, package manager, build wrapper and version manager for Piccolo

null 1 Dec 19, 2021
Providing a working, flexible, easier and faster installer than the one officially provided by Arch Linux

Purpose The purpose is to bring more people to Arch Linux by providing a working, flexible, easier and faster installer than the one officially provid

André Luís 0 Nov 9, 2022
A Linux program to create a Windows USB stick installer from a real Windows DVD or image.

WoeUSB-ng A Linux program to create a Windows USB stick installer from a real Windows DVD or image. This package contains two programs: woeusb: A comm

Longinus 1 Nov 19, 2021
Project repository of Apache Airflow, deployed on Docker in Amazon EC2 via GitLab.

Airflow on Docker in EC2 + GitLab's CI/CD Personal project for simple data pipeline using Airflow. Airflow will be installed inside Docker container,

Ammar Chalifah 13 Nov 29, 2022
Amazon SageMaker Delta Sharing Examples

This repository contains examples and related resources showing you how to preprocess, train, and serve your models using Amazon SageMaker with data fetched from Delta Lake.

Eitan Sela 5 May 2, 2022
Python for downloading model data (HRRR, RAP, GFS, NBM, etc.) from NOMADS, NOAA's Big Data Program partners (Amazon, Google, Microsoft), and the University of Utah Pando Archive System.

Python for downloading model data (HRRR, RAP, GFS, NBM, etc.) from NOMADS, NOAA's Big Data Program partners (Amazon, Google, Microsoft), and the University of Utah Pando Archive System.

Brian Blaylock 194 Jan 2, 2023
Python client SDK designed to simplify integrations by automating key generation and certificate enrollment using Venafi machine identity services.

This open source project is community-supported. To report a problem or share an idea, use Issues; and if you have a suggestion for fixing the issue,

Venafi, Inc. 13 Sep 27, 2022
tidevice can be used to communicate with iPhone device

h 该工具能够用于与iOS设备进行通信, 提供以下功能 截图 获取手机信息 ipa包的安装和卸载 根据bundleID 启动和停止应用 列出安装应用信息 模拟Xcode运行XCTest,常用的如启动WebDriverAgent测试

Alibaba 1.8k Dec 30, 2022
Simple utlity for sniffing decrypted HTTP/HTTPS traffic on a jailbroken iOS device into an HAR format.

Description iOS devices contain a hidden feature for sniffing decrypted HTTP/HTTPS traffic from all processes using the CFNetwork framework into an HA

null 83 Dec 25, 2022
AndroidEnv is a Python library that exposes an Android device as a Reinforcement Learning (RL) environment.

AndroidEnv is a Python library that exposes an Android device as a Reinforcement Learning (RL) environment.

DeepMind 814 Dec 26, 2022
An AI-powered device to stop people from stealing my packages.

Package Theft Prevention Device An AI-powered device to stop people from stealing my packages. Installation To install on a raspberry pi, clone the re

rydercalmdown 157 Nov 24, 2022
Easily map device and application controls to a midi controller

pymidicontroller Introduction Easily map device and application controls to a midi controller

Tane Barriball 24 May 16, 2022
Simple Python-based web application to allow UGM students to fill their QR presence list without having another device in hand.

Praesentia Praesentia is a simple Python-based web application to allow UGM students to fill their QR presence list without having another device in h

loncat 20 Sep 29, 2022
This application demonstrates IoTVAS device discovery and security assessment API integration with the Rapid7 InsightVM.

Introduction This repository hosts a sample application that demonstrates integrating Firmalyzer's IoTVAS API with the Rapid7 InsightVM platform. This

Firmalyzer BV 4 Nov 9, 2022
Script for resizing MTD partitions on a QNAP device in order to be available to upgrade from buster to bullseye

QNAP partitions resize for kirkwood devices. As explained by Marin Michlmayr, Debian bullseye support on kirkwood QNAP devices was dropped due to [mai

Arnaud Mouiche 26 Jan 5, 2023
CDM Device Checker for python

CDM Device Checker for python

zackmark29 79 Dec 14, 2022
A web UI for managing your 351ELEC device ROMs.

351ELEC WebUI A web UI for managing your 351ELEC device ROMs. Requirements Python 3 or Python 2.7 are required. If the ftfy package is installed, it w

Ben Phelps 5 Sep 26, 2022
Plugin to manage site, circuit and device diagrams and documents in Netbox

Netbox Documents Plugin A plugin designed to faciliate the storage of site, circuit and device specific documents within NetBox Note: Netbox v3.2+ is

Jason Yates 38 Dec 24, 2022