Skip to main content

A python wrapper around MARF speaker recognition frameworkfor raspberry pi and other SBCs

Project description

Piwho is python wrapper around MARF speaker recognition framework for the Raspberry pi and other SBCs. With the Piwho you can implement speaker recognition in your projects.

https://travis-ci.org/Adirockzz95/Piwho.svg?branch=v1.3.0

Blink example

import RPi.GPIO as GPIO
import time
from piwho import recognition, vad

def blink(pin):
    GPIO.setmode(GPIO.BOARD)
    GPIO.setup(pin, GPIO.OUT)

    for i in range(0,10):
        GPIO.output(pin,GPIO.HIGH)
        time.sleep(1)
        GPIO.output(pin,GPIO.LOW)
        time.sleep(1)

if __name__ == "__main__":
   recog = recognition.SpeakerRecognizer('./')
   vad.record()
   name = recog.identify_speaker()
   if name[0] == 'Abhishek':
       blink(11)

Tested on

  • Ubuntu 15.10

  • Pi 1 model B (raspbian wheezy, jessie)

  • Pi 2 model B (raspbian wheezy, jessie, stretch)

  • CHIP

Installation

Update the Pi

$ sudo apt-get update
$ sudo apt-get upgrade

You need to have JDK (min version: 1.7) installed on your Pi.

# verify jdk is installed
$ java -version

Pyaudio is required to run audio recording script. (Optional)

# Install portaudio
$ sudo apt-get install portaudio19-dev
# Install python dev package
$ sudo apt-get install python2.7-dev
# Install pyaudio
$ pip install pyaudio

Piwho is on PyPI

$ pip install piwho

or clone the project from github

$ git clone https://www.github.com/Adirockzz95/Piwho.git
$ cd Piwho
$ python setup.py install

Tests

Tests are implemented using unittest framework:

$ pip install -r requirements.txt
$ python -m unittest discover -v ./tests

Documentation

Tips / Caveats

  • Recognition/Training time depends on the length of an audio file.

  • If possible overclock your Pi- use Turbo mode.

  • Give maxmium RAM to CPU.

  • Read MARF manual to know how the it works.

  • Recognition speed is directly proportional to the CPU power.

Misc

Here are resources/similar projects I came across while working on this project.

LICENSE

MIT

Download files

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

Source Distribution

piwho-1.3.2.tar.gz (882.8 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page