web-dev-qa-db-ja.com

Python話者認識

2人のスピーカーの声を自動的に分離する必要がある音声ファイル(2人の録音された電話での会話)があります。私は音声認識に不慣れで、pythonのwaveモジュールを見ましたが、有益な情報を見つけることができませんでした。

始める方法を手伝ってください。また、問題を解決するのに役立つ無料のpythonライブラリを提案してください。

20
PJC

話者の分離のタスクは音声認識タスクではなく、話者認識タスクです。スピーチコミュニティでは、このタスクはスピーカーのダイアリゼーションとしても知られています。 Pythonで利用可能な話者ダイアリゼーションと話者認識のパッケージがいくつかあります。

LIUMのSIDEKIT

IdiapのBobツールキット

ISCIからのスピーカーのダイアリゼーション

Pythonに制限されていない場合は、他にもあります。

LIUMスピーカーのダイアリゼーション

カルディでの話者認識の設定 。 xベクトルと呼ばれる最先端のDNNベースのiベクトルが含まれています。

15
Nikolay Shmyrev

Numpyから始めて、オーディオ録音のさまざまな声を区別するための優れた方法として、スペクトルグラフ(基本的にはローリングFFT)を検討します。

Matplotlib のスペクトログラム関数は次のとおりです。

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

Windowsプラットフォームを使い始めたばかりの場合は、 Python(x、y) をお勧めします。

4
Carl F.

SciKitsトークボックスをチェックしてください: http://projects.scipy.org/scikits/wiki/Talkbox

残念ながら、チュートリアルは非常に制限されています: http://www.ar.media.kyoto-u.ac.jp/members/david/softwares/talkbox/talkbox_doc/intro.html

2
billwild

CMU Sphinx Pythonライブラリを見てください。これはJavaで開発されているので、Python libsはただのそのためのラッパー。プロジェクトには、その背後にある多くの進行中の研究があります。

公式ウィキ: http://cmusphinx.sourceforge.net/wiki/

Linuxのクイックスタートチュートリアルはこちら: http://probing.wikidot.com/speech-recognition-using-sphinx3-and-python

0
bcoughlan