We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this questionI 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 looke开发者_JAVA技巧d 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.
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.
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.
Check out sciKits Talkbox: http://projects.scipy.org/scikits/wiki/Talkbox
Unfortunutly tutorials are very restricted: http://www.ar.media.kyoto-u.ac.jp/members/david/softwares/talkbox/talkbox_doc/intro.html
Have a look at the CMU Sphinx Python library. It's developed in Java so I think that the Python libs are just wrappers for that. The project has a lot of ongoing research behind it.
Official wiki: http://cmusphinx.sourceforge.net/wiki/
Quick-start tutorial for linux here: http://probing.wikidot.com/speech-recognition-using-sphinx3-and-python
精彩评论