Giter Club home page Giter Club logo

speaker-identification-python's Introduction

speaker-Identification-System using Python (2.x)

Audio information plays a rather important role in the increasing digital content that is available today; resulting in a need for methodologies that automatically analyze such content. Speaker Identification is one of the vital field of research based upon Voice Signals. Its other notable fields are: Speech Recognition, Speech-to-Text Conversion, and vice versa, etc. Mel Frequency Cepstral Coefficient (MFCC) is considered a key factor in performing Speaker Identification. But, there are other features lists available as an alternate to MFCC; like- Linear Predictor Coefficient (LPC), Spectrum Sub-band Centroid (SSC), Rhythm, Turbulence, Line Spectral Frequency (LPF), ChromaFactor, etc. Gaussian Mixture Model (GMM) is the most popular model for training on our data. The training task can also be executed on other significant models; viz. Hidden Markov Model (HMM). Recently, most of the model training phase for a speaker identification project is executed using Deep learning; especially, Artificial Neural Networks (ANN). In this project, we are mainly focused on implementing MFCC and GMM in pair to achieve our target. We have considered MFCC with “tuned parameters” as the primary feature and delta- MFCC as secondary feature. And, we have implemented GMM with some tuned parameters to train our model. We have performed this project on two different kinds of Dataset; viz. “VoxForge” Dataset and a custom dataset which we have prepared by ourselves. We have obtained an outstanding result on both of these Datasets; viz. 100% accuracy on VoxForge Dataset and 95.29 % accuracy on self prepared Dataset. We demonstrate that speaker identification task can be performed using MFCC and GMM together with outstanding accuracy in Identification/ Diarization results.

Methodology used:

1.) Noise reduction and Silence Removal - Audacity Software

2.) Feature Extraction - featureextraction.py ( library - python_speech_features)

3.) Model Training - modeltraining.py ( GMM )

4.) testing - test.py

Documentation:

Documentation file and screenshots in documentation/ folder.

Repo Description:

SampleData/ - consists test audio files. (custom dataset)

Speakers_models/ - consists .gmm model trained files. 1 file for each speaker .( self made custom dataset)

development_set/ - Voxforge Dataset. 1 folder for each speaker voice sample.

documentation/ - contains screenshots and project file.

