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

Project details


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 details)

Uploaded Source

File details

Details for the file piwho-1.3.2.tar.gz.

File metadata

  • Download URL: piwho-1.3.2.tar.gz
  • Upload date:
  • Size: 882.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for piwho-1.3.2.tar.gz
Algorithm Hash digest
SHA256 9c108ef551d29fcfab547519d9e7b61b1c0227a37a5c67f59d801c97eea3fd96
MD5 715b8a91d63ff31932dffae4fdecdc5d
BLAKE2b-256 2e6800a2f1dde6eaaf3cfb713c4337cae6e450f6f83e8cc93bb9f343d7478dcb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page