Giter Club home page Giter Club logo

avs-1's Introduction

Python Alexa Voice Service App

Features

  • Support Alexa Voice Service API v20160207
  • Support multiple audio players: gstreamer 1.0, mpv and mpg123
  • 支持DuerOS

Requirements

Choose a player from mpv, mpg123 and gstreamer. SpeechSynthesizer and Alerts prefer mpg123 as it is more responsive. AudioPlayer likes gstreamer > mpv > mpg123. Gstreamer supports more audio format and works well on raspberry pi. We can also specify the player of AudioPlayer using the environment variable PLAYER.

  • one of mpg123, mpv and gstreamer 1.0
  • python-pyaudio
  • respeaker python library and pocketsphinx (optional, for hands-free keyword spotting)

If you use raspberry pi and gstreamer, it is likely that gstreamer's default audio sink is GstOMXHdmiAudioSink. It ignores ALSA configurations and outputs audio to HDMI. If you don't want to use HDMI audio output, you should run sudo apt remove gstreamer1.0-omx gstreamer1.0-omx-rpi

Installation

  • For ReSpeaker Core (MT7688)

    gstreamer1.0, pyaudio and pocketsphinx and respeaker python library are already installed by default, just run pip install avs

  • For Ubuntu/Debian

    sudo apt-install mpg123 mpv sudo apt-get install gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly
    gir1.2-gstreamer-1.0 python-gi python-gst-1.0 sudo apt-get install python-pyaudio sudo pip install avs respeaker pocketsphinx # requires gcc toolchain and libpulse-dev

Get started

  1. run alexa-audio-check to check if recording & playing is OK. If RMS is not zero, recording is OK, if you can hear alarm, playing is OK

    $alexa-audio-check RMS: 41 RMS: 43

  2. run alexa-auth to login Amazon, it will save authorization information to ~/.avs.json

  3. run alexa-tap, then press Enter to talk with alexa

  4. run alexa, then use "alexa" to start with conversation with alexa, for example, "alexa, what time is it"

If you want to use a specified player, use the environment variable PLAYER to specify it, such as PLAYER=mpv alexa-tap or PLAYER=mpg123 alexa or PLAYER=gstreamer alexa

To do

  • Speaker interface
  • Notifications interface

Change Alexa Voice Service client id and product id

If you want to use your own client id and product id, try:

  1. register for an Amazon Developer Account

  2. create a file named config.json with your product_id, client_id and client_secret

    { "product_id": "x", "client_id": "y", "client_secret": "z" }

  3. run alexa-auth -c config.json

  4. run alexa-tap or alexa

License

GNU General Public License v3

Credits

This project is based on nicholas-gh/python-alexa-client

This package was created with Cookiecutter_ and the audreyr/cookiecutter-pypackage project template.

avs-1's People

Contributors

xiongyihui avatar killingjacky avatar jaffa avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.