speaker_models/ - consists .gmm model trained files. 1 file for each speaker .( 34 speaker's model training file pff Voxforge dataset)

trainingData/ - consists training audio files. (custom datatset)

Note:- Due to oversize, only very few voice samples are kept in the Dataset Folders. viz. SampleData, trainingData, development_set. Otherwise all remaining folder's contents are available.

Screenshots:

alt txt alt txt alt txt alt txt alt txt alt txt alt txt

Credits:

Abhijeet Kumar, Spoken Speaker Identification,MachineLearninginAction, Appliedmachinelearning.

Disclaimer:

Any discripency or violation of copyright issues is just a mistake. Big Apologies for that. In such case please contact to me; I will remove that one. In case you copy any content of this repository, You are expected to mention its owner's ( MY) name with little description.

To explore the project in detail and find its hidden finctionalities , run and explore it by yourself.

speaker-identification-python's People

Contributors

atul-anand-jha avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

speaker-identification-python's Issues

Missing WAV files

I failed to execute modeltraining.py because the WAV files are missing. Would you be able to share them?

TypeError: __init__() got an unexpected keyword argument 'n_iter'

please help me with this error:

Traceback (most recent call last):
File "E:/Speaker-Identification-Python-master/Speaker-Identification-Python-master/modeltraining.py", line 44, in
gmm = GMM(n_components = 16, n_iter = 200, covariance_type='diag',n_init = 3)
TypeError: init() got an unexpected keyword argument 'n_iter'

Adopt it to python 3

i have tons of problems when i try to run this code. some libraries is changed. i give up when i get the "sklearn.mixture.gmm" not found. down grade is also not working for me. should you please instruct me how to implement these code to my project. thenk you

How to add new .wav file

Hello Greate Project,

I want to add another file for voice identification

I have followed below steps:

  1. Generate .wav file
  2. Add a file into SampleData
  3. Create a folder in trainingData and add the same file into the created folder
  4. Add my file path into tainingDataPath.txt file
  5. Add .wav file in the list of testSamplePath.txt
  6. Run featureextraction.py
  7. Run modeltraining.py
  8. Run test.py

After running test.py with 0 input I am not able to identify the voice. Also, there is no any GMM file generated.

Is there any steps I have missed?

Please let me know if you need more details.

The Accuracy Percentage for the current testing Performance with MFCC + GMM is : 0.0 %

Thank you for such great work!

Every time I try testing the audio, it gives the result, "The Accuracy Percentage for the current testing Performance with MFCC + GMM is: 0.0 %" (Both for the test data and train data also). Also, I tried with only one speaker, i.e created 221.gmm only by training the audios. And while testing, if I give different speaker audio wav files as test data, then also, it will detect the same speaker. I am I doing something wrong?

Please help. Thanks in advance.

Imort issue

Is this line correct..
from sklearn.mixture import GMM

which version are using for sklearn ?
I'm getting error.....
ImportError: cannot import name GMM

So I changed to
from sklearn.mixture import GaussianMixture as GMM
I am using python 2.7 and sklearn version 0.20.1

how about wav which haven't been trained?

thanks for your project ,I use my own datasets training to create my gmms,and the accuracy is 1.It works great.
but there is another problem,when I test the person's speech which haven't been trained ,it also print out a result obviously is false. Can you tell me how to make it directly print not in database.

How to use features extraction

Hello I just need a little help with the creation of my own dataset
I don't know how to use the features extraction.
Thank you, your project is really awesome

uhh..

Traceback (most recent call last):
File "test.py", line 29, in
models = [cPickle.load(open(fname,'r')) for fname in gmm_files]
ImportError: No module named gmm

please note that this bug is other than the one presented in issue #6

Speaker identification feature?

MFCC and Delta MFCC are the only features we need to focus on while building model on speaker identification?

If I use any different voice other than trained one it is showing the labels that is in training data and it is wrong, could you let me know why? and what to do if I need to get the model output as unknown if tested as stated?

How can I verify speaker using GMM?

Does this repo works with verification i.e the speaker not present in dataset is predicted as invalid voice i need to integrate this for login and registration with voice

please reply
thanks

FileNotFoundError: [Errno 2] No such file or directory: 'E:/Speaker-Identification-Python-master/Speaker-Identification-Python-master/development_set/Aditya-001/Aditya_2.wav'

I need help to solve this error, please.

E:\Anaconda\envs\tensor\pythonw.exe E:/Speaker-Identification-Python-master/Speaker-Identification-Python-master/modeltraining.py
Aditya-001/Aditya_1.wav
Aditya-001/Aditya_2.wav
Traceback (most recent call last):
File "E:/Speaker-Identification-Python-master/Speaker-Identification-Python-master/modeltraining.py", line 32, in
sr, audio = read(source + path)
File "E:\Anaconda\envs\tensor\lib\site-packages\scipy\io\wavfile.py", line 233, in read
fid = open(filename, 'rb')
FileNotFoundError: [Errno 2] No such file or directory: 'E:/Speaker-Identification-Python-master/Speaker-Identification-Python-master/development_set/Aditya-001/Aditya_2.wav'

Detecting as a multiple results

1586117797152687059955

Hey Atul,
I successfully converted this code into python 3, but I am facing this issue while running test.py
Instead of detecting one it is show detected each and every audio file.
Could you please help me , where I am making mistakes ??
Thankyou

Streaming/microphone

Good day Sir

I just have an inquiry whether if the program could be modified to receive the input audio from the microphone??

Is the mfcc able to accept that ot any alternative function?

Thanks a lot.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.