piwho

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


Keywords
Speaker, recognition, Raspberry, Pi, MARF, speaker-recognition
License
MIT
Install
pip install piwho==1.3.2

Documentation

Piwho

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