Skip to main content

Voice engine to build voice enabled applications

Project description

Voice Engine

Build Status

The library is used to create voice interface applications. It includes building blocks such as KWS (keyword spotting), DOA (Direction Of Arrival). There are also elements to measure RMS (dBFS or dB(A)).


  • pyaudio
  • numpy
  • snowboy


Install pyaudio, numpy and snowboy, use virtualenv a virtual python environment.

sudo apt install python-pyaudio python-numpy python-virtualenv
sudo apt-get install swig python-dev libatlas-base-dev build-essential make
git clone --depth 1
cd snowboy
virtualenv --system-site-packages env
source env/bin/activate
python build
python bdist_wheel
pip install dist/snowboy*.whl
cd ..
git clone
cd voice-engine
python bdist_wheel
pip install dist/*.whl

Get started

To record audio and search keyword "snowboy", see also

import time
from voice_engine.kws import KWS
from voice_engine.source import Source

src = Source()
kws = KWS()

def on_detected(keyword):
    print('found {}'.format(keyword))
kws.on_detected = on_detected

while True:
    except KeyboardInterrupt:

Building blocks

The library uses gstreamer-like elements which can be linked together as an audio pipeline. One element can connect to more than one other elements.

The topology can be:

Source --> ChannelPicker --> KWS          Source --> ChannelPicker --> KWS --> Alexa
  |                          /\
  V                        /   \
 DOA                   Alexa   Google Asissitant 

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for voice_engine, version 0.1.3
Filename, size File type Python version Upload date Hashes
Filename, size voice_engine-0.1.3-py2.py3-none-any.whl (18.7 kB) File type Wheel Python version py2.py3 Upload date Hashes View hashes
Filename, size voice-engine-0.1.3.tar.gz (443.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page