Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python Speaker Recognition [closed]

Tags:

I have an audio file, a recorded telephone conversation of 2 people, that I need to separate the voices of 2 speakers automatically. I am new to speech recognition and I looked at wave module of python but failed to find any fruitful information.

Please help how to start. Also please suggest me free python libraries which will help me in solving the problem.

like image 490
PJC Avatar asked Sep 05 '11 14:09

PJC


People also ask

Is Python speech recognition offline?

This requires an active internet connection to work. However, there are certain offline Recognition systems such as PocketSphinx, that have a very rigorous installation process that requires several dependencies. Google Speech Recognition is one of the easiest to use.

Why is my speech recognition not working?

Here are some things to check first if voice typing isn't working: Make sure the microphone you want to use is selected in Settings. To check, select Start > Settings > System > Sound > Input > Choose a device for speaking or recording.

Is Python good for speech recognition?

It allows computers to understand human language. Speech recognition is a machine's ability to listen to spoken words and identify them. You can then use speech recognition in Python to convert the spoken words into text, make a query or give a reply. You can even program some devices to respond to these spoken words.

How do I turn on auto speech recognition in Python?

Recognition of Spoken WordsPyaudio − It can be installed by using pip install Pyaudio command. SpeechRecognition − This package can be installed by using pip install SpeechRecognition. Google-Speech-API − It can be installed by using the command pip install google-api-python-client.


2 Answers

The task of separation of the speakers is not a speech recognition task, it's a speaker recognition task. In the speech comminity this task is also known as speaker diarization. There are several packages for speaker diarization and speaker recognition available for Python:

SIDEKIT from LIUM

Bob toolkit from Idiap

Speaker diarization from ISCI

In case you are not restricted to Python, there are others:

LIUM speaker diarization

Speaker recognition setup in Kaldi. Includes state of the art DNN-based i-vectors called x-vectors.

like image 135
Nikolay Shmyrev Avatar answered Oct 03 '22 08:10

Nikolay Shmyrev


Start with numpy, and I would look at spectrpgraphs (basically a rolling FFT) as a good method for distinguish different voices in an audio recording.

Here's the spectrogram function in Matplotlib:

http://matplotlib.sourceforge.net/api/pyplot_api.html#matplotlib.pyplot.specgram

I would recommend Python(x,y) if you're just getting started on a Windows platform.

like image 32
Carl F. Avatar answered Oct 03 '22 07:10

Carl F.