karen-plugin-listener 0.7.1
Project Karen: Listener Device Plugin
License: MIT
Requires Python: >=3.6
Keywords: Artificial Intelligence,AI,Personal Assistant

Project Karen: Listener (Plugin) · |GitHub license| |Python Versions| |Read the Docs| |GitHub release (latest by date)|
=======================================================================================================================

This project is dedicated to building a "Synthetic Human" which is
called Karen (for now) for which we have assigned the female gender
pronoun of "She". She has visual face recognition
(`opencv/opencv <https://github.com/opencv/opencv>`__), speech
transcription
(`mozilla/deepspeech <https://github.com/mozilla/DeepSpeech>`__), and
speech synthesis
(`festival <http://www.cstr.ed.ac.uk/projects/festival/>`__). Karen is
written in Python and is targeted primarily at the single board computer
(SBC) platforms like the `Raspberry
Pi <https://www.raspberrypi.org/>`__.

Visit our main site: https://projectkaren.ai/

Installation
------------

Karen is available as separate components that together create an
extensible environment for devices and the processing of input/output.
These components can be installed together or separately depending on
your needs. This project covers the listener plugin module alone. For
more information on all of the components please visit the
`documentation <https://docs.projectkaren.ai>`__.

The Listener plugin allows Karen to receive audio input and then process
it via Speech-to-Text for further processing in the Brain module. The
listener module must be added to a Device Container in order to
communicate with the brain. To install the listener follow the steps
below:

::

    sudo apt-get install libportaudio2 libasound2-dev python3-pyaudio

::

    pip3 install karen-device karen-plugin-listener

The listener device installation does not automatically include the
speech models although it does include a method to enable you to
download them. To download the speech models after installation execute
these steps in a python prompt or script:

::

    import karen_listener
    model_type = "pbmm"                         # use "tflite" for Raspberry Pi
    karen_listener.download_models(model_type)  # Downloads models for deepspeech

See more details in the `configuration
overview <https://docs.projectkaren.ai/en/latest/config.overview/>`__ on
how to include a listener device in your device container configuration.
It will then be started with the Device Container in which it is
included.

::

    import karen_device, karen_listener

    brain_url = "http://localhost:8080"
    device = karen_device.DeviceContainer(brain_url=brain_url)
    listener = karen_listener.Listener(callback=device.callbackHandler)
    device.addDevice("karen_listener.Listener", listener, autoStart=True)
    device.start()
    device.wait()

Additional Documentation
------------------------

To read more about Karen and all the components available please visit:
https://docs.projectkaren.ai

--------------

Help & Support
--------------

Help and additional details is available at https://projectkaren.ai

.. |GitHub license| image:: https://img.shields.io/github/license/lnxusr1/karen-listener
   :target: https://github.com/lnxusr1/karen-listener/blob/master/LICENSE
.. |Python Versions| image:: https://img.shields.io/pypi/pyversions/yt2mp3.svg
.. |Read the Docs| image:: https://img.shields.io/readthedocs/project-karen
.. |GitHub release (latest by date)| image:: https://img.shields.io/github/v/release/lnxusr1/karen-listener