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.
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
Release files for piwho 1.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| piwho-1.3.2.tar.gz | 882.8 kB | Details |
Release files / piwho-1.3.2.tar.gz
| Download URL | piwho-1.3.2.tar.gz |
|---|---|
| Size | 882.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9c108ef551d29fcfab547519d9e7b61b1c0227a37a5c67f59d801c97eea3fd96
|
|
BLAKE2b-256 checksum How to use checksums |
2e6800a2f1dde6eaaf3cfb713c4337cae6e450f6f83e8cc93bb9f343d7478dcb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |